網路虛擬化技術為雙11提供靈動網路

12月13-14日,由雲棲社區與阿里巴巴技術協會共同主辦的《2017阿里巴巴雙11技術十二講》順利結束,集中為大家分享了2017雙11背後的黑科技。本文是《網路虛擬化技術為雙11提供靈動網路》演講整理,主要講解了混合雲技術的應用與挑戰,網路虛擬化技術的背景及其實例,以及雙11中的阿里雲網路產品服務,和針對混合雲技術難點的挑戰與破解。

分享嘉賓:江鶴

阿里雲資深技術專家,7次參與雙11,負責阿里雲網路類產品研發及阿里集團網路虛擬化、負載均衡等網關類產品研發。

這篇整理來自於阿里雲網路虛擬化技術專家江鶴在2017阿里雙11在線技術峰會中的分享,該分享整體由四個部分構成:

  1. 混合雲技術的應用與挑戰

    Advertisements

  2. 網路虛擬化技術的背景及其實例

  3. 雙11中的阿里雲網路產品服務

  4. 五大技術破解混合雲難點挑戰

混合雲技術的應用與挑戰

與往年不同,2017年的雙11活動應用了混合雲的方案進行舉辦。在雙11期間,阿里雲的技術人員將華北、華東、華南地區三個既有的電商單元與阿里雲進行同步鏈接,分別建設了對應的三個混合雲方案。並利用這一混合雲方案成功的承擔了高達25.6W筆/秒的交易峰值,抗住了雙11當天零點的訂單與交易壓力。而實際上,混合雲的投入使用還潛藏著諸多的挑戰。

首先,因為「雲」上聚集著非常大量的用戶,安全隔離的問題就會凸顯出來:應當如何保證電商單元在公共雲中形成有效的安全隔離,就成了亟待解決的問題。

Advertisements

第二個問題是網路的連通性,這既包括本地電商單元與本地雲上電商單元的連通性問題,又包括三大不同區域電商單元之間的數據交互和連接。雙11期間流量極高,往往要以T為單位計算,如何保證網路連通中極高的吞吐與低時延能夠達到并行,這同樣是一項巨大的挑戰。

第三個挑戰在於對超大規模的應對,混合雲的網路規模很大,網路中涉及的虛擬機規模同樣很大,且隨著Docker技術的使用,以VM中Docker來進行計算,所涉及的規模還會更大。

最後的挑戰來自於彈性擴容。如何儘可能縮短雙11前的準備時間,在最短的時間內開出想要的資源,在雙11洪峰結束后,同樣在最短時間內把已經投入使用的資源釋放回資源池中。實際上,不同於看起來利用網路將兩朵雲(電商單元和公共雲上單元)進行的簡單鏈接,混合雲的應用會涉及到諸多繁雜的問題。接下來的文段中,我們就來介紹雙11運維中解決這些問題的方法。

網路虛擬化技術的背景與實例

首先要談的就是網路虛擬化技術。什麼是網路虛擬化技術呢?我們可能已經對網路的概念有一個基礎的了解:一張網路交付使用前一定存在建設的周期與過程,但只要投入使用,網路就會變得趨近於固定,如果想進行大幅的的改動,則需要極大的成本和時間周期。這就帶來一個問題,如果用戶對網路的需求非常靈活,彈性很高的話,該用怎樣的網路才能滿足用戶需要呢?

網路虛擬化技術由此應運而生。我們知道,虛擬機技術的原理就是把一台物理伺服器虛擬成N個虛擬機,再把每台虛擬機提供給不同的租戶。網路虛擬化也是類似的,它將一張物理層面的網路通過虛擬轉換技術來虛擬成N張虛擬的網路,再將每張虛擬的網路分別給到不同的用戶進行使用,來滿足用戶對網路環境的需要。

網路虛擬化技術並不僅僅是一個地址空間的虛擬化。網路首先是一個拓撲,拓撲虛擬化實現后,還需要涉及到網路承載流量過程中相關設備的虛擬化。每張虛擬網路中都要提供虛擬的路由器、交換機、Net網關、VPN設備等。用戶拿著虛擬的地址空間和網路設備就能按照自己的需求組建出自己的虛擬網路,隨後就可以將虛擬機、資料庫、存儲服務等內容放在虛擬網路上,組合成一個整體的解決方案。

前面提到了網路虛擬化技術的概念,接下來談談阿里雲的網路虛擬化系統洛神,如圖,中間是一個框,代表數據中心網路,由物理網路設備組成。但在這個框的周圍,我們能看到Internet網關、LB網關、VPN網關、混合雲網關、雲服務網關、SDN控制器、網路分析平台和vSwitch(裝載在每台物理機上的虛擬交換機)等各種各樣的內容,通過它們的聯合把物理網路虛擬化,為每個租戶都提供一張虛擬的網路,同時通過在網關中的實現與vSwitch進行配合,從而虛擬出各式各樣的網路設備。

舉個例子:虛擬路由器。路由器的常規概念是一種基於物理的網路設備。但在網路虛擬化系統中,虛擬路由器只承載功能,不存在實體。它分散式的存在於整張圖的所有部分。阿里雲的洛神系統就是通過類似的方式虛擬出各式各樣的網路和網路設備提供給用戶使用。

大家可能會對此存在疑問,這麼多網關,它們是如何和我們接觸到的虛擬網路設備進行鏈接的呢?這裡應用了一個VXLAN隧道分端技術,通過分端的方式把用戶的ID、網路編號和一些其他特徵加以整合,在用戶數據包從VM/VMDocker開始流轉並進入數據中心網路的同時,將其封裝成一個VXLAN數據包,在數據中心進行流轉,並通過唯一的ID來識別租戶,區分用戶與用戶之間的流量。

前面介紹了利用VXLAN技術進行租戶間的隔離,那麼在封裝之後,又該如何切實組建出一台虛擬路由呢?我們知道,路由器實現的功能主要包括對於數據包的接收、數據包路由查找、修改、發送,以及針對路由表的管理,SDN控制器在這些功能上起到了關鍵性的作用。虛擬網路首先通過API串接虛擬路由,做到在使用期間對路由的添加、刪除與查看。而路由表則通過SDN傳遞到洛神系統中每個相關網關和vSwitch裡面,當用戶的數據包開始流轉時,對應的路由表和路由轉發路徑就已經確定。

剛剛介紹的是數據包的查找修改發送和用戶自行管理介面的提供,但一張網路的運行不是簡單地串接起來就高枕無憂了,實際過程中會出現各種各樣的異常:比如數據中心的交換機或路由器、網卡出現故障。這時該怎樣保障用戶的數據包正常工作呢?洛神專門下轄了一個網路分析平台,用於對網路SLA進行保障,它從控制和轉發兩條路徑提取各種運行狀態和信息進行分析與加工,從而對網路的健康狀態進行診斷,並指出問題的核心。

可以看出,阿里雲的洛神網路虛擬化系統是一個整體化的解決方案,它包含眾多的子系統,共同形成穩定而虛擬化的網路技術和服務。

雙11中的阿里雲網路產品服務

前面的文段中,我們詳細介紹了網路虛擬化技術的構建。那麼,在雙11當天交付給電商單元的服務又是怎樣的一種形式呢?接下來的部分里,我們將繼續介紹網路服務作為產品提供給用戶使用時的組成和狀態。

我們可以看到,阿里雲在雙11期間的網路產品可以劃分成三個部分,左右兩側分別是一個獨立的VPC,是分屬華東和華北雲單元的兩個虛擬網路,它們附帶有EIP,用於提供彈性的公網IP,以實現對雲伺服器ECS中VM資源的快速綁定和解綁,同時提供負載均衡的技術。訪問請求直接在後端VM進行平衡,創造出優秀的容災能力。後端ECS不能工作就會將請求和流量切換到其他ECS上面去,另一個重要的部分是NAT網關,它提供兩種功能,第一是把後端的服務映射到Internet上,第二是為後端VM訪問網際網路或其它單元提供SNET。連接在VPC上的VPN則用於提供運維管控鏈路的能力,在Internet開放介面,讓相關員工在出差辦公時也能夠管理雲上的資源。

此外同樣不難看出,圖中左右兩條VPC之間存在明顯的連線,即為所謂的高通道VPC互聯。通過高通道這一產品實現了華東和華北的兩個單元之間的鏈接,使它們之間能夠完成交易、通信功能並提供數據包訪問。下側還有一個專線的的接入點,它用來提供構成混合雲的能力,讓雲上和非雲單元能夠共同組建形成混合雲。

通常情況下,非雲單元如果想訪問一個雲上單元時,最自然的方式就是與本地的混合雲通信,而阿里雲的一線接入能力則對這一路徑進行了擴大化。只要對阿里雲任何一個VPC進行接入,就能夠和全部本地與異地的雲單元通信。通過這種形式,既實現了雲上單元間的通信,又豐富了雲上和雲下單元之間通信的能力

VPC中同樣具備著虛擬的交換機和虛擬路由器,它們和物理世界中搭建網路的原理和組分上並沒有什麼區別,且得益於網路虛擬單元的優秀的承載能力和豐富的容量,對路由器、交換機、負載均衡等項目的需求可以顯著壓縮,避免資源浪費。

五大技術破解混合雲難點挑戰

用VPC實現租戶間隔離

回到最初的混合雲挑戰中,第一個難點就是單元之間的隔離。可以看到,全部電商單元的VPC和公共雲用戶的VPC都集中在阿里雲統一的大資源池中。對用戶來說,要考慮自身的安全隔離是否充足,與其他租戶的隔離是否充分,用戶單元與阿里自身業務間的隔離是否充分,電商單元是否完全安全可信,交易和雲上其他租戶是否隔離等一大串的問題,這裡就要用到VPC(專有網路)技術。

VPC是一項天然邏輯隔離的技術,它通過前文中的VXLAN技術來確保不同租戶在阿里雲上的流量處於不同的隧道,避免出現數據包串線的情況,為每個用戶營造安全隔離的地址空間。如下圖,同一個VPC上的幾個ECS間可以進行通信,但兩個不同的VPC之間則無法通信,這是VPC設計中的一項基本原則。

高速通道實現異地多活

第二個挑戰在於網路連通,是否能做到雲上各個單元間的通信的進行足夠靈活,達到與同地址空間內通信相同的效率,是否能夠滿足不同地域業務之間的通信需要。對此,阿里雲同樣提供了虛擬的、不同地域間的VPC互通技術,利用高通道產品提供跨越MB至TB層級的邏輯電路,並依託於阿里底層強大的網路基礎設施,創造出廣闊的彈性。

事實上,雲下單元在日常中同樣存在多單元間通信的核心網路,雙11當天的邏輯核心網路可以拆分成兩個部分,一個是非雲上單元的核心網路,一個是雲上單元間互相連接構成的核心網路。雲上雲下之間通過高通道產品進行通道連接,帶寬同樣可以提供到TB級別。這一能力充分的體現了阿里巴巴的底層資源能力和軟體定義網路的靈活能力,充分滿足靈動的定義,可以在極短的時間內將邏輯電路從2MB升到100GB,只需要一個API就可以完成。

NAT網關支撐峰值交易

雙11當天,我們購買完對應的商品,支付時同樣需要進行一次網路訪問。訂單組件需要面向交易系統進行數據交互,這一過程少不了NAT技術的保駕護航。

雙11期間,NAT網關同樣經受著極大的考驗,它不像最基礎的邏輯電路,只需要保證最基礎的連通性,它還要在要連通的同時進行地址轉換。所有需要NAT轉換的設備都會具備鏈接表來反饋轉換的狀態。其中有兩個非常關鍵的指標,第一是建立新鏈接的能力,高新建水平可以避免零點用戶湧入帶來的擁堵。事實上,雙11當天的NAT新建能力已然超越百萬級別。第二是維持大量而廣泛的在線連接的能力,因為雙11其間電商用戶的來源廣闊,數量龐大,在線連接的併發數也同樣是一個天量,並考驗著NAT網關的效能。

SLB承載雙11的訪問流量

面對雙11的流量洪峰,首當其衝,最先接受挑戰的就是SLB負載均衡系統。全部雲上的業務都需要跨機房容災,以及在多個虛擬機之間進行流量的負載分擔,通過負載均衡壓力後方可對外提供服務。

對負載均衡設備來說,雙11同樣充滿著各式各樣的考驗:在幾十上百GB為單位的流量計量下能否提供足夠的吞吐能力;數據包PPS轉發能力是否充足;新建鏈接的能力是否足夠;會話併發數是否足夠;提前的壓力測試無法準確預估零點高峰流量,負載均衡設備能否對突發壓力進行承載;後端虛擬機需要緊急擴容時負載均衡的API效率是否足夠,這些都是針對SLB的巨大考驗。

最終的記錄表明,雙11當天的負載均衡完美的承受住了壓力,它已經接受了很多年的雙11流量考驗,並在一次次的更新中越來越穩定,並具備越來越充足的經驗。

基於API的靈活網路部署

前面的文段中,我們介紹了關於混合雲的一些內容,而如何彈性的在公共雲上拉出一張超大規模的網路,並快速的部署對應的網路設備,這一切的能力都是通過API進行操作的。

在常見的物理網路中,這類工作需要通過拓撲連的方式線進行,而虛擬網路則可以通過API的模式進行快速拉起。前文中提到的專有網路VPC,只需要通過一個API就能夠完成創建,快速形成虛擬的交換機與下轄子網。包括負載均衡設備、NAT網關、各種彈性IP都能夠通過API的模式進行。包括剛才敘述過的高通道產品,其快速從2MB提升到100GB的過程也都通過API完成操作。

這意味著如今阿里云云上提供的網路,全部是SDN的、由軟體定義的網路,所有的操作用戶都可以通過API進行對網路的部署、修改與消亡。事實上,雙11當天內部的電商交易單元也是通過openAPI創建出VPC 負載均衡和NAT網關,從而加以實現的。

這裡存在一個關鍵點:全鏈路API。全鏈路API的投入使用使得API擁有極高的效率,意味著串接一張網路時,其具備自動編排的功能,並支持將提供好的API主核寫成程序,再對其提供觸髮式的動作,在需要時對網路進行串接、修改和擴容。這裡通過網路的創建、運行和消亡三個維度分別對其部署能力進行介紹。

網路創建階段,起初可以通過API創建VPC,並進行IP地址分配,從而將一張完整的拓撲構建出來。接下來可以創建負載均衡、NAT網關等項目,並使用高速通道聯繫位於不同地域的VPC單元,進行混合雲的創建與接入。

運行階段,用戶能夠在網路存在期間內利用API進行任何配置的修改,並在運行過程中獲取運行數據與分析,監控,告警等各各式各樣的信息。以雙11混合云為例,技術人員在雙11前幾天拉起網路,在投入使用的過程中對網路進行修改和適配以滿足雙11的實際需求,並在活動結束後進行對網路的消亡處理,將閑置出的資源返回公共資源池中,重新售賣給外界租戶。

超大規模混合雲

前面的文段中,我們介紹了雙11的混合雲技術,闡述了面向雲上各種虛擬網路和虛擬網路單元的能力,那麼接下來,我們可以通過這樣一張圖來詳細的看到今年雙11當天各大組件的具體數據指標。

可以這樣進行概括,整個雙11過程中,阿里云為雙11提供了靈動、智能、和可信的網路服務,交出了一份近乎完美的答卷。

「靈動」體現於從網路拉起、創建、到運行過程中的修改,乃至最終的消亡都十分靈活,並擁有API,控制台,甚至小程序等豐富的操作手段。

「智能」體現在對網路提供了各種維度的數據指標,能夠給用戶和相關交易提供充足的數據參考來進行決策,並在後台提供多種智能監測,方便我們了解網路的運行狀況,明確問題出在哪裡,解決方案是什麼。

「可信」 而安全是這一網路最終達到的效果,租戶與租戶之間隔離SLA極高,為全部阿里雲用戶和雙11活動都提供了優秀的SLA服務。

雙11當天,阿里雲的虛擬網路與其它產品一起,為整個阿里巴巴的活動提供了極好的底層基礎設施支撐,我們有理由相信,在愈發擴大的雙11規模下,阿里雲能夠持續為未來的每一個雙11購物節都提供更為靈動,智能與可信的網路服務。


Advertisements

你可能會喜歡