在企業(yè)里,許多上云遷移成功的案例,都是先從一些較為簡單的應用開始遷移,然后再一步步把更多的應用和數據遷移到云,不可能同時把所有的應用都一下遷移過去。
對于要遷移上云的應用和數據,制定一份詳細的計劃與時間表是必要的,遷移是一個很復雜的過程,可以先從最簡單的應用開始,然后再考慮復雜的、關聯(lián)度比較高的業(yè)務,一些個性化的企業(yè)應用等。
如上圖所示,描述了企業(yè)穩(wěn)步進行云遷移的一般步驟,遷移是一個系統(tǒng)工程,遷移過快往往將導致成本的急劇上升、工期延期甚至失敗。
上云遷移的過程,我們可以將其細化分為五個步驟。注意這里主要的場景是企業(yè)私有云,其總結的步驟也是適用于私有云的,對于遷移到公有云并不是很適用。下面我們重點來看,遷移上云的五個階段步驟。
1、 標準化、統(tǒng)一化
企業(yè)傳統(tǒng)的IT業(yè)務應用一般都構建在物理服務器和存儲設備上,當開始進行云遷移時,一般會采用標準化技術,對以往的服務器及存儲資源進行整合。對已存在的老的要上云的業(yè)務進行遷移評估,并根據數據中心的資源情況來制定詳細的解決方案是比較重要的;如果是新的應用系統(tǒng),則分配相應的資源,直接部署在云計算環(huán)境中即可。任何要上云的業(yè)務,對其實現(xiàn)難度的評估是對應用系統(tǒng)進行云化或改造風險與收益評估的重要手段. 整個業(yè)務系統(tǒng)的云化分析過程需要從包括硬件支撐環(huán)境改造、操作系統(tǒng)平臺變更、平臺軟件綁定分析、IP地址依賴性消除、 API重構、模塊化改造、標準化改造、外部依賴條件等在內的多個層面和維度進行,準確評估業(yè)務信息系統(tǒng)云化改造的相關難點與痛點,才能對信息系統(tǒng)云化改造有充分的認識和準備。
當然,虛擬化和架構設計也是上云業(yè)務系統(tǒng)進行現(xiàn)代化改造的一部分。上云首先離不開架構設計,因為業(yè)務終究要被云化,不管其遷移的過程長短,企業(yè)通常都會使用虛擬服務器來代替物理的服務器,使用存儲資源池來統(tǒng)一后端的存儲。為了實現(xiàn)對異構存儲設備的管理,往往還會進行存儲的虛擬化和分布式改造。當然在這一步,有可能還會涉及業(yè)務改造的咨詢和方案的論證優(yōu)化,還必須開始使用腳本或者自動化的安裝工具來適當減少工作量。
2、 采購或是自建及部署云服務
虛擬化是上云的第一步,接下來遷移的第二步,是部署一套私有的云管理平臺。那么是采購或是自建及部署云服務呢?
從云平臺的成本和價值來看。VMWARE是商業(yè)軟件,其成熟度和穩(wěn)定性經受了大量實際環(huán)境的考驗,但使用成本高,體現(xiàn)在其授權費用和服務費用上。相對VMware 的昂貴價格,OpenStack免費、開放的優(yōu)勢還是很明顯的。VMware高投入帶來的功能,OpenStack大部分可以免費提供給客戶。那么是 OpenStack還是VMware更有價值,這個問題并沒有很清晰的答案,并且答案也取決于企業(yè)實際部署的規(guī)模。雖然OpenStack是免費使用的, 但是它需要有專業(yè)的開發(fā)人員和此領域的專家才行,并且需要很多架構和搭建方面的工作,因為它支持很多部署場景,并且安裝過程都不盡相同。VMware則需要花費一些經費購買授權和服務,并且相對來說更加容易安裝和運行,另外Vmware的學習成本更低一些,運維可以很容易上手。
總得來說,基于以上的分析,大型企業(yè)采購使用VMWARE平臺則更穩(wěn)定和可靠。而OpenStack則入門門檻較高,如果企業(yè)沒有足夠的技術能力儲備則無法解決大面積部署OPENSTACK所遇到的問題和坑。
構建一個私有云,需要詳細的規(guī)劃設計以及實施,很多時候面臨資源整合也包括管理理念的整合和融入。在這一步也可以采購或使用一些公有云服務,例如一個或多個SAAS應用、開發(fā)測試服務、云存儲等。混合云融合了公有云和私有云,是近年來云計算的主要模式和發(fā)展方向。我們知道私有云主要是面向企業(yè)用戶,出于安全考慮,企業(yè)更愿意將數據存放在私有云中,但是同時又希望可以獲得公有云的計算資源隨需擴展,在這種情況下混合云被越來越多的采用,它將公有云和私有云進行混合和匹配,以獲得最佳的效果,這種個性化的解決方案,達到了既省錢又安全的目的。
3、 應用遷移和數據遷移
云的基礎設施及服務部署完成之后,需要開始對現(xiàn)有的業(yè)務應用服務進行統(tǒng)一化或者升級。如前面所說,這一步可以先把一些較為簡單的應用遷移到云中,然后再逐步解決剩下的那些復雜應用。
應用遷移的過程不是簡單的點幾個按鈕就大功告成,我們需要從云平臺的環(huán)境特點出發(fā),對自身的產品做一定的適應調整。比如,是否支持靜默安裝、磁盤空間的使用、參數設置應該由 API 或 CLI 來完成、跟蹤和日志信息通過腳本命令還是平臺統(tǒng)一收集等。
數據遷移對于一個業(yè)務應用來說是最重要的,直接關系到業(yè)務上云的成敗。數據遷移會將業(yè)務系統(tǒng)中很少使用或不用的文件移到輔助存儲系統(tǒng)(如磁帶或光盤)上,而把熱點常用的數據遷移到優(yōu)質存儲(如SSD或閃存陣列)上,有點像分級存儲管理吧。通常為了保證數據的安全性和完整性,我們業(yè)務的遷移工作一般會與備份策略相結合,并且對重要數據進行重點備份。還有的業(yè)務系統(tǒng)上云后去O,把Oracle替換成Mysql,那么就會涉及到SQL語法的適配、數據的轉換、新老系統(tǒng)的交互、應用的改造甚至重構等,挑戰(zhàn)比較大,這些都需要在遷移階段有充分的考慮。
數據遷移的實現(xiàn)可以分為3個階段:數據遷移前的準備、數據遷移的實施和數據遷移后的測試校驗。由于數據遷移的特點,大量的工作都需要在準備階段完成,充分而周到的準備工作是完成數據遷移的主要基礎。具體而言,要進行待遷移數據源的詳細說明(包括數據的存儲方式、數據量、數據的時間跨度);建立新舊系統(tǒng)數據庫的數據字典;對舊系統(tǒng)的歷史數據進行質量分析,新舊系統(tǒng)數據結構的差異分析;新舊系統(tǒng)代碼數據的差異分析;建立新老系統(tǒng)數據庫表的映射關系,對無法映射字段的處理方法;開發(fā)、部屬ETL工具,編寫數據轉換的測試計劃和校驗程序;制定數據轉換的應急措施。其中,數據遷移的實施是實現(xiàn)數據遷移的3個階段中最重要的環(huán)節(jié)。它要求制定數據轉換的詳細實施步驟流程;準備數據遷移環(huán)境;業(yè)務上的準備,結束未處理完的業(yè)務事項,或將其告一段落;對數據遷移涉及的技術都得到測試;最后實施數據遷移。
數據遷移后的測試校驗是對遷移工作的檢查,數據測試校驗的結果是判斷一個業(yè)務系統(tǒng)能否正式啟用的重要依據。可以通過質量檢查工具或編寫檢查程序進行數據校驗,通過試運行新系統(tǒng)的功能模塊,特別是查詢、報表功能,檢查數據的準確性。
當然為了保障數據遷移的質量和效率,也離不開好的遷移工具。商業(yè)和開源的產品各自有不同的特點,選擇時還要根據具體情況進行分析。縱觀目前國內一些大型項目,在數據遷移時多是采用相對成熟的ETL產品,其實也可以看到這些項目的一些共同點,主要包括:遷移時有大量的歷史數據、允許的宕機時間很短、面對大量的客戶或用戶、存在第三方系統(tǒng)接入、一旦失敗所產生的影響面將很廣。
目前,許多數據庫廠商也都提供相應的數據抽取工具,如Informix的InfoMover、Microsoft SQLServer的DTS和0raele的Oracle Warehouse Builder等。這些工具在一定范圍內解決了數據的提取和轉換,但這些工具基本都不能自動完成數據的抽取,用戶還需利用這些工具編寫適當的轉換程序來提高效率。
再有就是企業(yè)里的復雜應用由于業(yè)務耦合度高,對傳統(tǒng)架構依賴性強,一般都需要大量的改造開發(fā),比如你想替換特定的中間件和數據庫及商業(yè)套裝軟件,可能需要幾年的時間來完成該步驟。由于時間周期比較長,不可控的風險太多,因此需要謹慎地對現(xiàn)有系統(tǒng)從投資回報以及可行性方面進行詳細遷移評估。
4、 全面自動化
在企業(yè)里,當大量業(yè)務應用都遷移上云后,使用云管理平臺進行業(yè)務系統(tǒng)的自動化配置、審批、服務交付、升級改造及監(jiān)控就變得比較重要了。不斷地對現(xiàn)有IT流程進行自動化改造至關重要,我們希望盡量的把每一個業(yè)務上云的流程都自動化,從虛擬機及應用的線上資源預訂到其交付,這樣可以大大縮短部署時間、減少人工成本,提高系統(tǒng)配置的準確性及一致性。雖然在標準化統(tǒng)一化的階段就已經開始進行基本的自動化,但到了全面自動化階段則需要把大量的腳本、應用安裝程序、自動化工具引入到一個流程編排系統(tǒng),在該系統(tǒng)中可以使用云管理平臺進行服務及工作流的設計。
5、 安全性、冗余性及運維可持續(xù)性
傳統(tǒng)業(yè)務上云一般需要經過資源供給、交付服務、運維及安全流程等的若干環(huán)節(jié)審批,因為在云服務完成及上線之前,很多這些流程都需要進行改造,自動化交付則需要IT安全人員對虛擬機模板、軟件化網絡、存儲資源、操作系統(tǒng)、應用平臺等預先進行授權或批準。該階段還需要考慮冗余性及伸縮性,包括服務器、虛擬機、應用及云管理平臺在數據中心部分或者完全失效的情況下的持續(xù)運行能力。安全操作及IT治理在該階段也必須完全建立,最終這五個步驟的云遷移計劃將把公司帶到一個全面云運維的狀態(tài)。
業(yè)務上云是個復雜系統(tǒng)的工程,不論是老的應用還是構建新的應用,遷云團隊都需要仔細考慮成本與運營是否與平臺模式匹配。從現(xiàn)階段來看,應用分階段遷移可能是唯一的選擇。目前一些公司已經成功的用這種分階段方法改變了他們傳統(tǒng)的應用,并使風險最小化的同時受益于云計算,這也許是未來一段時間云化的主題。