與IT領域中的很多事情一樣,將應用遷移到云中沒有通用的方法。實際上,企業基于很多因素選擇自己的應用遷移路徑——從應用壽命到應用是由外部還是內部開發,都會影響將應用遷移到云中的方式。
將應用遷移到公有云時,大多數IT組織選擇“直接遷移”(lift-and-shift)方式或者對應用進行重構。盡管這兩種方式都有各自優勢,但在制訂云遷移戰略時,組織應該仔細選擇。
正如其名,“直接遷移”方式選取內部應用并將其復制到云中,并不對架構或設計進行修改。
與此同時,重構方式,同樣稱為應用重構,涉及到在將應用遷移到云之前對應用進行調整。這些變更可能包括修改源代碼、重寫應用API以及接口,解耦或者耦合數據。其他變更,比如設計一個應用,能夠使用內置的云API動態擴展資源或者使數據庫調用面向對象,都是為實現云價值的最大化。
Cloud Technology Partners是一家總部位于波士頓的咨詢公司,該公司的高級副總裁David Linthicum說:“重構將應用按照不同功能組件進行劃分,并專門針對云平臺進行重新設計。”
“直接遷移”方式在時間及預付成本方面與重構方式存在很大的差異。“直接遷移”方式在一周之內就能夠完成應用的遷移,而重構過程可能需要花上幾個月的時間——在某些情況下可能更久——這取決于應用本身以及應用是由內部還是第三方開發的。
Linthicum說,“直接遷移”方式的成本大概是10000美元/應用。但取決于應用類型以及外部依賴數量——比如與應用相關的數據庫,成本可能會顯著增加。然而,如果企業立刻遷移很多應用,那么費用可能減少為500美元/應用。如果同時遷移上百或上千個應用,那么成本可能會呈指數級下降。
重構方式的成本與應用以及人執行這些操作的人群有關,因此很難準確計算組織需要支付多少費用。
就重構成本而言,Linthicum估計10萬美元/應用算是較低價位。但從長遠來看這并不一定意味著遷移一定是更節省成本的方式。
遷移的不足之處
如果遺留應用沒有進行任何修改就遷移到基礎設施即服務平臺,那么將無法充分利用云的最大優勢之一:通過自動縮放降低成本。在云中,計算資源能夠基于應用需求自動擴展或縮減。但大多數遺留應用在設計之初沒有利用云固有的特性。因此當這些應用遷移到云中后,消耗的存儲及計算資源將會比實際需求多,這可能會帶來一筆高額賬單。
Enfinitum是一家位于圣安東尼奧市的咨詢公司,該公司的首席顧問Robert Green說:“云計算的理念是通過將正在使用的基礎設施與負載的峰值請求相匹配獲得價值以及成本的節約。”直接遷移的問題是內部應用依據峰值負載構建。當這些應用遷移到云中后,它們繼續按照原有方式運行——即使需求或者利用率很低也是如此。
他說:“因此,80%左右的時間可能不存在峰值請求,但在支付費用。”
由于“直接遷移”方式效率不高,在某些情況下直接將應用遷移到云中最終可能會比提前重構應用所花費的成本還要高。某些情況下直接遷移應用甚至比將應用保留在內部基礎設施中的費用還要高。
假定燈一天24小時都亮著,那么要比在晚上進入房間時開燈,白天離開時關燈的費用更高。使用直接遷移方式,任何情況下資源需求一直處于峰值狀態。
美國北卡羅來納州阿什維爾市的CIO Jonathan Feldman計劃在云上為本市市民提供一個新的信息門戶應用,他選擇從零開始構建該應用以利用云提供的自動縮放功能。
他說:“這是因為,如果沒有在應用源代碼內部調用云提供的API,那就不是云了。因為你無法向上、向外擴展。”
其他人同意直接遷移方式并不一定像人們預想的那樣能夠節省成本。
FlightStats是一家位于美國俄勒岡州波特蘭市,提供全球分析數據的公司,該公司的高級DevOps及軟件工程師Alex Witherspoon說:“我們有一款分析軟件,成本只是我們在AWS中整體成本的四分之一。在內部運行時并不會產生上述費用。”