有個客戶在阿里雲上,這次要遷移到Azure去,手工記一下流水賬
原系統信息:
阿里雲ECS單Web節點(8核16G,10000IOPS SSD雲盤)+阿里雲ECS單數據庫節點(16核32G,15000IOPS,SQL Server 2016)+阿里雲CDN
根據評估和分析,簡單遷移方案如下:
1、CDN暫時不動。因為阿里雲CDN的配置較為簡單,且對HTTPS支持也很傻瓜,同時與阿里雲OSS是聯動使用的,遷移到Azure CDN+回源Azure存儲的代價太大,且需要重寫CDN業余中間層SDK,所以就暫時留用阿里雲CDN
2、新建一台Azure虛擬機,用於替代阿里雲ECS單Web節點,配置相同類似即可
3、由於系統Web服務沒有使用到存儲過程等和SQL Server版本關聯較大的特性,故決定使用SQL Azure替代原ECS單數據庫節點方案
下面是流水遷移過程:
1、新建Azure虛擬機
進入新的中國區控制面板,新建一個虛擬機,Windows Server 2016 數據中心版
這里不得不說兩個問題,第一個問題是新的控制面板(https://portal.azure.cn)不支持谷歌瀏覽器,有的按鈕顯示不出來,因此不得不切換到IE模式,第二個問題是在新的控制面板中(https://portal.azure.cn),新建過程只有1個可選項目,是英文版的,即使查看全部,出來的Server 2016各版本也都是英文版
這里就非常糟糕,因為英文版+中文包,是一個不完整的漢化,挺別扭的,而經典控制面板中(https://manage.windowsazure.cn),就可以新建中文版的Windows Server 2016
我不知道是因為資源管理方式不同導致的,還是一個Bug,如果Azure的技術人員看到,也可以關注一下,這點確實挺糟糕的
下面繼續新建虛擬機
這里可以看到挺有意思的一個情況,微軟還真是實誠,如果你有Windows序列號,則可以減免一些價格,我們來看下價格對比
如果你願意在淘寶30元買個正版密鑰,那么你每年可以節省1000元以上,哈哈(請勿使用盜版軟件)
在這里,我們選擇了DS4配置的機器
下一步配置可選功能,這里特別注意兩點,1是選擇了靜態IP分配,默認是動態IP分配的,如果是動態IP分配,那么域名的解析就需要配置CName,我對這玩意不太熟悉,所以干脆還是選擇靜態IP,直接進行A記錄解析得了。
另一個是關於監視行為的配置,雖然監視行為會占用系統資源,但是本着相信微軟的人品和微軟的技術,選擇啟動監視
最后一步,有個下載模板和參數,有點像阿里雲的操作系統鏡像,打開后是JSON配置文件
然后點擊確定后,等等待部署了。
經過大約10分鍾不到,虛擬機成功部署
可以看到網絡接口,已經是靜態IP了
默認允許了3389的遠程訪問
我們首先登錄到服務器,把英文版修改成中文版。。。這個過程就不詳述了
考慮到我們需要使用HTTP,HTTPS,WebDeploy服務,因此在網絡接口的網絡安全組規則中需要進行一些配置,加入相應的入站防火牆策略
然后繼續配置IIS啊等軟件環境,這樣Azure虛擬機就大功告成了,下面進入第二步
2、新建SQL Azure數據庫
這里我們的資源組就選用剛才新建虛擬機所新建的資源組,然后要新建一個服務器
然后是選擇定價
這里我們選擇了一個S3標准的配置
每月大約1000元不到
最后修改一下排序規則為中文Chinese_PRC_CI_AS
在確定之前,這里也有一個自動化選項,就是和剛才虛擬機的模板類似的東西
點擊創建,SQL Azure數據庫進入創建中
大約2分鍾不到,建好了,彈出一個控制面板
然后我們嘗試一下SSMS工具是否可以遠程登錄
那么問題來了
顯示要登錄到Azure
這時候彈出的登錄頁面,並不能識別中國區的賬戶,就和Visual Studio登錄中國區賬戶一樣,但是這里我就找不到解決辦法了,如果有誰知道的話還麻煩告訴一下
於是到防火牆策略中,添加了一下本機的客戶端IP
繼續可以在SSMS中登錄了
驚喜的發現,最新版的SSMS已經可以支持可視化的SQL Azure新建表了,但是登錄名還是只能通過SQL 語句新建。
然后由於並未大規模使用過SQL Azure,還不知道遷移是不是有障礙,因此嘗試一下使用Navicat工具,進行測試環境數據遷移
毫無障礙,成功的從SQL Server 2016遷移到了SQL Azure,包括表,索引等,不過有一個值得注意的是,全文索引沒有遷移,因此在SSMS客戶端中重新配置一下全文索引
至此,基礎遷移工作都完成了,剩下的就是軟件部分的遷移了,這里就不詳述了!
3、總結與思考
1、從阿里雲ECS到Azure的虛擬機,可以說可用性確實提升了兩個數量級(100倍),這是毫不誇張的,因為ECS對Windows的支持和技術能力實在太差了,我自己可以忍受ECS常年不正常關機、內存泄露、資源擠占,但客戶一旦察覺到一次,就會影響服務質量,所以這一個很大的進步!
2、不知道是心里因素還是使用效果感覺,SQL Azure是個好東西,不是個PaaS這么簡單,應該是個很好的東西,后面慢慢來挖掘挖掘。
3、Azure的CDN質量不用說,從背后的支撐廠家看,比阿里雲自建的方式肯定要優秀和更高質量,但在控制面板維護和功能豐富程度上看,落后阿里雲至少1年,以至於寧願忍受阿里雲CDN可能存在的可用性風險,也寧願拖一拖先不遷移,這是Azure需要改進的地方。
4、Azure經過兩次降價后,相比阿里雲已經相差不多(最多貴15%-50%吧),如果把可用性也評估為價格的話,那幾乎就是更划算了!當然了,對於中小企業,非信息化驅動的公司,依然首推阿里雲,這些公司就別嘗試Azure了,至少現階段的AzureIT成本,還是非常高的。
5、Azure中國區的Bug還挺多的,建議中國區再投入一些技術力量,一些細節上的東西,比如語言版本那個問題,又比如VS或者SQL Server上登錄中國區的問題,都快1年了還沒改或者沒啥直接的解決方案,這背后我分析是因為過去的1年Azure的銷售業績非常差,客戶都沒啥反饋,然后總部對中國區也不重視等多重因素導致的。
6、在虛擬機配置過程中,關於監視行為和來賓操作系統的配置,極大的凸顯了Azure和阿里雲的價值觀的迥異,就是在碰用戶數據和用戶行為方面,至少微軟是有態度的,當然了,這就涉及到另外一個非常大的話題了,以后有空可以寫一寫。
7、在寫本遷移之前,其實已經在阿里雲、Azure、百度雲上分別使用過Windows Server 2016(騰訊雲還不支持)很久,不用說,阿里雲的Windows操作系統管理依然糟糕,百度雲沒啥感覺,Azure對自家兄弟肯定是最好的,所以如果你想體驗HTTP2.0,那么Azure肯定是首選
8、Azure是個好東西,有錢的可以來用用,技術扎實,好處大大的!
轉載請注明出處,歡迎郵件交流:zhangrou@printhelloworld.com,或者加QQ群:11444444