盡管實施云遷移已有10多年的時間,但仍有大量數(shù)據(jù)在企業(yè)內(nèi)部部署的數(shù)據(jù)中心運行。這并不奇怪,因為即使在類似系統(tǒng)之間進行數(shù)據(jù)遷移都是復(fù)雜而緩慢的,并且通常會增加日常運營的風(fēng)險。將業(yè)務(wù)遷移到云端,會增加企業(yè)額外的管理開銷,引發(fā)網(wǎng)絡(luò)連接和帶寬問題,以及與運行云計算數(shù)據(jù)庫相關(guān)的可變成本。
但出現(xiàn)的一些問題是,很多人傾向于將云計算服務(wù)視為其內(nèi)部部署系統(tǒng)的復(fù)制品,這導(dǎo)致了企業(yè)業(yè)務(wù)與云服務(wù)的不匹配。人們通常采用使用多年的服務(wù)器,并為計算需求的突然增長提供額外的容量,然后將該規(guī)范直接遷移到云計算基礎(chǔ)設(shè)施。其結(jié)果通常是虛擬機使用不足,計算預(yù)算大大高于實際需要的預(yù)算。人們需要考慮利用云服務(wù),將它們作為平臺而不是數(shù)據(jù)中心,不是提升和轉(zhuǎn)移整個基礎(chǔ)設(shè)施。
Azure數(shù)據(jù)庫遷移服務(wù)
將數(shù)據(jù)庫從內(nèi)部部署遷移到云端并不是十分困難,特別是在企業(yè)確定遷移其業(yè)務(wù)的情況下。Azure的數(shù)據(jù)庫遷移服務(wù)可以為其支持大部分過程,并提供一組向?qū)е笇?dǎo)其完成遷移過程。與大多數(shù)內(nèi)部遷移一樣,當(dāng)企業(yè)將數(shù)據(jù)庫從一個服務(wù)器移動到另一個服務(wù)器時,可以選擇離線遷移,隨后可能會面臨停機時間和在線遷移等問題。如果企業(yè)主要遷移的是數(shù)據(jù),那么在線遷移是最好的選擇,因為在兩個數(shù)據(jù)庫之間切換時可以將停機時間保持在最低限度。
這個過程的核心是采用數(shù)據(jù)遷移助手(Data Migration Assistant),企業(yè)可以使用該數(shù)據(jù)遷移助手將數(shù)據(jù)從一個SQL Server實例移動到另一個SQL Server實例,分析數(shù)據(jù)庫,并在遷移過程中提高性能。這需要使用VPN或高帶寬ExpressRoute連接在本地數(shù)據(jù)庫和Azure環(huán)境之間建立虛擬網(wǎng)絡(luò)連接。一旦部署到位,就需要將其配置為Azure VNet,并為目標(biāo)數(shù)據(jù)庫、Azure服務(wù)總線和Azure存儲提供適當(dāng)?shù)亩它c。
在本地設(shè)置遷移服務(wù)
設(shè)置Azure數(shù)據(jù)庫遷移服務(wù)的一些要求似乎有些顛覆了人們所了解的所有安全規(guī)則,尤其是在數(shù)據(jù)庫網(wǎng)絡(luò)方面。但是,所有的流量都將通過VNET連接,因此企業(yè)將處于整個安全范圍內(nèi),即使暫時降低了一些數(shù)據(jù)庫安全性。
通過本地數(shù)據(jù)庫與Azure配置之間的連接,企業(yè)可以開始運行SQL Server遷移評估。在創(chuàng)建用于保存評估結(jié)果的項目之前,選擇SQL Server作為源服務(wù)器,并選擇Azure SQL數(shù)據(jù)庫作為目標(biāo)。
遷移評估將提供兩種類型的報告,一種詳細說明數(shù)據(jù)庫兼容性,一種詳細說明功能奇偶校驗。企業(yè)可以選擇兩者之一,也可以不選擇。但建議兩者都使用;如果兩個平臺之間存在任何可能影響應(yīng)用程序代碼的差異,以及任何存儲過程或觸發(fā)器,則需要了解對源數(shù)據(jù)庫進行哪些更改。
當(dāng)評估完成后,可以看到需要解決的問題列表。雖然大多數(shù)功能都是不太重要的奇偶校驗問題,但可能會出現(xiàn)阻止遷移的兼容性問題,以及采用緩解措施。它將添加具有Azure特定功能的詳細信息,這些功能可替代內(nèi)部部署功能,并提供有關(guān)如何在數(shù)據(jù)庫中使用它們的指南。
微軟公司最近推出了Azure SQL托管實例,將其作為Azure SQL的替代方案。這些是SQL Server的PaaS實現(xiàn),將它們用作遷移目標(biāo)可以簡化將數(shù)據(jù)庫遷移到Azure的過程,因為這樣會減少兼容性問題。與使用IaaS-VM托管SQL Server不同,不需要定義服務(wù)器計算和內(nèi)存,而Azure云平臺可以處理所有內(nèi)容。
如果沒有其他操作,那么企業(yè)已準(zhǔn)備好遷移數(shù)據(jù),并可以進入下一步:使用數(shù)據(jù)遷移助手遷移數(shù)據(jù)庫。創(chuàng)建新的遷移項目,并選擇將架構(gòu)從內(nèi)部部署遷移到Azure。可以連接兩臺服務(wù)器,選擇要遷移的對象,然后生成運行遷移的腳本。檢查腳本,然后運行它們,并將企業(yè)的架構(gòu)從數(shù)據(jù)庫部署到Azure實例。
設(shè)置Azure門戶
遷移的下一階段需要登錄Azure門戶,在該門戶中將Azure數(shù)據(jù)遷移助手添加到企業(yè)的帳戶并創(chuàng)建服務(wù)。這將設(shè)置Azure數(shù)據(jù)庫遷移服務(wù)實例,將其連接到企業(yè)為數(shù)據(jù)遷移設(shè)置的VNet。作為配置服務(wù)的一部分,需要為遷移選擇適當(dāng)?shù)亩▋r層。如果是一次性使用免費標(biāo)準(zhǔn)層,它最多支持四個核心和離線遷移;高級定價適用于需要最少停機時間的遷移,支持四核服務(wù)器上的在線遷移,每小時為0.37美元(前六個月免費)。
使用定價模型,使用虛擬網(wǎng)絡(luò)上的完全限定域名添加源服務(wù)器的連接詳細信息。對目標(biāo)Azure SQL實例執(zhí)行相同操作。設(shè)置連接后,將要遷移的數(shù)據(jù)庫映射到目標(biāo)。該服務(wù)將自動選擇目標(biāo)上存在的空表,這些空表應(yīng)該完全匹配,因為已經(jīng)遷移了模式。該服務(wù)提供驗證選項,當(dāng)完成填寫遷移設(shè)置后,它將運行遷移,報告流程中可能發(fā)生的問題。企業(yè)可以從服務(wù)門戶監(jiān)控操作,并留意出現(xiàn)的錯誤。
遷移完成后,企業(yè)可以將應(yīng)用程序切換為指向新的云托管端點,并繼續(xù)進行云遷移,將數(shù)據(jù)移至托管服務(wù)。Azure SQL服務(wù)將根據(jù)需要進行擴展,通過地理復(fù)制可以降低中斷風(fēng)險。企業(yè)不僅限于帶寬VPN或ExpressRoute連接;大型遷移可以利用Azure Data Box將數(shù)十TB的數(shù)據(jù)從數(shù)據(jù)中心遷移到Azure云平臺。