nayaread
HomeFavouritesTopicsSources
HomeFavouritesTopicsSources
NayaRead links to original engineering blogs. All copyright belongs to the respective authors.
Shopify Engineering·Nov 16, 2010·9 min read55

Shopify's path to Rails 3 - Shopify

The TL;DR version Shopify recently upgraded to Rails 3! We saw minor improvements in overall response times but what we’re most happy with is the new API – it means we get to write cleaner code and get features out faster. However, this upgrade wasn’t trivial – as one of the largest and oldest Rails apps around, the adventure involved jumping through a few hoops. Here’s what we did and what you might consider if you’ve got an established Rails app that you’re thinking of upgrading. First, some numbers The first svn check-in to Shopify was on the release date of Rails 0.5. That was in July of 2004, six years ago, which according to @tobi is “roughly 65 years in internet time”. At that time Shopify had only two active developers. Today it has eleven full time devs working on it. The Shopify codebase has over 300 files in the app/models directory, over 130 controllers, and almost 100 gem dependencies. $ find app/models/ -type f | wc -l 327 $ find app/controllers/ -type f | wc -l 131 $ bundle show | wc -l 95 Over the past 6 years Shopify has been under constant development, amassing nearly 12000 commits. This makes Shopify one of the oldest, most active Rails projects in existence. Our process There are many Rails 3 upgrade guides out there, but we didn’t try to follow any of them. We focused on doing as much as we could ahead of time to prepare for Rails 3, and then giving one big final push when 3.0 final was released. When upgrading a large app to a major release like this we found there are some things you can do to prepare yourself, but at a certain point you’ve just got to bite the bullet and make the final push to get things working. Bundler Shopify had been using Bundler in production for 9 months before making the move

Read original on shopify.engineering

Score breakdown

  • Technical depth83
  • Practical value60
  • Originality85
  • Writing quality100
  • Source reputation0
  • Recency0
  • External engagement0
  • On-site engagement0

NayaRead shows a summary and links to the original article. The full article is hosted on shopify.engineering.

More like this

Shopify Engineering

Upgrading Shopify to Rails 5 - Shopify

Jun 20, 2017·9 min read
Shopify Engineering

Shopify-Made Patterns in Our Rails Apps - Shopify

Jul 13, 2021·10 min read
Shopify Engineering

RailsConf 2022: 10 Shopify Tech Talks You Might Have Missed - Shopify

Aug 30, 2022·6 min read
Shopify Engineering

Our Favorite Moments From RailsConf 2022 - Shopify

May 24, 2022·10 min read