雲計算

阿里“去 IOE”十二年,彈性計算如何二次去 I 和 E?

王堅院士曾講過一句話讓人印象深刻,他說「雲計算的本質是服務,如果不能將計算資源規模化、大範圍地進行共享,如果不能真正以服務的方式提供,就根本算不上雲計算。」眾所周知,阿里雲是完全經歷了從 0 到 1,再到 100 的過程,將計算發揮到極致背後有一個關鍵的服務,那就是彈性計算。

阿里雲彈性計算是阿里雲提供的 IaaS 級別雲計算服務,它免去了客戶採購 IT 硬件的前期準備,讓客戶像使用水、電、天然氣等公共資源一樣便捷、高效地使用計算資源,實現計算資源的即開即用和彈性伸縮。在「CSDN 在線峰會 —— 阿里雲核心技術競爭力」上,阿里雲研究員蔣林泉(花名:雁楊)深入分享了在眾多大規模實踐下百鍊成鋼的彈性計算。

image.png
演講者 | 蔣林泉(雁楊),阿里雲研究員

前言:彈性計算 More than just 虛擬機

一般而言,大家理解的彈性計算,可能首先會想到是虛擬機、雲服務器。

但彈性計算除了是眾所周知的 IaaS 的核心——雲服務器 ECS 之外,還是一個完整的產品家族,而不只是虛擬機。

彈性計算不僅是阿里雲的大底座,更是阿里巴巴集團的大底座,能夠用強大的性能、穩定性、彈性、效率能力來支撐雲上客戶和阿里雲的雲產品。目前,中國 80% 的創新企業都在使用我們的彈性計算產品,更有 99% 的阿里雲其他產品是在彈性計算產品之上為客戶提供服務。

image.png

對於彈性計算而言,我們所承擔的角色可從三個切面去看待,即製造商、零售(運營)商和服務商:

1、製造商負責設計虛擬機/雲服務器,以滿足客戶不同的場景需求;
2、零售(運營)商負責將這些實例售賣出去,提供按量付費、包年包月、RI 以及搶佔式實例等多種付費方式,使得售賣形態更加靈活;

3、服務商則提供大規模集群部署、運維、遷移和彈性伸縮套件產品,實現客戶從 Capex 走向 Opex,讓客戶能夠輕鬆在時間域和空間域上實現擴容,高效交付、部署和運維大規模雲服務器。

零售商(運營商):資源池化&彈性

我們先從零售商的角度來理解彈性計算。

對於零售商而言,需要考慮如何將彈性資源賣出去,如何讓客戶使用這種池化後的彈性資源。

零售商主要是讓用戶的服務器從購買變成租賃形態,可以按照年或者月進行付費,這樣更符合客戶的使用習慣,阿里雲也提供按使用量,甚至是通過競價閒置資源的方式來進行付費,使得客戶可以享受到在線下無法實現的付費方式來節約成本。

在彈性計算的底層提升供應鏈效率,進行服務器硬件資源虛擬化以及調度,並且保證非常高的 SLA,來給客戶提供彈性能力。

image.png

▐ 狹義彈性:時域維度的彈性

我們先來講講狹義的彈性。所謂狹義彈性就是時域維度的彈性。

如下圖中白色條線,這表示的就是時域的彈性,企業上線新特性、年中促銷或者日常促銷,甚至是業務發展變化很快,後臺的計算能力卻往往不能很快跟上。

image.png

一般傳統企業的解決方式其實是提前備貨,提前一年甚至三年做預算,進行 IT 資源的儲備。其目標是為了保證在未來一到兩年內,業務都不會因為容量不夠而受損,這也是導致大量線下傳統企業的日常 CPU 利用率無法達到 5% 的原因。

最糟糕的情況是,當有新業務上線需要大規模容量的時候,IT 資源無法支撐,這樣的矛盾就會使得上圖中間的虛線部分越來越大。因此,傳統方式要麼就會造成浪費計算資源和資金,要麼就無法很好地支撐業務的快速增長。

▐ ECS 狹義彈性能力:天下武功,唯快不破

對於狹義彈性而言,更多需要考慮如何讓其跑得更快,當需要資源的時候以最快的速度給到客戶。

目前,阿里云云服務器 ECS 從開啟服務器到 SSH 可以登錄只需要 22 秒的時間,同時,單位時間內能夠交付的計算力面積,可以做到單客戶、單 Region 5 分鐘 16 萬核 vCPU 的交付能力。

image.png

▐ 彈性容量自動伸縮最佳實踐

我們來看看一個彈性容量的最佳實踐案例。

首先,企業客戶需要守住自己的一個底座,也就是自己日常流量所需的計算資源,也就是下圖中綠色的線,這部分比較適合使用包年包月或者 RI 的模式,因為價格比較便宜。

而在底座之上的彈性部分則可以使用按量計費或者搶佔式的計算資源幫助消除峰值流量,再加上 ESS 的自動化,就能夠實現在不同流量峰谷的時候可以自動包裹業務曲線。

image.png

▐ 容量彈性:ESS 彈性自動化 4 種模式

ESS 彈性自動化提供了 4 種模式,即定時模式、動態模式、手動+動態模式和 AI 預測模式:

1、定時模式適用於業務波動的時間和範圍均可準確預測的場景;

2、動態模式適合業務波動的時間和範圍完全不可預測的場景,根據 CPU 和內存負載情況,進行自動擴容;

3、手動+動態模式是兩者疊加使用,適合業務波動範圍較小,但時間不可預測的場景;

4、AI 預測模式則根據歷史資源使用量的峰谷和時域特徵擬合,通過智能分析預測來做提前擴容,保證在可能的峰值來臨之前,就可以完成資源的準備。

image.png

通過多種伸縮模式的靈活組合,能夠幫助企業快速響應計劃內外的業務變化,實現按需取用,降低成本,自動智能運維,甚至是零運維。

▐ 廣義彈性:基礎設施規模全預鋪-空間域的彈性

第二個維度與大家分享廣義彈性。雲,特別是像阿里雲這麼大規模的雲,很大的一個特徵就是基礎設施規模化的全鋪設,也就是說具有了空間域的彈性。

任何一個物理設備,都有擴容上限。當擴張到上限的時候,就會遇到擴容牆的問題,此時就需要設備全部遷移到另外一個地域並重新啟動,無法做到跨地域調度。

雲計算則能夠實現跨機房、跨可用區,甚至是跨 Region 的擴容。阿里雲擁有日不落的數據中心,業務部署到海外也是非常容易的,這就是廣義的彈性——空間域的彈性。

image.png

▐ 廣義彈性:空間域上覆蓋全球的大規模基礎設施

大家經常會聽到阿里雲部署了多少個 Region 以及多少個 AZ(Availability Zone,可用區),而 AZ 之間是互聯的,延時也有嚴格的保障,因此用戶可以突破 IDC 的邊界,擴容自己的應用。

image.png

▐ 廣義彈性:在 ECS 之上,使用豐富雲服務拓展應用的系統支撐能力的彈性

ECS 會映射到線下的 IDC 服務器,因此無論是數據庫還是應用,都是購買軟件之後進行交付、運維和使用。對多數雲上系統各種 Workload,都可以基於 ECS 用軟件自己搭建。

同時,阿里雲還提供了大規模的服務化的雲產品,一定會有一款滿足你。比如數據庫、容器、函數、中間件等都已經實現了服務化,客戶不需要去安裝、運維和管理這些軟件,而能夠利用這些軟件的彈性實現開箱即用,且按時付費。而且這些軟件的數量和質量還不斷的進化,因此選擇上雲還能夠為將來拓展應用能力的彈性奠定基礎。

製造商:性能優異,穩如磐石

客戶的應用都在這個雲服務器上面,因此性能很重要。雲廠商生產了各種不同規格的雲服務器,通過 IDC、物理機、網絡資源之上的這些操作系統將其切成資源池給到客戶。

這樣就像是工業 4.0,客戶選擇了配置,如內核、CPU、內存、磁盤、操作系統等,阿里雲會將這些資源調度到一臺機器上,實時生產出來交給用戶。

阿里雲提供了封裝形態、規格族、規格大小粒度這樣廣譜覆蓋的實例矩陣來覆蓋用戶在不同場景下對於計算力的需求。

image.png

▐ 製造商成功的本分:穩定性&性能

中國是個製造業大國,而製造商成功的本分其實就是穩定性和性能。阿里雲具有計算、網絡、存儲性能的穩定性,AZ 內、AZ 間、Region 間以及網絡性能的穩定性。

此外,加上飛天操作系統在計算、存儲、網絡 3 個底層技術上的不斷投入,以及大規模調度系統,結合底層硬件不斷進行研發迭代,實現高性能和成本紅利。

image.png

▐ 雲的穩定性

雲的穩定性主要挑戰在兩個方面:宕機遷移業務恢復,磁盤損壞不丟數據;硬件批量維修、過保,保證客戶對過保無感。

阿里雲將運維和虛擬化解耦,可以做到用戶無感的物理硬件替換,對客戶業務的連續性打擾降低到非常小的程度,這正是雲上核心的穩定性邏輯。

image.png

彈性計算的“二次去 I”:用 x86 硬件,挑戰小機型穩定性

下圖中數據來自於各廠商官網,阿里雲 ECS 單實例可用性 SLA 可以達到 99.975%,跨可用區多實例可用性 SLA 可達到 99.995%。

image.png

標題中的“二次去 I”指的是阿里雲在服務客戶的過程中發現客戶單實例對穩定性要求也非常高。

在“第一次去 IOE”的時候,用的是應用層的分佈式技術來解決 x86 的穩定性問題。而在彈性計算領域,則是用基礎層的能力去解決 x86 的穩定性問題,目標是用 x86 的硬件做到和小型機一樣的穩定性,這就是“二次去 I”。客戶的技術能力各不相同,有很大一部分客戶對單機的穩定性有非常高的依賴,無法做應用層的容災,這樣嚴苛的需求就推動阿里雲的服務要達到小型機的穩定性,阿里雲的基礎沉澱了多年,才得以實現這樣的業界領先的 SLA。

彈性計算的雲盤快存儲“二次去 E”:業界主流廠商雲盤可靠性 SLO 一覽

阿里云云盤的可靠性能夠做到“9 個 9”,也是目前業界領先的,需要非常嚴謹和先進的技術架構來保障。通過分佈式的基於 x86 的軟件定義存儲,替代掉原來商業非常昂貴的存儲,並達到了存儲的高可靠性。

80% 的宕機,都來自 IDC 電力、IDC 網絡和服務器系統三類原因

阿里雲是如何做到上述能力的呢?其實對於服務器而言,80%的宕機,都來自 IDC 電力、IDC 網絡和服務器系統三類原因。接下來針對於這三個原因談談阿里雲所做的事情。

強健的電力,強健的網絡帶來強健的 IDC 基礎設施

IDC 掉電的新聞中經常出現,屬於高頻事件。阿里雲在 IDC 的管理上非常嚴格,擁有高可用電力架構、網絡架構以及 3+N 多線 BGP 接入,這也源於多年來的經驗和教訓,才形成背後成熟的管理體系和技術體系。阿里雲幫助客戶消除掉了 IDC 機房的大部分電力、網絡的可用性威脅。

image.png

**
冗餘架構**

舉一個例子,阿里雲在服務器和接入交換機的架構上,存儲、網絡和雲盤等都是通過網卡虛擬化出來的。服務器上的電力、網絡,都是雙線接入的。通過自研技術,在服務器、飛天操作系統中實現物理網絡的路由切換。如果這個地方是個單點,沒有雙路就經常會出現各種各樣的問題。阿里雲選擇在軟件側實現冗餘的網絡線路路由調度。

image.png

批量運維變更故障規避技術平臺

既然是大規模的雲,技術迭代和產品更新背後就會有大量的系統發佈和變更。如何讓其變得更穩定?阿里雲背後依賴於非常高精尖的熱遷移技術,95% 以上的熱遷移,對所有用戶都是無感的。

image.png

**玄機大腦的異常預測&調度
**
飛天操作系統中的玄機大腦能夠對於異常進行預測,做提前的熱遷移,實現對客戶服務的穩定性。

image.png

**核心部件的故障預測:準確率和召回率高達 99%
**
阿里雲核心部件的故障預測的準確率和召回率高達 99%,這背後來自於阿里巴巴這麼多年的技術積累。阿里巴巴是一家數據公司,擁有 10 年百萬級的服務器打標的高質量數據,再結合達摩院科學家的合作,通過算法訓練讓這些數據產生價值,提前預測硬件的健康程度,再結合熱遷移的能力,實現服務的穩定性。

成果:70% 的用戶可感知故障被消除&規避

目前,阿里雲由於硬件產生的問題中的 70% 都是客戶無感的。很多用戶使用雲服務器已經大約 2 到 3 年的時間了,底層的硬件可能已經更換了 2 至 3 次,但是自己卻毫無感知,也沒有重啟過。這就是使用 x86 的硬件實現了小型機的穩定性。

image.png

為何彈性計算如此看重穩定性:進化的力量

阿里雲之所以這麼看重穩定性並做了大量的投入,主要是因為技術進化的力量。雙 11 一直在考驗阿里巴巴集團的系統,不斷髮現小問題並快速逐一修復。

此外,還有一個原因就是客戶群體的差異,中美的雲計算成熟度存在一些差異,在北美或者歐洲,IT 客戶群體的能力相對成熟,可以在應用上做容災,對服務穩定性的依賴相對較小,而國內的 IT 客戶群體還不夠成熟,很多客戶強依賴單機的穩定性,這就讓阿里雲必須重視穩定性的提升。

阿里雲帶著一個夢想,就是能夠通過努力,降低中國企業創業的門檻,減小企業數字化轉型的阻力,這些都是驅動彈性計算不斷進化的驅動力。

▐ 雲的優異性能

講完穩定性,我們來講講性能。

業界領先的 E2E 性能

虛擬化使得 IT 業務的靈活度、交互效率大大提升,而帶來的問題其實就是虛擬化的損耗,這就需要從技術上不斷進步。阿里雲彈性計算具有業界領先的 E2E 性能,ECS 第六代相比第五代在性能方面在 MySQL、nginx、Redis 等場景下都有了大幅度提升,並且綜合性能超越市場同類主售產品。

image.png

ECS 性能更強,成本更低的祕密——全鏈路自研底層技術

無論是神龍、盤古、洛神,還是阿里自研的 IDC 網絡和服務器,這些全鏈路的融合以及軟硬結合,會持續地進行迭代,將技術紅利提供給客戶和市場。

image.png

高性能背後的自研技術:神龍計算平臺

阿里自研的神龍計算平臺在 2017 年發佈第一代產品,並且每年都在迭代,現在給客戶提供服務的是第二代神龍計算平臺。第三代馬上就會開放給客戶,目前處於邀測過程中。

image.png

高性能背後的自研技術:神龍、盤古 2.0,物理網絡的完美結合

阿里雲是第一個能夠把 RDMA 真正用在雲上的雲廠商,這是因為要解決 RDMA 的規模化問題,存在著大量的挑戰。為了享受 RDMA 的技術紅利,則必須要在軟硬件以及架構上進行大量適配,才能夠保證它能夠大規模環境下穩定運行。

image.png

高性能背後的自研技術:玄機大腦的性能調度

在高性能的背後,也需要有強大的調度系統,通過玄機大腦和達摩院進行數據化分析,進行大規模調度,讓購買小規格實例的客戶也能享受到穩定的服務,甚至超出基線的性能。

image.png

全球最極端場景對性能、穩定性的打磨

舉一個極端場景的例子,去年雙 11 中阿里巴巴的全部業務都已經上雲了,峰值會到達無法想象的量級。在平時演練中,會毫無預兆的人為製造各種問題,例如斷電、交換機故障、系統故障等場景,彈性計算團隊需要在最短的時間內解決出現的問題,這樣的考驗對於穩定性的打磨是世界獨一無二的。

服務商:雲上安全感到效率幸福感

除了上述談到的能力之外,用戶上雲之後還需要交付、部署、配置、運維的服務。就像是開車一樣,出了性能好,更需要這種自動駕駛、定速巡航、精準操控等能力輔助。

image.png

服務商:集群複雜度和規模變化,對交付、部署、配置、運維效率要求產生質的變化

上雲企業的大小規模不一樣,企業規模小的時候,使用的資源數量非常少,自動化要求、管理複雜度、運用複雜度都會很低。在規模變大之後,企業會劃分多個部門,具有多個服務和應用,甚至橫跨多個地域。海量的集群複雜度、交付複雜度、服務器管理配置的複雜度都會提升,需求就會有質的變化。

服務商:部署&運維自動化編排,上雲用雲自動化駕駛

在雲上,為了應對以上挑戰,提供了兩套配套方案,部署集+ROS 資源編排,和雲助手+OOS 運維編排,分別解決規模化、自動化部署配置的能力,還有自動化運維的能力,結合穩定的計算實例、時域和空間域的彈性,以及原子 API 和透明監控事件,進而實現了雲上完整彈性。

image.png

ROS:用部署編排自動化,輕鬆交付單元化集群

舉個例子,2020 年 2 月疫情期間,釘釘使用 ROS 進行大規模多集群擴容。保障擴容的順利完成,首先要有資源擴容,其次要有空間進行擴容,並且還走向海外,需要在海外為其擴容。集群擴容規模非常大,需要大量的時間,所以阿里雲通過 ROS 幫助釘釘進行集群擴容,效率提升了 100 倍。而應對如此快速增長的 DAU,背後的彈性能力、快速部署能力、自動化能力都缺一不可。

OOS:運維編排自動化,雲上輕鬆實現大規模集群高效發佈和運維

這裡的例子是一個 1.5 億客戶的大型 App 後端大規模集群發佈運維編排,通過 OOS 編排模板去自動刷新資源,幫助其將單次完整線上發佈時間從 150 分鐘縮短到 10 分鐘,並且不需要人工干預和 0 誤操作。使得發佈頻率從每週一次提升到了每天一次,真正地做到了基礎設施級別的深度持續發佈,使得業務創新效率大幅度提升。

規模&進化:寶劍鋒從磨礪出

如下圖所示的曲線表明規模很重要,規模變大之後,單臺服務器的穩定性、彈性、性能大大提升,研發成本也會急劇下降,而阿里雲背後強大的技術團隊,才讓 ECS 有了極致的體驗。

image.png

彈性計算和阿里雲同一年誕生,如今在規模方面已經成為中國乃至亞太的第一,世界第三。彈性計算團隊從創建開始,與客戶一起成長了 11 年的時間。

小結:規模化實踐驅動的雲計算的優勢會不斷擴大

大規模實踐鍛造而成的彈性計算,驅動著雲計算市場不斷地發展壯大,同時規模化實踐驅動的雲計算由於其優勢,規模也在不斷擴大。

而所有這些競爭力都是構建不同行業的國內外大客戶、嚴苛的雲產品內部客戶、龐大的集團內部客戶的大規模需求驅動之上;構建在阿里雲與集團數據和技術積累的肩膀之上;構建在彈性計算這十年中訓練出來的強大技術團隊,以及在這十年間不斷湧現的技術創新之上。

演講者簡介:蔣林泉是阿里巴巴集團研究員,阿里雲彈性計算負責人。過去幾年他帶領團隊,在大規模客戶場景的驅動下,對平臺技術進行架構升級,讓 ECS 的整體產品彈性、性能、穩定性以及功能體驗都突飛猛進,彈性計算產品體系在業界具備了很強的競爭力。在負責彈性計算之前,他還曾經擔任過阿里雲平臺架構師,阿里雲專有云總架構師,是雲計算領域最優秀的架構師之一。

【END】

Leave a Reply

Your email address will not be published. Required fields are marked *