如果企業(yè)將基于云計算的工作負載和應用程序遷移回內(nèi)部部署設施,需要制定計劃,按照一些關鍵的步驟開始遷移。
雖然許多人宣傳采用云計算技術的好處,但云環(huán)境并不一定是運行所有應用程序的最佳場所。一些企業(yè)可能不喜歡失去對原有數(shù)據(jù)中心設施的控制,由于云計算提供商提供的工具的功能有限,企業(yè)可能失去可控性。當由于在云計算提供商的云平臺外傳輸?shù)臄?shù)據(jù)量增長而導致出口率上升時,云計算成本將會成為一個問題。無論是什么原因,一些企業(yè)的工作負載不必在云端處理。
企業(yè)將其工作負載退出云平臺可能與最初遷移到云平臺一樣復雜,但是,如果以系統(tǒng)的方式規(guī)劃這個過程,并預測可能遇到的挑戰(zhàn),就有可能將應用程序從云中遷移回內(nèi)部部署設施,而不會中斷用戶業(yè)務或丟失數(shù)據(jù)。
如果企業(yè)懷疑云托管應用程序是否符合預期,那么值得考慮云退出策略。以下介紹了如何執(zhí)行反向遷移,將基于云計算的應用程序重新部署到內(nèi)部部署設施。
1.分配足夠的預算
將工作負載遷移回內(nèi)部部署設施可能需要投資網(wǎng)絡升級和新的監(jiān)控、可觀察性或安全工具,以幫助支持企業(yè)的內(nèi)部部署設施運行工作負載。在某些情況下,企業(yè)可能需要增加員工。
一旦這些工作負載遷移到內(nèi)部部署設施,企業(yè)需要確保可以分配足夠的預算來支持工作負載。如果沒有適當?shù)呢攧諟蕚洌坏┕ぷ髫撦d離開云平臺,將其遣返內(nèi)部部署基礎設施之后有可能無法提供支持。
2.讓團隊做好準備
如果必要,企業(yè)需要對其團隊進行組織變革,指定工程師負責遷移項目。一旦應用重新部署,一定要分配特定的團隊成員來支持它,特別是如果之前在遷移到云平臺的過程中取消或減少了內(nèi)部部署基礎設施的支持。作為云遣返過程的一部分,確保可以將應用程序遷移或擴展它是至關重要的。
3.備份數(shù)據(jù)
如果企業(yè)的云托管應用程序創(chuàng)建或管理長期數(shù)據(jù),則需要備份這些數(shù)據(jù)。這樣做的方式取決于數(shù)據(jù)的存儲方式。如果數(shù)據(jù)存在于數(shù)據(jù)庫中,則可以對數(shù)據(jù)庫創(chuàng)建快照,企業(yè)可以將對象存儲數(shù)據(jù)復制到外部存儲以創(chuàng)建備份。
確保數(shù)據(jù)備份與企業(yè)計劃用于支持應用程序的數(shù)據(jù)技術兼容。一些專有的基于云的數(shù)據(jù)庫和數(shù)據(jù)存儲服務并沒有企業(yè)可以在內(nèi)部部署設施運行的對等服務。企業(yè)可能需要對數(shù)據(jù)進行轉(zhuǎn)換,以便將其返回到內(nèi)部部署設施。
4.備份應用程序
備份過程將根據(jù)應用程序的部署方式而有所不同。如果它是一個容器化的應用程序,可以在不經(jīng)過復雜的快照過程的前提下遷移容器圖像。如果要備份直接托管在虛擬機上的應用程序,可以對虛擬機創(chuàng)建快照,然后將快照轉(zhuǎn)換為可以在內(nèi)部部署設施托管的格式。
企業(yè)可以選擇在內(nèi)部部署設施重新部署應用程序的新實例,而不是嘗試將基于云的實例遷移到其內(nèi)部部署設施中。如果基于云的應用程序很難創(chuàng)建快照,或者如果想要更新到比在云中運行的應用程序更新的版本,這種方法是有意義的。
5.做好應急準備
在開始實際遷移過程之前,需要為可能中斷遷移的緊急情況做好準備,例如停電或網(wǎng)絡故障。這些意外事件很罕見,但也有可能發(fā)生。為了避免遷移失敗或遷移時間過長,需要創(chuàng)建備份計劃。
備份計劃相當于保持應用程序的基于云的實例運行,直到能夠成功地完成從云平臺到內(nèi)部部署設施的遷移。盡管如此,需要制定一個正式的計劃,這樣即使云遷移沒有像預期的那樣順利進行,也不會驚慌失措。
6.實施遷移
在備份數(shù)據(jù)和應用程序之后,可以開始實施遷移。在大多數(shù)情況下,企業(yè)能夠通過網(wǎng)絡將數(shù)據(jù)和應用程序映像遷移到內(nèi)部部署設施中。如果企業(yè)擁有大量數(shù)據(jù),可能需要考慮采用其他數(shù)據(jù)傳輸服務,例如AWS Snowball。
7.驗證新的應用程序?qū)嵗?/strong>
當企業(yè)的數(shù)據(jù)和應用程序遷移到內(nèi)部部署設施時,在啟用它們之前運行檢查以確保它們按要求運行。企業(yè)需要確保沒有數(shù)據(jù)損壞,并且內(nèi)部部署數(shù)據(jù)的狀態(tài)與基于云的實例的狀態(tài)一致。
如果企業(yè)的應用程序在遷移過程中保持可操作,這可能會很棘手。可以使用rsync等工具執(zhí)行快速同步,使兩個版本的數(shù)據(jù)保持一致。
負載測試可以確保企業(yè)內(nèi)部部署應用程序能夠處理其期望的流量。安全掃描對于捕捉企業(yè)在工作負載遷移過程中可能遺漏的漏洞或配置風險很有價值。
8.讓應用程序完全上線運行
如果企業(yè)的內(nèi)部部署應用程序通過了所有驗證檢查,可以將所有應用程序請求重定向到內(nèi)部部署實例,然后可以關閉基于云的實例。
這個過程通常包括更新DNS記錄,使它們指向應用程序的正確實例。企業(yè)可能還需要配置負載平衡器和防火墻,以將流量正確地引導到內(nèi)部部署應用程序?qū)嵗?/p>