我倾向于认为,跟上最新版本是一件好事。这并不意味着产品一发布就升级--而是在一段相对较短的时间内(3-6个月)。
升级可用于应用服务器、.NET框架、Java、数据库、第三方组件等.
我发现供应商通常提供一个从一个版本到另一个版本的相当简单的升级路径,如果升级必须跳过几个版本(例如.NET Framework1.1 -> 3.5 sp1),升级就会变得更加困难。
如果一个应用程序在生产中运行良好,没有任何问题,我可以理解不改变任何东西的愿望,并避免回归测试的开销。然而,随着自动化单元测试的广泛采用,如果一个新版本在性能和/或功能方面提供了显著的好处,那么它值得升级吗?
在我的经验中,我发现产品通常不是最新的,当产品的特定版本不再被支持时,升级到最新版本的任务往往是相当耗时和昂贵的。
我的问题是:
更新最新版本的主要系统组件(如操作系统、应用服务器、数据库、框架等)是个好主意吗?
编辑
目前,我们有OracleApplicationServer10.1.2.x,它被认证使用到JavaSDK1.4.2。最新版本的Java现在是1.6 ( 1.7目前正在开发中),高达10.1.3 (这是由SDK 1.5+认证的)。
通过升级到SDK1.5(至少),它为正在开发的新应用程序打开了使用现有基础设施使用更当前版本的支持框架(如Hibernate 3.3或iBATIS 2.3.4 )以及更晚的JSP、JSF标准等的可能性。
如果不进行这些升级,正在开发的新应用程序仅限于使用旧版本,因此将增加今后升级的时间和成本。
发布于 2009-04-20 05:03:35
根据经验,我发现在个人linux机箱上对整个操作系统进行增量升级通常是不值得的。在做了一次系统范围的升级时,百胜( yum )或After已经对我的系统进行了多次冲洗后,我通常只局限于升级那些我需要的包。特别是对于一个非GUi用户,我不记得上一次Ubuntu本身有一个致命的功能,而不是(比如说)R或gcc。
服务器是另一回事--在安全补丁上,至少你需要保持前沿。
在软件方面,升级到一个新版本并不能让你像你想象的那样领先。当您处理新版本引入的各种断点时,您将使用砍刀遍历并清除笔刷,在Stackoverflow和其他地方发布答案。
三个月后,会有其他人跟进,并从你和其他人所开辟的道路中受益,所有早期采用者都在网上发布了这些答案。你的有效领导(也许)只有一个月。
(这可能是IPhone平台或Facebook平台的例外,在这种平台上,开发时间是以天为单位的,而先发者的优势是巨大的。)
对于硬件来说,等待一段时间直到得到一个step函数跳转可能更重要。在升级之前,等待到相当于“四分之一油箱”的程度,因为等待时间越长,应用程序的step功能跳转就越大。英特尔Mac电脑的第一代可能是保证提前升级的少数几次之一,因为这次升级一夜之间就很明显了。
所有这些,我认为,作为一个概念(特别是数学)的早期采用者是至关重要的(显然)。软件是可以在您的本地盒周围玩,但海事组织肯定要等待至少2-3个月后,才能投入生产。
发布于 2009-04-20 06:02:49
先在测试系统上升级。验证。清洗,冲洗,重复。
发布于 2009-04-20 06:14:41
升级的一个很好的理由是旧系统将变得不受支持。例如,Java1.4.2已经出现了使用寿命结束,虽然有Java SE for Business (基本上是相同的产品,但有了更长的付费支持),但是升级是个好主意。
没有什么比在您需要的不受支持的产品中发现重大安全问题而没有任何更新路径更糟糕的事情了,因为较新的版本没有经过测试。
我见过几家公司花大钱买了一些产品(操作系统,硬件,.)在这些产品的寿命结束后,仅仅因为他们手头没有任何升级策略。
https://stackoverflow.com/questions/766917
复制相似问题