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