有分析認(rèn)為,應(yīng)縣木塔之所以能屹立千年,得益于其合適的選址、巧妙的結(jié)構(gòu)設(shè)計和持續(xù)的修繕維護。亞馬遜云科技大中華區(qū)解決方案架構(gòu)總經(jīng)理 代聞 認(rèn)為,這與云計算有相似之處,應(yīng)縣木塔和云計算的韌性都是通過正確的工程實踐和持續(xù)的優(yōu)化來實現(xiàn)的。
如今,越來越多的企業(yè)都依賴云計算服務(wù),云服務(wù)的韌性越來越重要。亞馬遜云科技已連續(xù)13年在Gartner的云基礎(chǔ)設(shè)施和平臺服務(wù)魔力象限中占據(jù)領(lǐng)導(dǎo)者地位,其中韌性得分為4.0,遠(yuǎn)超其他競爭對手。
代聞表示,亞馬遜云科技去年每天穩(wěn)定啟動的Amazon EC2實例超過1億,每秒 API請求數(shù)高達100萬億。正是因為做對了很多事情,才有今天全球數(shù)百萬客戶的選擇和信任。在做對了的很多事情當(dāng)中,韌性是其中至關(guān)重要的一環(huán)。
亞馬遜云科技如何做好韌性這件事?
想要做好韌性這件事并不容易,代聞表示,這要從基礎(chǔ)設(shè)施層面、系統(tǒng)架構(gòu)層面以及運營機制三方面下手。
第一、基礎(chǔ)設(shè)施層面。
基礎(chǔ)設(shè)施層面關(guān)心的是數(shù)據(jù)中心面對風(fēng)火水電,都要具備具備冗余和容災(zāi)能力。系統(tǒng)架構(gòu)層面要有采用分布式設(shè)計來控制爆炸半徑,減少服務(wù)間的依賴。運營機制方面需要有持續(xù)的監(jiān)控、自動化響應(yīng)和定期測試,具備及時發(fā)現(xiàn)并修復(fù)問題的能力。
簡單來說,基礎(chǔ)設(shè)施層面主要防范臺風(fēng)、火災(zāi)、水災(zāi)、地震等災(zāi)害的影響,其關(guān)鍵就是做好冗余。比如,電力部分都配有冗余供電系統(tǒng),會配備UPS和柴油發(fā)電機等。網(wǎng)絡(luò)部分也要有冗余,要具備應(yīng)對“挖掘機鏟光纜”的能力,亞馬遜云科技通過三層架構(gòu)實現(xiàn)高度冗余互聯(lián)。
在大的基礎(chǔ)層面,要做好冗余還得看數(shù)據(jù)中心選址和架構(gòu)設(shè)計。亞馬遜云科技選擇了多區(qū)域(Region-通常以大城市為單位)和多可用區(qū)(AZ)的豪華設(shè)計方案,數(shù)據(jù)中心之間的距離既要避免不卷入同一個災(zāi)害,同時也不要太遠(yuǎn)而影響網(wǎng)絡(luò)延遲,這極大提高了基礎(chǔ)設(shè)施韌性。
第二、系統(tǒng)架構(gòu)層面。
在系統(tǒng)架構(gòu)設(shè)計部分,代聞強調(diào)了從單體架構(gòu)向分布式架構(gòu)的演變。通過回顧亞馬遜早期因數(shù)據(jù)庫故障導(dǎo)致全系統(tǒng)宕機的案例,說明了單體架構(gòu)在擴展性和韌性方面的不足,因此亞馬遜轉(zhuǎn)向了分布式架構(gòu),以應(yīng)對大規(guī)模并發(fā)和高擴展需求。
在新的架構(gòu)中,亞馬遜采用了單元架構(gòu),通過將應(yīng)用負(fù)載分成多個獨立的單元來限制故障影響范圍,即使部分系統(tǒng)失效,其他單元仍能正常運行。此外,通過控制面與數(shù)據(jù)面的分離設(shè)計,確保即使控制面出現(xiàn)問題,數(shù)據(jù)面依然能夠繼續(xù)工作,從而提高容錯性和穩(wěn)定性。
最后,針對不同類型的服務(wù),亞馬遜提供了不同的可用性級別設(shè)計,從單個可用區(qū)到區(qū)域級別、再到全球級別的服務(wù)(如Amazon IAM),確保即使在某些區(qū)域失效時,全球其他區(qū)域仍能提供支持,增強系統(tǒng)的可靠性和韌性。
第三、運營機制層面。
運營機制方面,代聞介紹了一些關(guān)鍵做法和流程。首先,亞馬遜通過服務(wù)責(zé)任模型將開發(fā)和運維緊密結(jié)合,也就是說誰寫的代碼誰負(fù)責(zé)部署運營,讓開發(fā)人員對其代碼的運營負(fù)責(zé)。研發(fā)團隊24小時待命,快速響應(yīng)任何服務(wù)故障,確保問題迅速解決。
其次,亞馬遜通過運營就緒審查(ORR)流程,確保所有新服務(wù)上線前經(jīng)過詳細(xì)的風(fēng)險評估和標(biāo)準(zhǔn)化手冊的審核,并定期更新服務(wù)狀態(tài),形成閉環(huán)管理。這樣可以提前發(fā)現(xiàn)潛在問題,減少故障風(fēng)險。
最后,代聞提到了持續(xù)部署和糾錯流程。通過從小范圍試點到逐步擴展范圍的分階段部署的方式,確保代碼更新的安全性和穩(wěn)定性。同時,亞馬遜通過“糾錯流程”總結(jié)經(jīng)驗教訓(xùn),確保歷史故障的教訓(xùn)被應(yīng)用到后續(xù)的服務(wù)中,提升工具和最佳實踐,持續(xù)優(yōu)化運營。
在實踐中總結(jié)實現(xiàn)高韌性的最佳實踐
亞馬遜云科技所構(gòu)建的韌性,說到底還是要交給云用戶的。作為全球最大的公有云服務(wù)商,亞馬遜云科技既是在提供云服務(wù),同時也在不斷總結(jié)經(jīng)驗,為客戶提供實現(xiàn)高韌性的最佳實踐。
以Netflix為例,Netflix早在2008年就開始使用亞馬遜云服務(wù),經(jīng)歷了從傳統(tǒng)數(shù)據(jù)中心遷移到云端的過程,構(gòu)建了多主多活的高韌性架構(gòu)。這使得Netflix能夠在全球190多個國家為超過2.6億付費會員提供穩(wěn)定可靠的視頻服務(wù)。
通過Netflix的實踐經(jīng)驗,亞馬遜云科技將這些成熟的技術(shù)和架構(gòu)融入其云服務(wù)中,讓后來許多初創(chuàng)企業(yè)能夠直接使用亞馬遜云提供的開箱即用工具,實現(xiàn)類似的高韌性架構(gòu)。
例如,使用Amazon Aurora Global Database,可以輕松實現(xiàn)跨區(qū)域的數(shù)據(jù)同步,顯著降低了企業(yè)實現(xiàn)高韌性系統(tǒng)的復(fù)雜性。這種工具使企業(yè)無需從頭開發(fā)復(fù)雜的韌性解決方案,快速享受全球級的高可用性服務(wù)。
除了這些工具層面的積累,通過多年的經(jīng)驗積累,亞馬遜云科技提出了四大經(jīng)驗和五個階段來幫助企業(yè)構(gòu)建高韌性系統(tǒng)。
其中,四大經(jīng)驗總結(jié)了企業(yè)在提升韌性時的核心要點。包括韌性提升是一個持續(xù)的過程,不是一次性的工作;企業(yè)在業(yè)務(wù)需求、成本和系統(tǒng)復(fù)雜度之間需要取得平衡;韌性工程需要與軟件開發(fā)生命周期緊密結(jié)合;以及從多個維度(業(yè)務(wù)、技術(shù)、運營等)來提升系統(tǒng)的可靠性。
為了確保企業(yè)能夠有效落實這些經(jīng)驗,亞馬遜云科技還制定了五個關(guān)鍵階段:設(shè)定目標(biāo)、設(shè)計與實施、驗證測試、持續(xù)運營,以及響應(yīng)與改進。通過這些階段,企業(yè)可以系統(tǒng)化地提升其云上系統(tǒng)的韌性。
同時,代聞還提到,亞馬遜云科技提供了一系列工具和框架(如Amazon Resilience Hub和Well-Architected Framework),簡化了各個階段的實施,使得企業(yè)能夠更輕松地實現(xiàn)全球級的高可用性和穩(wěn)定性。
亞馬遜云科技幫助不同類型的企業(yè)實現(xiàn)高韌性
在最后,代聞還提到了一些實際案例,亞馬遜云科技幫助不同類型的企業(yè)都實現(xiàn)了高韌性,也就意味著,這種韌性可以復(fù)制給更多用戶。
奇瑞捷豹路虎汽車是國內(nèi)首家中英合資的高端汽車企業(yè),在中國將其核心的SAP系統(tǒng)遷移至亞馬遜云科技,為了高可用性和韌性的同時降低運營成本,它利用亞馬遜云的多可用區(qū)架構(gòu)和高可用集群功能,完成了從傳統(tǒng)數(shù)據(jù)中心向云端的無縫遷移。
遷移之前,SAP系統(tǒng)的故障切換時間為半個小時,遷移到云端后,縮短至3分鐘,不僅確保了零數(shù)據(jù)丟失,大幅提升了系統(tǒng)的韌性和可用性。這種架構(gòu)不僅優(yōu)化了系統(tǒng)穩(wěn)定性,也顯著降低了停機時間和相關(guān)成本。
奇瑞捷豹路虎汽車一聽就知道是大公司,那么,小公司如何享受到高韌性呢?接下來這個案例展示的是,在云服務(wù)商的幫助下,即使是小團隊的公司,也能快速實現(xiàn)高韌性。
福建紫訊于2017年開始運營,以紫鳥瀏覽器為核心,為跨境電商用戶提供數(shù)字資產(chǎn)安全托管服務(wù)以及數(shù)據(jù)運營指導(dǎo),幫助中國制造出海。公司雖然人手不多,但卻要為全球數(shù)百萬商家提供服務(wù),因此對系統(tǒng)的高可用性和快速構(gòu)建有很高要求。
通過使用Amazon Aurora數(shù)據(jù)庫和Amazon Lambda無服務(wù)器計算等云原生服務(wù),紫訊實現(xiàn)了數(shù)據(jù)庫的自動主備切換和故障轉(zhuǎn)移,提升了系統(tǒng)的韌性。其核心產(chǎn)品紫鳥瀏覽器實現(xiàn)了RTO控制在10分鐘內(nèi),RPO控制在1分鐘內(nèi),SLA提升至99.99%,同時降低了災(zāi)備成本。
最后是FreeWheel,作為全球媒體廣告支持服務(wù)商,它在高并發(fā)、大流量場景下,依托Amazon Aurora和Amazon DynamoDB等服務(wù),構(gòu)建了多區(qū)域、多活架構(gòu),支持全球用戶,滿足了其對高韌性和數(shù)據(jù)同步的嚴(yán)苛要求。
FreeWheel是一家提供廣告管理技術(shù)的公司,幫助媒體和視頻平臺更好地插入和管理廣告,優(yōu)化廣告收益。FreeWheel經(jīng)常會為全球頂級賽事(如奧運會、世界杯)提供媒體廣告支持,所以,F(xiàn)reeWheel對系統(tǒng)的韌性有著極高要求。
為此,F(xiàn)reeWheel用如Amazon Aurora和Amazon DynamoDB,替換了其原有的MySQL集群,構(gòu)建了多區(qū)域、多活的高可用架構(gòu),確??鐓^(qū)域的數(shù)據(jù)同步和容災(zāi)能力。通過這些技術(shù),F(xiàn)reeWheel能夠在高峰流量時,在2秒內(nèi)將流量激增百倍。
此外,F(xiàn)reeWheel還采用了無服務(wù)器技術(shù)(Serverless),使得為后續(xù)開發(fā)的各種系統(tǒng)構(gòu)建了高韌性的基礎(chǔ)。這些云原生技術(shù)幫助FreeWheel既滿足了全球業(yè)務(wù)的高可用性需求,又簡化了系統(tǒng)的復(fù)雜度和運營成本。
結(jié)束語
說了這么多,其實就想說,亞馬遜云科技作為全球最大的云服務(wù)商,在構(gòu)建韌性方面非常有經(jīng)驗。亞馬遜云科技擅長總結(jié)經(jīng)驗并提供服務(wù),完全可以將這些構(gòu)建韌性的能力作為服務(wù)給到客戶,如果一家企業(yè)比較在意韌性,可以多了解亞馬遜云科技的“韌性”。