多重云廠商數據遷移三障礙
遷移應用并不是一件輕而易舉的事情。無論是你想將本地基礎架構轉移到云端,還是跨多重云廠商分散開來,都會面臨障礙。轉移虛擬機、遷移數據和配置網絡在遷移過程中會制造麻煩。
遷移虛擬機。在本地基礎架構和云之間遷移虛擬機時,有很多選擇:使用共享的機器圖像格式、導入或者重構。
遷移VM最簡單的選擇是跨多個平臺共享圖片格式。選擇一個云提供商,IT管理者很可能就其現有的VM圖像文件格式權衡數個因素,因此找到一種通用的格式需要計劃和一點運氣。
一些云廠商導入虛擬機作為服務,通過為不同的虛擬化平臺構建導入VM圖像。例如,亞馬遜Web服務(AWS)已經導入具體的服務到基于VMware的VM圖像。該服務導入了VMware ESX VMDK、Citrix Xen Virtual Hard Disk (VHD)以及微軟Hyper-V VHD圖像。VM圖像也可以作為這些格式導出到VMware ESX OVA。
重構虛擬機圖像格式是一種選擇,但是要求使用像Puppet和Chef這樣的配置工具。為了做到,你需要具體化腳本生成VM圖像,并在你的目標平臺中運轉這些腳本。配置腳本允許你輕松且頻繁的重構VM圖像,因此你會一直擁有軟件組件的最新版本。這很重要,然而在應用重過程中不能犯任何錯誤;軟件組件升級版本與其他組件不適應。
在云中遷移數據。從一個云平臺到另一個云平臺遷移數據有很多挑戰。第一步是訪問享有的數據存儲配置,并過濾出哪些數據轉移到云端。注意,還有其他的一些事情,讀寫負載、你潛在要轉移的數據量以及網絡延遲問題。
關系型數據庫典型的應用于客戶端-服務器結構中,客戶端應用從一個服務器的數據庫中讀取,在另一個服務器上的數據庫中寫入。你可以選擇共同遷移客戶端和服務器,或者只遷移一個組件。哪種方法更好取決于因素的數量。
考慮一種情況,你有一個計算密集應用,在復雜的計算器終端的數據庫中寫入數據。假設最小的讀取在這個數據庫上執行。應用和數據庫當前本地運行,但是會出現峰值工作負載。在這個例子中,轉移計算負載到云端就有意義了,但是數據庫留在本地。因為應用讀寫只是一小部分數據,數據庫仍舊在本地,并不會降低性能;用戶累計轉移數據或者從云中抽取數據的網絡計費在這個場景中微不足道。
但是讓我們假設應用是讀取密集型數據庫。本地數據庫和基于云的應用之間的網絡延遲就會降低性能。在這個案例中,遷移整個數據庫到云端就更有意義,假設應用將會運行一段時間。
為云配置網絡。在遷移應用到云端,或者從云端遷移應用時,必須解決大量網絡配置問題。最明顯的問題就是圍繞域名服務(DNS)的問題。在這樣的實例中,就需要升級記錄。
網絡問題不那么明顯的是內網配置。比如,如果你使用負載均衡器來分散應用工作負載,你需要升級負載均衡器,以便在新的位置使用服務器。其他應用,像數據庫,可能需要重新配置,需要解決新的數據庫服務器IP地址。
在本地基礎架構和云之間轉移應用時,轉移VM圖像以及數據和配置網絡設置會遭遇挑戰。從一個虛擬環境到另一個虛擬環境轉移虛擬機圖像相對容易。遷移大型數據庫或者數據集,顯然是有問題的。重新配置網絡設定不應該是禁止的,應該盡早準備。