开发者

how to convince my manager for a rails 3 upgrade | should I upgrade to rails 3

开发者 https://www.devze.com 2023-01-15 12:49 出处:网络
We are currently running rails 2.1. My main motivation for the upgrade is the fear that gems/plugins will get rarer/unavailable/unsupported day by day for our version (,and the excitement of the late

We are currently running rails 2.1.

My main motivation for the upgrade is the fear that gems/plugins will get rarer/unavailable/unsupported day by day for our version (,and the excitement of the latest technology).

I understand there are many-many improvements that come with rails3, but probably what my manager would want to listen is the advantages that he'd get, in terms of the business.

Ours is a Saas application, load on the app is not very high, but the demand for reliability is more.

Edit :

  • Looks like my inclination towards the upgrade needs rethinking, so answers to "should I upgrade" are welcome.

  • my original开发者_运维技巧 question also needs answers - how to describe the business advantages of an upgrade from rails2.1 -> rails3.

  • The app is under active development/enhancements.


The longer you go without upgrading, the harder it will be when the time comes. Sooner or later, any actively maintained project is going to have to move up to the more recent versions, and the more versions you have to skip along the way, the harder and more risky it will be. If you upgrade regularly, it becomes a fairly simple maintenance task.

I'm afraid that going from 2.1 -> 3.0 is going to be a fairly rough one unless your app is pretty simple. You might try going from 2.1 -> 2.3.9 as a first step. However, doing it now, instead of when it's 2.1 -> 3.1 will save you heartache. Right now, everyone is focused on helping people upgrade. A year from now, there will be fewer fresh resources available and fewer people going out of their way to help people upgrade.


  • If your application is under development and is likely to have more and more features over the months to come then you should migrate to the newer and actively supported version.

  • If your application only needs bug fixes occasionally then you should stick to the current version.


Upgrade!

I'd say that you should definitely upgrade, for the reasons you stated, but don't rush it. If you have a well defined test suite everything should be ok.

Most of core Rails 2.x code works with Rails 3, you can just read the deprecation warnings and fix things one by one. You can also use the official Rails Upgrade plugin to automate the bulk of the editing.

As for the gems and plugins you use, you can check their compatibility at railsplugins.org and decide if it's worth the trouble if any.

And the elevator pitch for the boss: You said the app is under development, so upgrading later when you absolutely have to means that you have to first deal with all the issues arising under 2.x and then deal with the upgrade issues plus 3.0 issues of a much bigger app. Upgrading now saves time by saving you the trouble of having to deal with 2.x issues. And you also avoid some of the upgrade issues since your app is probably much leaner now than the heavyweight it will be when you decide to upgrade later.


Since reliability is high on priority, you should probably not upgrade unless it's absolutely required. Some unforeseen issue is bound to come up.

To address the excitement of the latest technology, you can always try out new plugins and Rails 3 offline.

Businesses should not be sandboxes of developers. Nor should development be Resume Driven.

But that's just my opinion. :)


There are several reasons to upgrade, all of which are under the assumption that the app is and will continue to be under active development.

  • Integration with 3rd party software- for example, rails 1 did not have ActiveSupport. An app remaining on rails1 all through say rails 2 might want to integrate with a 3rd party API that primarily supports restful json. At that point, the sensibile path is to upgrade, but since you delayed it so long your risk of having lots of issues in the upgrade will be significantly greater than if you upgraded early.
  • Using plugins that will help with new features - if you want to add a new feature and someone has scratched your itch already, then if you are stuck on an older version of rails you will have to write that code yourself. The more code you have to write yourself, the greater the likelyhood of bugs and the more maintaince the code will likely require, depending on the function.
  • Fixing bugs in older verisons of the plugins/gems - if you encounter a bug in rails, or a plugin, or a gem, or some sort of other integration issue, it might be fixed in a later version, but what that depends on a newer version of rails. This will make your path to fixing said bug or implementing said enhancement greater the longer you wait to upgrade.
0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号