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