應用程序遷移的五個R仍然適用嗎?
譯文【51CTO.com快譯】在云計算的早期階段,Gartner定義了所謂的應用程序遷移的五個R。許多用戶發(fā)現(xiàn)這五個方法很有意思但又模糊不清,如今有人質(zhì)疑這五個R是否仍然適用。
不妨從現(xiàn)代云的角度來看待這五個R以及為什么開發(fā)人員可能需要重新思考應用程序遷移流程。
1. 重新托管(Rehost)
重新托管又叫平移,是指企業(yè)將應用程序從本地物理系統(tǒng)遷移到云端虛擬機。在此方法中,除了對云所需的部署配置參數(shù)進行一番調(diào)整外,應用程序不進行任何重大更改。
如果目標側(cè)重于服務器合并而不是應用程序現(xiàn)代化,重新托管仍然有用。然而今天,許多企業(yè)更多地關(guān)注容器而不是虛擬機,獲得可擴展性和彈性方面的更多好處。如果使用容器,企業(yè)要有標準化的部署和連接模式,這需要開發(fā)人員修改任何不適合該結(jié)構(gòu)的應用程序。
2. 重構(gòu)(Refactor)
重構(gòu)是指企業(yè)將應用程序遷移到PaaS環(huán)境而不是遷移到虛擬機。早在2011年Gartner發(fā)布五個R時,重構(gòu)和重新托管分別表示遷移到PaaS和遷移到IaaS,而今天情況較為復雜。PaaS現(xiàn)在的含義極為廣泛,常常指云提供商提供的托管資源和原生Web服務。
3. 修訂(Revise)
修訂是指企業(yè)改動應用程序以適應基于云的基礎架構(gòu)這個過程。如今,云基礎架構(gòu)包括托管以及眾多云原生服務。比如說,開發(fā)人員可以用云版本數(shù)據(jù)庫替換舊數(shù)據(jù)庫,好讓應用程序在云端更高效地運行。
4. 重建(Rebuild)
在重建期間,開發(fā)人員專門為云重寫應用程序。企業(yè)將此選項視為叉車式替換整個應用程序,這常常具有破壞性。然而在當下,重建需要更改應用程序以便使用云原生Web服務(這個過程結(jié)合重構(gòu)和修訂),或者將應用程序分解為新的云前端組件和傳統(tǒng)的事務后端組件。
許多企業(yè)將云托管的瀏覽器和移動應用程序支持功能添加到仍將在數(shù)據(jù)中心運行的舊應用程序。在這種情況下,應用程序的云托管前端是全新的,而傳統(tǒng)的后端并不大幅變化(如果有變的話)。因此,對于大多數(shù)用戶而言,重建不是應用程序遷移過程的一部分。
5. 替換(Replace)
***一個R是指替換,也就是將舊應用程序完全換成托管的SaaS版本。然而,通常只有適用于橫向或較為一般的業(yè)務應用程序的SaaS選項。核心業(yè)務應用程序很少以SaaS形式來提供,許多公司絕不會在數(shù)據(jù)中心之外的任何地方運行這類應用程序。因此,雖然企業(yè)應該明確評估市面上現(xiàn)有的SaaS選項,但今天的SaaS應用程序仍然更像是云提供商的Web服務的第三方擴展,用戶需要與自己的軟件集成起來。
改變對應用程序遷移的看法
從上面列出的幾個因素來看,五個R并不總能正確指導應用程序遷移過程。這應該不足為奇,因為云技術(shù)在以令人驚嘆的速度發(fā)展。現(xiàn)在,我們應該用兩個新的R:重新思考(Rethink)和重新設計架構(gòu)(Rearchitect)取代原來的五個R。
今天的企業(yè)并不是要將應用程序遷移到云,而是針對云重新思考應用程序設計。這使得它們能夠充分利用云原生功能和優(yōu)勢,同時為無法經(jīng)濟高效地運行的應用程序保護傳統(tǒng)數(shù)據(jù)中心基礎架構(gòu)方面的投入,或者滿足合規(guī)性要求。作為這個過程的一部分,開發(fā)人員可能常常將應用程序分解成更小的組件。
重新思考應用程序設計后,開發(fā)人員的下一步是為將在云端運行的應用程序組件重新設計架構(gòu)。清點可用的Web服務和SaaS工具,然后分配和修改應用程序的每個與云兼容的組件,使用最適合它的那個工具。
傳統(tǒng)事務處理和用戶界面組件之間明確分離的應用程序一般會被重新思考和重新設計架構(gòu),面向用戶的組件在云端運行。只有需要高度變化的資源,或者某些云服務可以提高其質(zhì)量和性能,沒有獨特用戶界面組件的應用程序才應放在云端。
原文標題:It's time to rethink app migration strategies for cloud,作者:Tom Nolle
【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】