1. 程式人生 > >大繁至簡,首度揭秘阿裏雲飛天洛神系統

大繁至簡,首度揭秘阿裏雲飛天洛神系統

調度 管理平臺 基礎架構 全球 效率 網絡拓撲 ima img 部署

摘要: 洛神是阿裏雲飛天中負責虛擬網絡的系統,她為阿裏雲客戶提供了豐富的網絡產品,如VPC、SLB等。同時,她也是ECS,RDS,OSS,NAS等100多個雲產品的網絡基礎設施。她還支撐了阿裏巴巴集團和螞蟻金服集團眾多業務,如電商、支付、物流等。

“最好的網絡就像神一樣,無處不在,又感知不到她的存在 …… 大繁至簡,這是我們努力的方向。” – 阿裏雲網絡高級技術專家 孫成浩

2018杭州·雲棲大會的主會場上,阿裏雲產品總監何雲飛介紹了阿裏雲自主研發的雲操作系統飛天的全面升級版飛天2.0。作為飛天2.0核心組成部分之一,洛神首次向外界揭開了她神秘的面紗。在隨後的未來網絡技術專場上,阿裏雲網絡高級技術專家孫成浩對飛天洛神進行了更為詳細的闡述。本文是首次對飛天洛神的概念、演進、架構、特點等方面進行系統化的解讀。

技術分享圖片

什麽是飛天洛神

從物理網絡到用戶感知到的網絡之間存在一個虛擬網絡層。在阿裏雲,我們給這套虛擬網絡系統起了個名字,叫做洛神。洛神是阿裏雲飛天中負責虛擬網絡的系統,她為阿裏雲客戶提供了豐富的網絡產品,如VPC、SLB等。同時,她也是ECS,RDS,OSS,NAS等100多個雲產品的網絡基礎設施。她還支撐了阿裏巴巴集團和螞蟻金服集團眾多業務,如電商、支付、物流等。在全球範圍內,洛神服務著百行百業超過百萬的用戶。在雙十一、世界杯、春運等互聯網流量的尖峰時刻,為每一個消費者的流暢網絡體驗而默默保駕護航。

很多人都知道阿裏雲有一個飛天(Apsara)系統,系統中各組件是用各種神的名字命名的,包括盤古,伏羲,女媧,神農等,其中盤古是分布式文件系統,伏羲是分布式調度系統。為什麽叫虛擬網絡系統叫洛神呢?在古代,河運是非常重要的交通手段,就好比今天的網絡一樣。因此,在給虛擬網絡系統起名的時候,我們就起了一個河神的名字,叫洛神。

飛天洛神的架構

洛神是阿裏雲的分布式操作系統飛天的一部分。在飛天的基礎架構裏面,最上層是各種雲產品,包括大家熟悉的雲產品RDS,ECS,VPC,SLB等等,支撐這些是飛天的3個基礎組件,包括存儲系統盤古,資源管理伏羲和網絡管理洛神。也就是說,洛神除了支撐了阿裏雲的網絡雲產品之外,另外一個重要的角色就是支撐了其他雲產品的網絡基礎設施。

技術分享圖片
講到洛神的技術架構,洛神系統由3大模塊組成 – 數據平面,控制平面和管理平面。

數據平面負責雲網絡中數據包的處理,它就如同物理世界中的網線和路由交換設備,把數據包高效率低延遲的從發送端送到目的地。類似的,洛神數據平面也包含各種不同角色的組件,包括支持各種不同類型計算形態的虛擬交換機,用於數據中心互連的DCN網關,用於雲網絡連接公網的internet網關,用於雲上雲下互連的混合雲網關,提供負載均衡能力的負載均衡網關和提供端接入能力的智能接入網關。為了提高這些組件的轉發性能,洛神不僅使用了軟轉發的技術,而且也對軟硬件結合甚至純硬件的技術進行了廣泛應用。

控制平面則控制如何處理數據包,他是洛神的業務大腦。從技術上看,洛神的控制平面是一個層次性的分布式控制系統,最底層的設備控制器主要負責控制和管理數據平面的各種組件,同時在每個區域存在一個虛擬網絡控制器,在全局存在一個全球路由控制器。區域的虛擬網絡控制器則負責本區域的雲網絡的管理與調度, 全局路由控制器則負責協調調度各個區域的資源形成一張全球的雲網絡。基於虛擬網絡控制器和全局路由控制器之上的則是NFV控制器,完成虛擬網絡高級功能例如×××等產品的編排和抽象。

洛神的管理平面是網絡運維和運營的中樞,它管理著海量的網元以及用戶,這裏的海量指的是千萬級虛擬機和百萬級網元。為了能做到這一點,洛神的管理平臺是基於大數據以及機器學習技術實現的,它對網絡運行當中產生的海量數據進行實時/離線計算,數據建模,來驅動網絡資源的提前規劃,網絡系統的日常維護以及網絡產品的智能運營。整個管理平面包括了一套高性能,分布式的數據分析系統,由它分析出來的數據提供給智能運維和智能運營系統,完成資源規劃,網絡建設,系統變更,實時監控,故障逃逸,產品運營等整個網絡產品生命周期的工作。最終達到排無人值守的網絡變更,先於用戶的問題發現,高效簡單的故障逃逸以及豐富全面的產品及用戶運營的效果。

技術分享圖片

飛天洛神的技術演進之路

洛神能夠成為飛天的四大支柱之一,不是一天煉成的。洛神的演進經歷了四個階段。

首先是經典網絡階段,在這個階段,網絡只有一個概念,就是公網帶寬。經典網絡階段的問題是用戶無法自定義網絡拓撲,這樣使得用戶無法完成雲上雲下的混合雲聯通。為了解決這個問題,洛神進入了VPC階段,VPC階段裏,洛神在每個地域虛擬了數百萬張網絡,並且用戶可以完全自定義這張網絡。隨著網絡規模越來越大,洛神也從區域網絡進入到全球網絡的階段,在這個階段,洛神主要解決如何更好的管理超大規模網絡的問題,雲企業網和雲連接網構成了第三代洛神的兩個主要特性。

滿足了主要的客戶的需求之後,我們開始思考如何進一步提升用戶體驗。用戶對網絡的核心訴求是什麽?其實,客戶的最大訴求是網絡足夠強健可靠,不要發生問題。就像使用水和電一樣,用戶是不需要了解發電站和泵站在哪裏的。因此,洛神希望網絡對用戶是無感知的,又是無處不在的。洛神的發展,是一個從0到1,到100,再回到0的演進過程,大繁至簡,這是我們在研發下一代洛神中努力的方向,這也是我們首先在業界提出Networkless理念背後的思考。

技術分享圖片

飛天洛神的特點

洛神的關鍵特點,包含安全,彈性和可靠,這3個特性也是洛神達到最終Networkless狀態的關鍵特征。

安全是基本盤,因為overlay技術把網絡邏輯的隔離掉,用戶的網絡之前完全不會互通。並且洛神中還包含了各種加密服務可以給到用戶,打造更深層次的的安全。彈性有兩個數字,一個是秒級的轉發性能的彈性,洛神支持從1MB到1TB在一秒內完成彈性,另一個是規模的彈性,洛神的單網絡支持10w臺計算節點的規模。這樣,洛神既可以支持小到虛擬web主機這樣的服務,也可以支持打到雙11零點這樣的海量峰值流量。談到可靠性,我們參考年平均故障時間這個參數,洛神引發的單實例故障時間只有50ms,這個故障時間是極其短的。

技術分享圖片

關鍵設計

接下來我們詳細分析下洛神彈性和可靠性的關鍵設計。洛神系統的數據面,本身就是一臺巨大的交換機。大家都知道,交換機的轉發芯片對數據包的處理,都是pipeline的,硬件處理永遠不會停下來,那洛神的數據面也是如此。從一個數據包進入洛神系統開始,到出去洛神系統的整個過程,經歷了洛神系統裏面的各個組件,都是不會被打斷的,這樣只處理一件事情的數據面,一定是高效的。洛神的數據面包含了軟硬件結合的轉發技術和架構。此外,洛神系統的網絡永遠不會因為維護而中斷,這意味著,洛神裏面的所有組件,都支持熱升級。

在可靠性角度上看,多機房容災是高可用的基礎。當阿裏雲的某一個數據中心雲機房開始部署的時候,洛神系統在物理設施部署完成之後會首先進行部署。這個時候,機房裏面有計算集群,網關和控制平臺。計算集群上面有我們的虛擬交換機組件。對於數據面和控制面的關鍵結點都是集群部署的,單臺服務結點的問題不會對用戶產生任何的影響。當vm的宿主機出現宕機等嚴重問題的時候,可以在機房範圍內進行遷移,遷移本身也不會對vm的網絡屬性和連通性產生任何的影響。每個雲機房裏面都會部署集群的網關和控制器結點,而且隨著機房的增多,會自動在雲機房裏面形成環形的備份關系。當一個新的機房建設起來,洛神系統部署之後,會自動加入到這個備份鏈裏面。這樣,當某一個機房的關鍵結點由於異常出現問題的時候,都可以自動在秒級切換到備份機房,由備份機房的洛神系統來提供服務。這種多層次容災機制,保證用戶可以在很快的時間內恢復業務。

技術分享圖片

除了多機房容災之外,如何快速發現bug和快速恢復,是可靠性的另一個關鍵點。為了解決這個問題,洛神首先設計了基於流的染色系統。如果把洛神系統看成一個整體的交換機,那麽從特性上來看,洛神系統是一個支持流跟蹤的交換機,具有各種豐富的策略。洛神系統的下面是物理網絡的設備和交換機,通過洛神系統的流標記的能力和設定的策略,可以同時在物理網絡和虛擬網絡裏面具備流的染色,特定報文的鏡像,采樣,跟蹤等的能力。這些動作產生的日誌,都會通過采集後做實時計算,如果流量有異常,會產生報警和日誌給到管理員,部分報警可以觸發故障的自動處理和恢復。還有一部分數據經過計算處理,會產生數據報表和用戶畫像,也可以給到用戶一張炫酷的大屏。這個本質上就是數據化的能力。

技術分享圖片

結束語

飛天洛神的使命是讓網絡更簡單。大家都知道AWS提出了Serverless的概念,和Serverless類似,洛神以Networkless的理念作為設計目標,我們希望用戶不再去關心網絡拓撲,網絡帶寬,網絡地址這些專業技術,讓用戶感知不到網絡的存在。Networkless首先是通過不斷的提高彈性和網絡的可靠性來達到的,除此之外的關鍵特性就是NAAS化,讓用戶只關心網絡通,而不需要去關心網絡各種組件。

原文鏈接

本文為雲棲社區原創內容,未經允許不得轉載。

大繁至簡,首度揭秘阿裏雲飛天洛神系統