2009-04-20 161 views
2

我傾向於認爲跟上最新版本是件好事。這並不意味着一旦產品發佈就會升級 - 但是在相對較短的時間內(3-6個月)。升級還是不升級

升級可以爲應用程序服務器,.NET框架,Java SDK中,數據庫,第三方組件等

我發現,廠商通常提供因版本升級一個相當簡單的升級路徑如果升級必須跳過幾個版本(例如,.NET Framework 1.1 - > 3.5 SP1),則問題變得更加嚴重

如果應用程序在生產中正常運行時沒有任何問題,我可以理解不希望更改任何內容並避免開銷的迴歸測試。但是,隨着自動化單元測試的廣泛採用,如果新版本在性能和/或功能方面提供顯着優勢,那麼是否值得升級?

我發現在我的經驗中,產品通常不會保持最新,當產品的特定版本不再支持時,升級到最新版本的任務往往是相當耗時和昂貴的。

我的問題是:

它是一個好主意,隨時掌握最新與主要的系統組件,如操作系統,應用服務器,數據庫,框架等的最新版本?

編輯

目前我們對甲骨文應用服務器10.1.2.x被認證使用最多的Java SDK 1.4.2。最新版本的Java現在是1.6版本(目前1.7版本正在開發中),而Oracle應用服務器則高達10.1.3(已通過SDK 1.5+認證)。

通過升級到SDK 1.5(至少),它開闢了開發新應用程序的可能性,以便使用現有基礎架構來使用更多當前版本的支持框架,如Hibernate 3.3或iBATIS 2.3.4以及後來的標準對於JSP,JSF等。

如果這些升級沒有完成,正在開發的新應用程序僅限於使用舊版本,因此會增加未來升級的時間和成本。

+4

你有沒有具體的問題。這太模糊了,從中獲得任何實際利益。 – leora 2009-04-20 04:46:45

回答

2

我發現經驗證明,在個人Linux機器上執行整個操作系統的增量升級通常是不值得的。在進行系統範圍的升級之後,yum或apt-get在我的系統中佔用過多的時間後,我通常會限制自己只升級我需要的那些軟件包。特別是對於一個非GUi用戶,我不記得上次在Ubuntu本身有一個殺手功能,而不是(比如說)R或gcc。

服務器是另一回事 - 在安全補丁上至少你需要保持尖端。

就軟件而言,立即升級到新版本並不會像人們想象的那樣爲您提供多少先機。當你處理新版本引入的各種破壞時,你將會用大砍刀徹底清理底層刷子,在Stackoverflow和其他地方發佈答案。

然後其他人在3個月後跟隨你和其他人切斷的路徑,早期採用者在網上發佈的所有答案。你的有效領導是(也許)只有1個月。

(唯一的例外可能是像IPhone平臺或Facebook平臺,在這裏開發時間以天數和先發優勢測量是巨大的。)

IMO與硬件,它可能更重要的是要等待一段時間,直到你會得到一個跳躍功能。等待你升級之前等到'四分之一罐氣',因爲你等待的時間越長,應用程序的階躍函數跳躍就越長。第一代英特爾Mac可能是少數幾次需要提前升級的產品之一,因爲在一夜之間跳躍非常明顯。所有這一切說,我認爲是概念(尤其是數學)的早期採用者是顯而易見的(顯然)。軟件在您的本地盒子上玩是很好的,但IMO在發佈之前至少要等2-3個月才能投入生產。

1

這個問題的「正確」答案應該依賴於你正在談論的確切的軟件包/系統,以及你如何配置它。此外,某些升級可能會破壞向後兼容性 - 所以問題是:「要打破多少,需要多長時間才能解決?」

老實說,作爲一個經驗法則,我更願意在開發環境中嘗試升級,並部署到測試環境,以瞭解它會有多少工作。

的真正原因,我更喜歡把一切都在目前的版本是這樣的:

產品通常不跟上最新的,當該產品的特定版本不再支持的任務升級到最新版本往往是相當耗時和昂貴的。

我同意,並且因此喜歡每次都可以升級一些東西,而不是等待並且稍後再對所有東西進行排序。

1

保持與當前版本相當接近絕對是一個好主意。通過不升級您可以節省任何即時問題,但是您可以在以後的項目/應用程序生命週期中節省大量工作。通常情況下,那些今天作出保守決定的人,在升級的絕對關鍵需求發生時,已經很久了,因此他們「擺脫了自由」。在技​​術資源方面,我們認爲短期的痛苦比稍後的完整項目崩潰要好。

我的一個很好的例子就是在Oracle 8.0上編寫的一個大型系統,它現在仍然在Oracle 8.0上 - 它經常失敗,幾乎不可能修補,因爲該版本太舊了,並且很快就會被拋棄因爲任何人都有這樣的政治手段。目前,不進行升級的成本在停機時間,專家支持和缺乏與其他技術的兼容性方面運行時間大於1百萬美元/年。

今天底線不升級,意味着稍後花費大筆美元。

2

先在測試系統上升級。驗證。沖洗並重復。

2

升級的一個很好的理由是舊系統將不受支持。例如,Java 1.4.2已經在end of service life之上,雖然有Java SE for Business(這基本上是同一產品,但是支持更長的支付),但升級是個好主意。

沒有什麼比在不支持的產品中發現的主要安全問題更糟糕的事情,您需要並且沒有任何更新路徑,因爲新版本未經過測試。

我看到有幾家公司爲了在產品壽命結束後獲得某些產品(操作系統,硬件......)的支持而付出了大筆資金,僅僅因爲他們手頭沒有任何升級策略。