大繁至簡,首次揭祕阿里雲飛天洛神系統
“最好的網路就像神一樣,無處不在,又感知不到她的存在 …… 大繁至簡,這是我們努力的方向。” – 阿里雲網絡高階技術專家 孫成浩
2018杭州·雲棲大會的主會場上,阿里雲產品總監何雲飛介紹了阿里雲自主研發的雲作業系統飛天的全面升級版飛天2.0。作為飛天2.0核心組成部分之一,洛神首次向外界揭開了她神祕的面紗。在隨後的未來網路技術專場上,阿里雲網絡高階技術專家孫成浩對飛天洛神進行了更為詳細的闡述。本文是首次對飛天洛神的概念、演進、架構、特點等方面進行系統化的解讀。
什麼是飛天洛神
從物理網路到使用者感知到的網路之間存在一個虛擬網路層。在阿里雲,我們給這套虛擬網路系統起了個名字,叫做洛神。 洛神是阿里雲飛天中負責虛擬網路的系統,她為阿里雲客戶提供了豐富的網路產品,如 VPC、SLB等。同時,她也是ECS,RDS,OSS,NAS等100多個雲產品的網路基礎設施。她還支撐了阿里巴巴集團和螞蟻金服集團眾多業務,如電商、支付、物流等。在全球範圍內,洛神服務著百行百業超過百萬的使用者。在雙十一、世界盃、春運等網際網路流量的尖峰時刻,為每一個消費者的流暢網路體驗而默默保駕護航。
Apsara)系統,系統中各元件是用各種神的名字命名的,包括盤古,伏羲,女媧,神農等,其中盤古是分散式檔案系統,伏羲是分散式排程系統。為什麼叫虛擬網路系統叫洛神呢?在古代,河運是非常重要的交通手段,就好比今天的網路一樣。因此,在給虛擬網路系統起名的時候,我們就起了一個河神的名字,叫洛神。
飛天洛神的架構 洛神是阿里雲的分散式作業系統飛天的一部分。在飛天的基礎架構裡面,最上層是各種雲產品,包括大家熟悉的雲產品 RDS,ECS,VPC,SLB等等,支撐這些是飛天的3個基礎元件,包括儲存系統盤古,資源管理伏羲和網路管理洛神。也就是說,洛神除了支撐了阿里雲的網路雲產品之外,另外一個重要的角色就是支撐了其他雲產品的網路基礎設施。
資料平面負責雲網絡中資料包的處理,它就如同物理世界中的網線和路由交換裝置,把資料包高效率低延遲的從傳送端送到目的地。類似的,洛神資料平面也包含各種不同角色的元件,包括支援各種不同型別計算形態的虛擬交換機,用於資料中心互連的 DCN閘道器,用於雲網絡連線公網的internet閘道器,用於雲上雲下互連的混合雲網關,提供負載均衡能力的負載均衡閘道器和提供端接入能力的智慧接入閘道器。為了提高這些元件的轉發效能,洛神不僅使用了軟轉發的技術,而且也對軟硬體結合甚至純硬體的技術進行了廣泛應用。
控制平面則控制如何處理資料包,他是洛神的業務大腦。從技術上看,洛神的控制平面是一個層次性的分散式控制系統,最底層的裝置控制器主要負責控制和管理資料平面的各種元件,同時在每個區域存在一個虛擬網路控制器,在全域性存在一個全球路由控制器。區域的虛擬網路控制器則負責本區域的雲網絡的管理與排程 , 全域性路由控制器則負責協調排程各個區域的資源形成一張全球的雲網絡。基於虛擬網路控制器和全域性路由控制器之上的則是NFV控制器,完成虛擬網路高階功能例如VPN等產品的編排和抽象。
洛神的管理平面是網路運維和運營的中樞,它管理著海量的網元以及使用者,這裡的海量指的是千萬級虛擬機器和百萬級網元。為了能做到這一點,洛神的管理平臺是基於大資料以及機器學習技術實現的,它對網路運行當中產生的海量資料進行實時/離線計算,資料建模,來驅動網路資源的提前規劃,網路系統的日常維護以及網路產品的智慧運營。整個管理平面包括了一套高效能,分散式的資料分析系統,由它分析出來的資料提供給智慧運維和智慧運營系統,完成資源規劃,網路建設,系統變更,實時監控,故障逃逸,產品運營等整個網路產品生命週期的工作。最終達到排無人值守的網路變更,先於使用者的問題發現,高效簡單的故障逃逸以及豐富全面的產品及使用者運營的效果。
飛天洛神的技術演進之路
洛神能夠成為飛天的四大支柱之一,不是一天煉成的。洛神的演進經歷了四個階段。 首先是經典網路階段,在這個階段,網路只有一個概念,就是公網頻寬。經典網路階段的問題是使用者無法自定義網路拓撲,這樣使得使用者無法完成雲上雲下的混合雲聯通。為了解決這個問題,洛神進入了 VPC階段,VPC階段裡,洛神在每個地域虛擬了數百萬張網路,並且使用者可以完全自定義這張網路。隨著網路規模越來越大,洛神也從區域網路進入到全球網路的階段,在這個階段,洛神主要解決如何更好的管理超大規模網路的問題,雲企業網和雲連線網構成了第三代洛神的兩個主要特性。
滿足了主要的客戶的需求之後,我們開始思考如何進一步提升使用者體驗。使用者對網路的核心訴求是什麼?其實,客戶的最大訴求是網路足夠強健可靠,不要發生問題。就像使用水和電一樣,使用者是不需要了解發電站和泵站在哪裡的。因此,洛神希望網路對使用者是無感知的,又是無處不在的。洛神的發展,是一個從 0到1,到100,再回到0的演進過程,大繁至簡,這是我們在研發下一代洛神中努力的方向,這也是我們首先在業界提出Networkless理念背後的思考。
飛天洛神的特點
洛神的關鍵特點,包含安全,彈性和可靠,這 3個特性也是洛神達到最終Networkless狀態的關鍵特徵。 安全是基本盤,因為 overlay技術把網路邏輯的隔離掉,使用者的網路之前完全不會互通。並且洛神中還包含了各種加密服務可以給到使用者,打造更深層次的的安全。彈性有兩個數字,一個是秒級的轉發效能的彈性,洛神支援從1MB到1TB在一秒內完成彈性,另一個是規模的彈性,洛神的單網路支援10w臺計算節點的規模。這樣,洛神既可以支援小到虛擬web主機這樣的服務,也可以支援打到雙11零點這樣的海量峰值流量。談到可靠性,我們參考年平均故障時間這個引數,洛神引發的單例項故障時間只有50ms,這個故障時間是極其短的。
關鍵設計
在可靠性角度上看,多機房容災是高可用的基礎。當阿里雲的某一個數據中心雲機房開始部署的時候,洛神系統在物理設施部署完成之後會首先進行部署。這個時候,機房裡面有計算叢集,閘道器和控制平臺。計算叢集上面有我們的虛擬交換機元件。對於資料面和控制面的關鍵結點都是叢集部署的,單臺服務結點的問題不會對使用者產生任何的影響。當 vm的宿主機出現宕機等嚴重問題的時候,可以在機房範圍內進行遷移,遷移本身也不會對vm的網路屬性和連通性產生任何的影響。每個雲機房裡面都會部署叢集的閘道器和控制器結點,而且隨著機房的增多,會自動在雲機房裡面形成環形的備份關係。當一個新的機房建設起來,洛神系統部署之後,會自動加入到這個備份鏈裡面。這樣,當某一個機房的關鍵結點由於異常出現問題的時候,都可以自動在秒級切換到備份機房,由備份機房的洛神系統來提供服務。這種多層次容災機制,保證使用者可以在很快的時間內恢復業務。

除了多機房容災之外,如何快速發現 bug和快速恢復,是可靠性的另一個關鍵點。為了解決這個問題,洛神首先設計了基於流的染色系統。如果把洛神系統看成一個整體的交換機,那麼從特性上來看,洛神系統是一個支援流跟蹤的交換機,具有各種豐富的策略。洛神系統的下面是物理網路的裝置和交換機,通過洛神系統的流標記的能力和設定的策略,可以同時在物理網路和虛擬網路裡面具備流的染色,特定報文的映象,取樣,跟蹤等的能力。這些動作產生的日誌,都會通過採集後做實時計算,如果流量有異常,會產生報警和日誌給到管理員,部分報警可以觸發故障的自動處理和恢復。還有一部分資料經過計算處理,會產生資料報表和使用者畫像,也可以給到使用者一張炫酷的大屏。這個本質上就是資料化的能力。
結束語
飛天洛神的使命是讓網路更簡單。大家都知道 AWS提出了Serverless的概念,和Serverless類似,洛神以Networkless的理念作為設計目標,我們希望使用者不再去關心網路拓撲,網路頻寬,網路地址這些專業技術,讓使用者感知不到網路的存在。Networkless首先是通過不斷的提高彈性和網路的可靠性來達到的,除此之外的關鍵特性就是NAAS化,讓使用者只關心網路通,而不需要去關心網路各種元件。