經(jīng)驗沒有壓縮算法,揭秘亞馬遜云科技打造韌性云服務(wù)背后的工程思維

9月3日消息,隨著《黑神話:悟空》的火爆,其中出現(xiàn)的場景原型之一——應(yīng)縣木塔,這座修建于約1000年前的世界現(xiàn)存最高大、最古老純木結(jié)構(gòu)樓閣式建筑再次引發(fā)人們的驚嘆。這座木塔能屹立千年的秘訣是什么?

近日,亞馬遜云科技大中華區(qū)解決方案架構(gòu)總經(jīng)理代聞在談及亞馬遜云科技云服務(wù)穩(wěn)定性、可靠性和韌性(應(yīng)用程序抵御中斷或從中恢復(fù)的能力)方面的話題時表示,如同應(yīng)縣木塔能屹立千年,背后涉及到“選址、架構(gòu)、維護(hù)”等關(guān)鍵因素和環(huán)節(jié)一樣,保障云端服務(wù)的穩(wěn)定性和韌性同樣需要有這樣的工程思維。

事實上,隨著各類應(yīng)用程序深度進(jìn)入人們的日常生活中,人們對在線應(yīng)用的穩(wěn)定性要求就像空氣和水一樣自然——擁有時感受不明顯,一旦缺失卻會帶來極大嚴(yán)重后果。如何確保業(yè)務(wù)連續(xù)性,提升韌性,是企業(yè)需要解決的“基礎(chǔ)”而又“永恒”的問題。

代聞表示,作為行業(yè)云服務(wù)的領(lǐng)先者,亞馬遜云科技自2006年發(fā)布第一款云服務(wù)至今,已提供了超過 240 種功能全面的服務(wù),積淀了一套行之有效的提升云服務(wù)“韌性”的方法,包括設(shè)計、實踐、實施,工程經(jīng)驗的積累等,希望分享給行業(yè),大家共同來促進(jìn)企業(yè)業(yè)務(wù)的“韌性”發(fā)展。

首先,由果導(dǎo)因,亞馬遜云科技將常見的系統(tǒng)故障的歸因進(jìn)行了分類:

基礎(chǔ)設(shè)施層——包括數(shù)據(jù)中心、主機(jī)、機(jī)架、網(wǎng)絡(luò)故障,或自然災(zāi)害導(dǎo)致的損壞;

架構(gòu)設(shè)計層——數(shù)據(jù)狀態(tài)、應(yīng)用程序狀態(tài)異常、依賴項失效等;

運營機(jī)制層——由運維操作、代碼部署、配置錯誤等引起的故障。

“亞馬遜云科技過去的18年里,在基礎(chǔ)設(shè)施的設(shè)計落地、系統(tǒng)架構(gòu)的設(shè)計實施、運營機(jī)制的不斷的積累這三方面都做了非常多的工作?!贝劮Q。

基礎(chǔ)設(shè)施怎么建,韌性最好?

亞馬遜云科技對基礎(chǔ)設(shè)施布局設(shè)計有一套嚴(yán)格標(biāo)準(zhǔn)。首先,分為區(qū)域(Region)和可用區(qū)(AZ):

區(qū)域(Region),就是亞馬遜云科技在世界各地聚集數(shù)據(jù)中心的物理位置。

可用區(qū)(AZ),是區(qū)域的下一級。亞馬遜云科技將每個邏輯數(shù)據(jù)中心組稱為可用區(qū),每個區(qū)域由三個或更多可用區(qū)組成。每個可用區(qū)又由多個或單個超大數(shù)據(jù)中心連接組成。

每個可用區(qū)的數(shù)據(jù)中心都有獨立的電力、制冷和物理安全設(shè)施。

可用區(qū)間的距離:同一區(qū)域內(nèi)的可用區(qū)之間具有足夠的距離,一般在約100公里內(nèi)。代聞介紹道:“這意味著一個可用區(qū)發(fā)生電力中斷,自然災(zāi)害時,區(qū)域內(nèi)其他可用區(qū)不會受到任何影響, 安全距離既能防止相關(guān)故障,又能實現(xiàn)單位毫秒級延遲的同步復(fù)制?!?/p>

最后,在可用區(qū)內(nèi)部、可用區(qū)之間、區(qū)域和區(qū)域之間,均鋪設(shè)光纖線路兩兩互聯(lián),實現(xiàn)高速數(shù)據(jù)傳輸?shù)耐瑫r任一連接是冗余的。

代聞以亞馬遜云科技在中國大陸的兩個區(qū)域為例對這種基礎(chǔ)設(shè)施設(shè)計進(jìn)行了介紹:

可用區(qū)內(nèi)部:寧夏或北京區(qū)域的每個可用區(qū)內(nèi)有多個數(shù)據(jù)中心,它們兩兩之間鋪設(shè)多條冗余鏈路互聯(lián),可用區(qū)內(nèi)任何數(shù)據(jù)中心連接直達(dá);

可用區(qū)之間:寧夏或北京的每個可用區(qū)間由至少兩個的傳輸中心互聯(lián),任一可用區(qū)的任一數(shù)據(jù)中心均有多條冗余鏈路與傳輸中心互聯(lián),跨可用區(qū)的任意一個數(shù)據(jù)中心可通過傳輸中心互聯(lián);

區(qū)域與區(qū)域互聯(lián):在寧夏和北京區(qū)域分別實現(xiàn)多層級互聯(lián)韌性保障之后,北京和寧夏之間通過冗余的連接中心站點和分布的冗余鏈路互聯(lián)。這些連接中心站點之間的大帶寬冗余鏈路形成亞馬遜云科技堅實的基建骨干網(wǎng)絡(luò)。

代聞強(qiáng)調(diào)道:“這種保障韌性的冗余設(shè)計的投資是非常巨大的,但是為了能夠?qū)崿F(xiàn)最高的可用性,亞馬遜云科技不會在任何的設(shè)計標(biāo)準(zhǔn)和實施的時候打折扣?!?/p>

截至目前,亞馬遜云科技全球基礎(chǔ)設(shè)施遍及34個地理區(qū)域的108個可用區(qū)。

有韌性的“系統(tǒng)架構(gòu)設(shè)計”的基本思維是什么?

代聞?wù)J為,對于系統(tǒng)架構(gòu)設(shè)計來保障云服務(wù)的韌性,一個基本的思維是控制“失效的范圍”。

亞馬遜云科技總結(jié)云服務(wù)自身韌性的四大要素:區(qū)域隔離,多可用區(qū);控制面和數(shù)據(jù)面獨立;單元架構(gòu);隨機(jī)分片。

具體來看,

一、 “區(qū)域隔離,多可用區(qū)”:根據(jù)故障隔離邊界,亞馬遜云科技將服務(wù)劃分為三種不同類別:可用區(qū)級、區(qū)域級和全球級,從而控制故障發(fā)生時對客戶的影響范圍。

以全球級服務(wù)Amazon IAM為例,在全球級別的控制平面,IAM的增刪改邏輯和數(shù)據(jù)存儲架構(gòu)被切分成細(xì)小的計算和存儲單元。這些分布式的數(shù)據(jù)細(xì)胞共同提供服務(wù),通過單元細(xì)胞模型實現(xiàn)高可用且極小爆炸半徑,確保服務(wù)韌性。即便在極端情況下,全球控制平面和數(shù)據(jù)下發(fā)出現(xiàn)故障,影響范圍僅限于無法創(chuàng)建新的IAM信息。但每個區(qū)域的數(shù)據(jù)平面依然可以繼續(xù)穩(wěn)定提供本區(qū)域的認(rèn)證授權(quán)服務(wù)。

二、控制面和數(shù)據(jù)面獨立:亞馬遜云科技將服務(wù)拆分為控制平面和數(shù)據(jù)平面兩個層面。

代聞介紹這樣設(shè)計出于兩個原因:

其一,確保云服務(wù)的數(shù)據(jù)平面能夠獨立于控制平面的狀態(tài)持續(xù)穩(wěn)定運行。即使控制平面出現(xiàn)故障,數(shù)據(jù)平面也可以正常對外服務(wù)。系統(tǒng)的控制面往往由更多組件構(gòu)成,因此從統(tǒng)計概率上講,它發(fā)生故障的可能性更高,但對于服務(wù)的可用性而言,數(shù)據(jù)平面的可用性比控制平面更為重要。對大多數(shù)客戶而言,Amazon EC2實例在啟動后的持續(xù)正常運行,比啟動新實例的能力更為關(guān)鍵。

其二,獨立擴(kuò)展互不影響。通常情況下,數(shù)據(jù)平面的運營容量和控制平面并不一致,數(shù)據(jù)平面要高于控制平面。隔離后,這兩個平面可以根據(jù)各自的需求進(jìn)行獨立擴(kuò)展。

代聞補(bǔ)充解釋道:“控制面和數(shù)據(jù)面的隔離,類似于叫車軟件和打車,兩者其實是相對獨立的。當(dāng)你坐上車以后,如果一段時間叫車軟件沒有信號無法響應(yīng)了,也不影響司機(jī)將你送到預(yù)定的目的地。很多故障失效的情況關(guān)鍵在于沒有把數(shù)據(jù)面和控制面做到很好的隔離?!?/p>

三、單元架構(gòu)及隨機(jī)分片:單元架構(gòu)設(shè)計的的核心思想是將整個系統(tǒng)分解為更小的獨立單元,當(dāng)發(fā)生故障時,只有該單元受影響,而不會導(dǎo)致整個系統(tǒng)癱瘓。以數(shù)據(jù)庫為例,亞馬遜云科技為常規(guī)數(shù)據(jù)庫添加分片分區(qū)層,并在存儲和計算維度將整個系統(tǒng)分害成更小的單元,當(dāng)發(fā)生故障時,無論硬件、網(wǎng)絡(luò)、電力系統(tǒng)還是代碼,都將影響最小化。同時,隨機(jī)分片可以進(jìn)一步提高整個應(yīng)用和系統(tǒng)的可用性。

基于實踐總結(jié)的“運營機(jī)制”的建立

“為確保云服務(wù)的韌性,卓越的運營和機(jī)制至關(guān)重要,也是亞馬遜云科技的差異化優(yōu)勢之一。”代聞強(qiáng)調(diào)。

如亞馬遜CEO Andy Jassy所言,“經(jīng)驗沒有壓縮算法”,經(jīng)過18年的發(fā)展,目前,亞馬遜云科技的運營機(jī)制總結(jié)為4個模塊:服務(wù)責(zé)任模型、運營就緒審查、持續(xù)安全部署、糾錯流程。

1.服務(wù)責(zé)任模型:采用服務(wù)所有權(quán)模型,激勵團(tuán)隊不斷改進(jìn)運營。工程和產(chǎn)品管理工作由小型、多學(xué)科團(tuán)隊領(lǐng)導(dǎo),并對其提供的服務(wù)擁有強(qiáng)大的所有權(quán)。這種所有權(quán)不僅要負(fù)責(zé)設(shè)計和啟動服務(wù),還要在生產(chǎn)期間運營它,并在出現(xiàn)問題時隨叫隨到。

2.運營就緒性審查:在發(fā)布和更新亞馬遜云科技服務(wù)之前,還需要使用運營就緒性審查(ORR)流程對所有新服務(wù)進(jìn)行審查。發(fā)布團(tuán)隊會回答一系列關(guān)于復(fù)原力以及其他已知最佳實踐的問題,并使用標(biāo)準(zhǔn)化的運行手冊來確保服務(wù)符合標(biāo)準(zhǔn)。服務(wù)部署后,每周舉行運營會議,檢查系統(tǒng)的運營性能以及任何懸而未決的問題。

3.安全、持續(xù)部署:亞馬遜云科技進(jìn)行服務(wù)更新或推出新服務(wù)時會使用安全、持續(xù)部署管道。通過使用廣泛的生產(chǎn)前測試、自動回滾和交錯生產(chǎn)部署,將自動化部署安全性構(gòu)建到發(fā)布過程中,能夠最大限度地減少錯誤部署對生產(chǎn)造成的潛在影響。例如,服務(wù)的更新從小處開始。更新首先推出到AZ內(nèi)的單個服務(wù)器,并經(jīng)過指定的等待期來驗證沒有出現(xiàn)問題。隨后更新部署到整個AZ的其余部分,然后部署到其他AZ,然后部署到單個區(qū)域,最后部署到其余區(qū)域。

4.糾錯流程:出現(xiàn)任何問題會利用糾錯(COE)流程等事件管理機(jī)制來幫助團(tuán)隊了解根本原因。在問題得到緩解后推動全公司的工程沖刺,以確保該問題在所有服務(wù)中得到解決,這減少了未來類似事件影響另一個服務(wù)的可能性。這些學(xué)習(xí)被記錄下來,并成為ORR過程的一部分,這確保了類似的問題不會再次發(fā)生。

另外,為了幫助客戶更輕松地提升云中應(yīng)用的韌性,亞馬遜云科技基于自身以及多年服務(wù)客戶的廣泛經(jīng)驗,總結(jié)了一套包含了服務(wù)、策略和架構(gòu)最佳實踐的“韌性系統(tǒng)建設(shè)生命周期框架”。該框架包含五個階段:設(shè)定目標(biāo)、設(shè)計和實施、驗證和測試、持續(xù)運營以及響應(yīng)和改進(jìn)。同時,亞馬遜云科技在每個階段都為客戶提供了適用的工具和服務(wù)。

2022 年,奇瑞捷豹路虎選擇將關(guān)鍵的 SAP 系統(tǒng)遷移至亞馬遜云科技云上,成功地邁出了數(shù)字化轉(zhuǎn)型的關(guān)鍵一步。通過將 SAP 系統(tǒng)所有模塊平移上云,奇瑞捷豹路虎的業(yè)務(wù)敏捷性、人員工作效率大幅提升。其中,利用亞馬遜云科技獨有的一個區(qū)域三個可用區(qū)特性,并在亞馬遜云科技特有的自適應(yīng)跨可用區(qū)高可用集群進(jìn)行整體切換基礎(chǔ)上,創(chuàng)新性提出高可用和同城災(zāi)備融合方案,使用云上三個可用區(qū)及引入仲裁方案使集群可靠性、穩(wěn)定性得到增強(qiáng),最大限度地減少了停機(jī)時間和保障零數(shù)據(jù)丟失,故障切換時間從半小時縮短至 3 分鐘。

“構(gòu)建韌性是一個持續(xù)的過程,而不是一次性的努力”,代聞強(qiáng)調(diào)道,“亞馬遜云科技每天穩(wěn)定啟動的Amazon EC2實例超過1億,每秒 API請求數(shù)高達(dá)100萬億。正是因為做對了很多事情,才有今天全球數(shù)百萬客戶的選擇和信任。”

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實,并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實,溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2024-09-03
經(jīng)驗沒有壓縮算法,揭秘亞馬遜云科技打造韌性云服務(wù)背后的工程思維
近日,亞馬遜云科技大中華區(qū)解決方案架構(gòu)總經(jīng)理代聞在談及亞馬遜云科技云服務(wù)穩(wěn)定性、可靠性和韌性(應(yīng)用程序抵御中斷或從中恢復(fù)的能力)方面的話題時表示,如同應(yīng)縣木塔能屹立千年,背后涉及到“選址、架構(gòu)、維護(hù)”等關(guān)鍵因素和環(huán)節(jié)一樣,保障云端服務(wù)的穩(wěn)定性和韌性同樣需要有這樣的工程思維。

長按掃碼 閱讀全文