技術(shù)
導(dǎo)讀:人們需要了解云計(jì)算供應(yīng)商區(qū)域隔離方法的差異將如何影響工作負(fù)載性能。
谷歌公司最近的宕機(jī)事件表明,可用性區(qū)域并不是獲得高可用性的靈丹妙藥。人們需要了解云計(jì)算供應(yīng)商區(qū)域隔離方法的差異將如何影響工作負(fù)載性能。
對(duì)于大規(guī)模運(yùn)營的云計(jì)算提供商而言,云平臺(tái)發(fā)生故障和中斷是可以理解的(也可能是不可避免的)。AWS、Google、Microsoft這三個(gè)主要的云計(jì)算供應(yīng)商必須在運(yùn)營效率和高可用性之間取得平衡,運(yùn)營效率通過自動(dòng)化得到改善,而高可用性則通過物理上不同的區(qū)域得到改善。
可用性區(qū)域旨在提供冗余性,但仍可能在其中發(fā)生廣泛的系統(tǒng)故障。云計(jì)算區(qū)域提供了更大程度的邏輯分離,但它們?yōu)榭鐓^(qū)域復(fù)制工作負(fù)載的組織帶來了一些問題。
盡管存在復(fù)雜性和權(quán)衡,企業(yè)需要了解與區(qū)域隔離相關(guān)的變量,以便他們可以設(shè)計(jì)高可用性和對(duì)系統(tǒng)性故障更具彈性的應(yīng)用程序。
可用性區(qū)域和云區(qū)域如何協(xié)同工作
AWS、Microsoft Azure和谷歌云都依賴于相互連接的云計(jì)算設(shè)施的三個(gè)層次結(jié)構(gòu):數(shù)據(jù)中心、松散耦合的可用性區(qū)域,以及地理分隔的云區(qū)域。
可用性區(qū)域是兩個(gè)或多個(gè)地理位置相近的數(shù)據(jù)中心的集合,通常位于同一個(gè)都市區(qū),并通過冗余、超高速、低延遲的網(wǎng)絡(luò)電路連接。而多個(gè)可用性區(qū)域可以組成一個(gè)云區(qū)域。
云區(qū)域通過專用的高性能線路連接,微軟公司稱之為“延遲定義的周邊”。云計(jì)算提供商通常在一個(gè)國家擁有多個(gè)云區(qū)域。例如,AWS公司在美國有四個(gè)商業(yè)性云區(qū)域,另外兩個(gè)云區(qū)域?qū)iT用于公共部門。
許多云計(jì)算服務(wù)(包括一些數(shù)據(jù)庫、存儲(chǔ)層和負(fù)載平衡器)旨在跨可用性區(qū)域自動(dòng)配置資源。其他服務(wù)(如AWS身份和訪問管理或Azure CDN)可在所有云區(qū)域自動(dòng)使用。正如谷歌中斷事件所示,數(shù)據(jù)中心的耦合可能導(dǎo)致整個(gè)可用性區(qū)域在適當(dāng)?shù)臈l件下發(fā)生故障。
云計(jì)算提供商方法中的變量
谷歌公司的中斷事件還突出了云計(jì)算供應(yīng)商管理可用性區(qū)域的不同之處。例如,AWS公司聲稱擁有最大程度的設(shè)施獨(dú)立性。亞馬遜公司首席技術(shù)官Werner Vogels 2018年在博客中表示,如果一個(gè)可用性區(qū)域電力中斷,不會(huì)影響另一個(gè)可用性區(qū)域運(yùn)營,而一個(gè)可用性區(qū)域中的軟件錯(cuò)誤不太可能蔓延到另一個(gè)可用性區(qū)域。他補(bǔ)充說,AWS公司為此還專門構(gòu)建了工具和程序,因此它們不會(huì)影響多個(gè)云區(qū)域。
與此同時(shí),微軟公司在推出可用性區(qū)域方面進(jìn)展緩慢,截至目前,其54個(gè)全球云區(qū)域中只有10個(gè)云區(qū)域有這些可用性區(qū)域。去年9月,缺乏廣泛的可用性區(qū)域?qū)е挛④汚zure在美國中南部的云區(qū)域發(fā)生大規(guī)模的中斷。
Azure Post Mortem強(qiáng)調(diào)了可用性區(qū)域內(nèi)低延遲連接的價(jià)值,指出跨區(qū)域復(fù)制為許多服務(wù)增加了太多的延遲。就這些數(shù)據(jù)中心之間的連接而言,云計(jì)算運(yùn)營商對(duì)其內(nèi)部設(shè)施、系統(tǒng)和網(wǎng)絡(luò)的設(shè)計(jì)細(xì)節(jié)是眾所周知的隱私。然而,一些公開的細(xì)節(jié)也暴露了它們的規(guī)模和復(fù)雜性。
AWS公司表示,連接其各種數(shù)據(jù)中心和云區(qū)域的專用網(wǎng)絡(luò)建立在通過跨洋電纜連接的全球冗余并行100 GbE城域光纖網(wǎng)絡(luò)上。
谷歌公司運(yùn)營著一個(gè)全球私有網(wǎng)絡(luò),估計(jì)占全球所有互聯(lián)網(wǎng)流量的25%左右。谷歌公司在2018年表示,在過去三年中花費(fèi)了300億美元來建設(shè)其云計(jì)算基礎(chǔ)設(shè)施,包括增加新的區(qū)域和幾條海底光纜。
谷歌公司使用自行開發(fā)的軟件定義網(wǎng)絡(luò)和分布式控制平臺(tái)以及網(wǎng)絡(luò)結(jié)構(gòu)管理器,通過跨多個(gè)數(shù)據(jù)中心復(fù)制和共享配置數(shù)據(jù)來提供高可用性(HA)。它還使用容器集群來支持實(shí)時(shí)工作負(fù)載遷移和“無中斷”數(shù)據(jù)平臺(tái)升級(jí)。
微軟Azure表示其云區(qū)域旨在將故障隔離到一個(gè)云區(qū)域中,并且一個(gè)云區(qū)域中的故障不應(yīng)影響其他區(qū)域。
使用云內(nèi)和云平臺(tái)之間的區(qū)域
跨多個(gè)云區(qū)域分發(fā)應(yīng)用程序工作負(fù)載和數(shù)據(jù)庫是通過云計(jì)算基礎(chǔ)設(shè)施實(shí)現(xiàn)高可用性的最佳方式。但是,組織必須在這樣做時(shí)必須理解和設(shè)計(jì)網(wǎng)絡(luò)性能的可變性。
云計(jì)算提供商在路由流量方面存在差異,這會(huì)顯著影響網(wǎng)絡(luò)延遲。沒有一個(gè)云計(jì)算提供商可以保證甚至公布其區(qū)域間性能的數(shù)據(jù)。
然而,網(wǎng)絡(luò)監(jiān)控供應(yīng)商ThousandEyes公司于2018年11月進(jìn)行的詳細(xì)研究提供了大量有用的見解。雖然其演示文稿的觀點(diǎn)還需要一些探討和研究,但以下是云計(jì)算廣域網(wǎng)性能的一些關(guān)鍵點(diǎn)。
1 可用性區(qū)域內(nèi)的性能優(yōu)異,一致性滿足低于2ms網(wǎng)絡(luò)延遲的目標(biāo)。
2 云區(qū)域之間表現(xiàn)在美國和歐洲最好,在亞洲和大洋洲表現(xiàn)最差。美國和歐洲地區(qū)之間的表現(xiàn)也相當(dāng)不錯(cuò)。
3 亞洲的各供應(yīng)商的績效差異很大,其中AWS公司具有最高的網(wǎng)絡(luò)可變性。
4 AWS、Azure、谷歌云將網(wǎng)絡(luò)彼此對(duì)等,這意味著它們之間的流量不會(huì)流經(jīng)主干,并遍歷公共互聯(lián)網(wǎng)。因此,在云平臺(tái)之間移動(dòng)數(shù)據(jù)時(shí)存在疏忽的數(shù)據(jù)包丟失和抖動(dòng),盡管在單個(gè)云場(chǎng)景中區(qū)域間延遲會(huì)有相同的差異。
在使用多個(gè)云區(qū)域來提高應(yīng)用程序可用性時(shí),需要考慮應(yīng)用程序流量的來源(大多數(shù)最終用戶所在的位置)以及區(qū)域間網(wǎng)絡(luò)延遲的可變性,以及三大云計(jì)算提供商在路由全球流量的差異。