Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Extreme Makeover: Rubygems Edition

André Arko
November 07, 2013

Extreme Makeover: Rubygems Edition

Rubygems.org provides every Rubyist with an amazing service: all the libraries in the Ruby world. As amazing as that is, installing gems can be a time-consuming and even error-prone process. (Just ask the Travis guys.) In this talk, you'll learn about the recent dramatic changes in Rubygems and Bundler to improve speed and reliability by rewriting the Rubygems client/server architecture. I'll show how the new system caches more information, makes fewer requests, and takes less time to install gems. Finally, I'll cover how the changes allow worldwide mirrors of rubygems.org, improving things for Rubyists around the globe.

André Arko

November 07, 2013

More Decks by André Arko

Other Decks in Technology


  1. Extreme Makeover: Rubygems Edition

  2. André Arko @indirect

  3. None
  4. State of the Rubygems Year in Review

  5. Bundler DDoS ! ! ! ! !

  6. Bundler DDoS

  7. Security breach

  8. Rebuilt rubygems.org

  9. Travis network issues ☁️

  10. Travis DNS issues ☁️

  11. SSL failures ⚠️

  12. SSL fixes

  13. How it works today

  14. How it works today with a fast connection, at least

  15. How it works today could be better

  16. We Have A Plan

  17. We Have A Plan cache the metadata

  18. We Have A Plan put a CDN on it

  19. We Have A Plan allow local mirrors

  20. ! +

  21. What we’ve done designed the new index new index from

    bundler-api new index in bundler
  22. What’s left to do new index from rubygems.org new index

    in rubygems fastly-hosted index files
  23. The Future

  24. gem install bundler --pre bundle install -j8

  25. you can help! [email protected] @indirect