4 ms·
What will the upgrade path from 4.2x be like to 5x? Do you have to re-write your apps or is it upgradable?
by cdnsteve 11y ago
What will the upgrade path from 4.2x be like to 5x?
Do you have to re-write your apps or is it upgradable?
- dasil003 11y agoMy company's main app (~50k LOC acording to rake stats) has been upgraded continuously from 1.2 up to 4.2. The most painful upgrade was 2.3 to 3.0, followed closely by 3.0 to 3.1 (which was incidentally painful because of a performance regression affecting ruby 1.8, so we had to simultaneously do the 1.9 upgrade at the same time which was the most painful ruby upgrade of recent memory). Since then the upgrades have been easier. From what I've seen 5.0 should be on par with the 4.x upgrades, which is to say, not bad. YMMV of course.
- jon-wood 11y agoThat's pretty impressive - we've basically stalled at 2.3 because of the Ruby 1.8 upgrade making it near impossible to bump everything we'd need to at this point.
- dasil003 11y agoMy understanding is this also happened to GitHub and they stayed on 2.3 for years, even maintaining their own fork to handle security issues once official support lapsed. I also understand they eventually realized this wasn't viable long term and made the massive effort to get over the hump. FWIW, the memory and instrumentation improvements in Ruby 2.x alone are worth the massive effort to upgrade. Good luck!
- sandstrom 11y agoIf you want to read up on how Github transitioned, this post is useful: http://shayfrendt.com/posts/upgrading-github-to-rails-3-with-zero-downtime/ http://shayfrendt.com/posts/upgrading-github-to-rails-3-with... Getting stuck on 2.3 isn't desirable.
- brightball 11y agoOne of the projects I deal with on a daily basis is a 200k line of code monolith on 2.3. We've got a paid for version of 2.3 from a company that releases security patches for it. Everything else at the company is microservices now, but this one system still has a few million customers.
- jon-wood 11y agoYeah, we're paying for security updates to 2.3 rather than maintaining our own fork, although we do have an increasing stack of backported features. Our approach to getting off 2.3 is to extract core functionality out into smaller API driven applications, with the eventual goal of being able to turn off the monolithic 2.3 based application.
- meesterdude 11y agoIIRC, there's a service that handles the upgrades for you. found it! https://www.railsasaservice.com/ https://www.railsasaservice.com/
- dasil003 11y agoThat is genius. A huge market opportunity for sure. The question is whether they have the economics right to earn a nice profit; could be tricky, but I guess if you do it day in and day out you get it dialed in pretty well.
- jon-wood 11y agoJudging by the quote I got from them, yes, they can run very comfortably on that sort of money.
- frostmatthew 11y ago> Do you have to re-write your apps or is it upgradable Looks like a fairly painless upgrade according to http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.html#upgrading-from-rails-4-2-to-rails-5-0 http://edgeguides.rubyonrails.org/upgrading_ruby_on_rails.ht...