网络虚拟化技术为双11提供灵动网络
摘要: 12月13-14日,由云棲社區(qū)與阿里巴巴技術(shù)協(xié)會共同主辦的《2017阿里巴巴雙11技術(shù)十二講》順利結(jié)束,集中為大家分享了2017雙11背后的黑科技。本文是《網(wǎng)絡(luò)虛擬化技術(shù)為雙11提供靈動網(wǎng)絡(luò)》演講整理,主要講解了混合云技術(shù)的應(yīng)用與挑戰(zhàn),網(wǎng)絡(luò)虛擬化技術(shù)的背景及其實例,以及雙11中的阿里云網(wǎng)絡(luò)產(chǎn)品服務(wù),和針對混合云技術(shù)難點的挑戰(zhàn)與破解。
12月13-14日,由云棲社區(qū)與阿里巴巴技術(shù)協(xié)會共同主辦的《2017阿里巴巴雙11技術(shù)十二講》順利結(jié)束,集中為大家分享了2017雙11背后的黑科技。本文是《網(wǎng)絡(luò)虛擬化技術(shù)為雙11提供靈動網(wǎng)絡(luò)》演講整理,主要講解了混合云技術(shù)的應(yīng)用與挑戰(zhàn),網(wǎng)絡(luò)虛擬化技術(shù)的背景及其實例,以及雙11中的阿里云網(wǎng)絡(luò)產(chǎn)品服務(wù),和針對混合云技術(shù)難點的挑戰(zhàn)與破解。
分享嘉賓:江鶴
阿里云資深技術(shù)專家,7次參與雙11,負(fù)責(zé)阿里云網(wǎng)絡(luò)類產(chǎn)品研發(fā)及阿里集團網(wǎng)絡(luò)虛擬化、負(fù)載均衡等網(wǎng)關(guān)類產(chǎn)品研發(fā)。
這篇整理來自于阿里云網(wǎng)絡(luò)虛擬化技術(shù)專家江鶴在2017阿里雙11在線技術(shù)峰會中的分享,該分享整體由四個部分構(gòu)成:
混合云技術(shù)的應(yīng)用與挑戰(zhàn)
網(wǎng)絡(luò)虛擬化技術(shù)的背景及其實例
雙11中的阿里云網(wǎng)絡(luò)產(chǎn)品服務(wù)
五大技術(shù)破解混合云難點挑戰(zhàn)
混合云技術(shù)的應(yīng)用與挑戰(zhàn)
與往年不同,2017年的雙11活動應(yīng)用了混合云的方案進行舉辦。在雙11期間,阿里云的技術(shù)人員將華北、華東、華南地區(qū)三個既有的電商單元與阿里云進行同步鏈接,分別建設(shè)了對應(yīng)的三個混合云方案。并利用這一混合云方案成功的承擔(dān)了高達(dá)25.6W筆/秒的交易峰值,抗住了雙11當(dāng)天零點的訂單與交易壓力。而實際上,混合云的投入使用還潛藏著諸多的挑戰(zhàn)。
首先,因為“云”上聚集著非常大量的用戶,安全隔離的問題就會凸顯出來:應(yīng)當(dāng)如何保證電商單元在公共云中形成有效的安全隔離,就成了亟待解決的問題。
第二個問題是網(wǎng)絡(luò)的連通性,這既包括本地電商單元與本地云上電商單元的連通性問題,又包括三大不同區(qū)域電商單元之間的數(shù)據(jù)交互和連接。雙11期間流量極高,往往要以T為單位計算,如何保證網(wǎng)絡(luò)連通中極高的吞吐與低時延能夠達(dá)到并行,這同樣是一項巨大的挑戰(zhàn)。
第三個挑戰(zhàn)在于對超大規(guī)模的應(yīng)對,混合云的網(wǎng)絡(luò)規(guī)模很大,網(wǎng)絡(luò)中涉及的虛擬機規(guī)模同樣很大,且隨著Docker技術(shù)的使用,以VM中Docker來進行計算,所涉及的規(guī)模還會更大。
最后的挑戰(zhàn)來自于彈性擴容。如何盡可能縮短雙11前的準(zhǔn)備時間,在最短的時間內(nèi)開出想要的資源,在雙11洪峰結(jié)束后,同樣在最短時間內(nèi)把已經(jīng)投入使用的資源釋放回資源池中。 實際上,不同于看起來利用網(wǎng)絡(luò)將兩朵云(電商單元和公共云上單元)進行的簡單鏈接,混合云的應(yīng)用會涉及到諸多繁雜的問題。接下來的文段中,我們就來介紹雙11運維中解決這些問題的方法。
網(wǎng)絡(luò)虛擬化技術(shù)的背景與實例
首先要談的就是網(wǎng)絡(luò)虛擬化技術(shù)。什么是網(wǎng)絡(luò)虛擬化技術(shù)呢?我們可能已經(jīng)對網(wǎng)絡(luò)的概念有一個基礎(chǔ)的了解:一張網(wǎng)絡(luò)交付使用前一定存在建設(shè)的周期與過程,但只要投入使用,網(wǎng)絡(luò)就會變得趨近于固定,如果想進行大幅的的改動,則需要極大的成本和時間周期。這就帶來一個問題,如果用戶對網(wǎng)絡(luò)的需求非常靈活,彈性很高的話,該用怎樣的網(wǎng)絡(luò)才能滿足用戶需要呢?
網(wǎng)絡(luò)虛擬化技術(shù)由此應(yīng)運而生。我們知道,虛擬機技術(shù)的原理就是把一臺物理服務(wù)器虛擬成N個虛擬機,再把每臺虛擬機提供給不同的租戶。網(wǎng)絡(luò)虛擬化也是類似的,它將一張物理層面的網(wǎng)絡(luò)通過虛擬轉(zhuǎn)換技術(shù)來虛擬成N張?zhí)摂M的網(wǎng)絡(luò),再將每張?zhí)摂M的網(wǎng)絡(luò)分別給到不同的用戶進行使用,來滿足用戶對網(wǎng)絡(luò)環(huán)境的需要。
網(wǎng)絡(luò)虛擬化技術(shù)并不僅僅是一個地址空間的虛擬化。網(wǎng)絡(luò)首先是一個拓?fù)?#xff0c;拓?fù)涮摂M化實現(xiàn)后,還需要涉及到網(wǎng)絡(luò)承載流量過程中相關(guān)設(shè)備的虛擬化。每張?zhí)摂M網(wǎng)絡(luò)中都要提供虛擬的路由器、交換機、Net網(wǎng)關(guān)、VPN設(shè)備等。用戶拿著虛擬的地址空間和網(wǎng)絡(luò)設(shè)備就能按照自己的需求組建出自己的虛擬網(wǎng)絡(luò),隨后就可以將虛擬機、數(shù)據(jù)庫、存儲服務(wù)等內(nèi)容放在虛擬網(wǎng)絡(luò)上,組合成一個整體的解決方案。
前面提到了網(wǎng)絡(luò)虛擬化技術(shù)的概念,接下來談?wù)劙⒗镌频木W(wǎng)絡(luò)虛擬化系統(tǒng)洛神,如圖,中間是一個框,代表數(shù)據(jù)中心網(wǎng)絡(luò),由物理網(wǎng)絡(luò)設(shè)備組成。但在這個框的周圍,我們能看到Internet網(wǎng)關(guān)、LB網(wǎng)關(guān)、VPN網(wǎng)關(guān)、混合云網(wǎng)關(guān)、云服務(wù)網(wǎng)關(guān)、SDN控制器、網(wǎng)絡(luò)分析平臺 和vSwitch(裝載在每臺物理機上的虛擬交換機)等各種各樣的內(nèi)容,通過它們的聯(lián)合把物理網(wǎng)絡(luò)虛擬化,為每個租戶都提供一張?zhí)摂M的網(wǎng)絡(luò),同時通過在網(wǎng)關(guān)中的實現(xiàn)與vSwitch進行配合,從而虛擬出各式各樣的網(wǎng)絡(luò)設(shè)備。
舉個例子:虛擬路由器。路由器的常規(guī)概念是一種基于物理的網(wǎng)絡(luò)設(shè)備。但在網(wǎng)絡(luò)虛擬化系統(tǒng)中,虛擬路由器只承載功能,不存在實體。它分布式的存在于整張圖的所有部分。阿里云的洛神系統(tǒng)就是通過類似的方式虛擬出各式各樣的網(wǎng)絡(luò)和網(wǎng)絡(luò)設(shè)備提供給用戶使用。
大家可能會對此存在疑問,這么多網(wǎng)關(guān),它們是如何和我們接觸到的虛擬網(wǎng)絡(luò)設(shè)備進行鏈接的呢?這里應(yīng)用了一個VXLAN隧道分端技術(shù),通過分端的方式把用戶的ID、網(wǎng)絡(luò)編號和一些其他特征加以整合,在用戶數(shù)據(jù)包從VM/VM Docker 開始流轉(zhuǎn)并進入數(shù)據(jù)中心網(wǎng)絡(luò)的同時,將其封裝成一個VXLAN數(shù)據(jù)包,在數(shù)據(jù)中心進行流轉(zhuǎn),并通過唯一的ID來識別租戶,區(qū)分用戶與用戶之間的流量。
前面介紹了利用VXLAN技術(shù)進行租戶間的隔離,那么在封裝之后,又該如何切實組建出一臺虛擬路由呢?我們知道,路由器實現(xiàn)的功能主要包括對于數(shù)據(jù)包的接收、數(shù)據(jù)包路由查找、 修改、發(fā)送,以及針對路由表的管理,SDN控制器在這些功能上起到了關(guān)鍵性的作用。虛擬網(wǎng)絡(luò)首先通過API串接虛擬路由,做到在使用期間對路由的添加、刪除與查看。而路由表則通過SDN傳遞到洛神系統(tǒng)中每個相關(guān)網(wǎng)關(guān)和vSwitch里面,當(dāng)用戶的數(shù)據(jù)包開始流轉(zhuǎn)時,對應(yīng)的路由表和路由轉(zhuǎn)發(fā)路徑就已經(jīng)確定。
剛剛介紹的是數(shù)據(jù)包的查找修改發(fā)送和用戶自行管理接口的提供,但一張網(wǎng)絡(luò)的運行不是簡單地串接起來就高枕無憂了,實際過程中會出現(xiàn)各種各樣的異常:比如數(shù)據(jù)中心的交換機或路由器、網(wǎng)卡出現(xiàn)故障。這時該怎樣保障用戶的數(shù)據(jù)包正常工作呢?洛神專門下轄了一個網(wǎng)絡(luò)分析平臺,用于對網(wǎng)絡(luò)SLA進行保障,它從控制和轉(zhuǎn)發(fā)兩條路徑提取各種運行狀態(tài)和信息進行分析與加工,從而對網(wǎng)絡(luò)的健康狀態(tài)進行診斷,并指出問題的核心。
可以看出,阿里云的洛神網(wǎng)絡(luò)虛擬化系統(tǒng)是一個整體化的解決方案,它包含眾多的子系統(tǒng),共同形成穩(wěn)定而虛擬化的網(wǎng)絡(luò)技術(shù)和服務(wù)。
雙11中的阿里云網(wǎng)絡(luò)產(chǎn)品服務(wù)
前面的文段中,我們詳細(xì)介紹了網(wǎng)絡(luò)虛擬化技術(shù)的構(gòu)建。那么,在雙11當(dāng)天交付給電商單元的服務(wù)又是怎樣的一種形式呢?接下來的部分里,我們將繼續(xù)介紹網(wǎng)絡(luò)服務(wù)作為產(chǎn)品提供給用戶使用時的組成和狀態(tài)。
我們可以看到,阿里云在雙11期間的網(wǎng)絡(luò)產(chǎn)品可以劃分成三個部分,左右兩側(cè)分別是一個獨立的VPC,是分屬華東和華北云單元的兩個虛擬網(wǎng)絡(luò),它們附帶有EIP,用于提供彈性的公網(wǎng)IP,以實現(xiàn)對云服務(wù)器ECS 中VM資源的快速綁定和解綁,同時提供負(fù)載均衡的技術(shù)。訪問請求直接在后端VM進行平衡,創(chuàng)造出優(yōu)秀的容災(zāi)能力。后端ECS不能工作就會將請求和流量切換到其他ECS上面去,另一個重要的部分是NAT網(wǎng)關(guān),它提供兩種功能,第一是把后端的服務(wù)映射到Internet上,第二是為后端VM訪問因特網(wǎng)或其它單元提供SNET。連接在VPC上的VPN則用于提供運維管控鏈路的能力,在Internet開放接口,讓相關(guān)員工在出差辦公時也能夠管理云上的資源。
此外同樣不難看出,圖中左右兩條VPC之間存在明顯的連線,即為所謂的高通道VPC互聯(lián)。通過高通道這一產(chǎn)品實現(xiàn)了華東和華北的兩個單元之間的鏈接,使它們之間能夠完成交易、通信功能并提供數(shù)據(jù)包訪問。下側(cè)還有一個專線的的接入點,它用來提供構(gòu)成混合云的能力,讓云上和非云單元能夠共同組建形成混合云。
通常情況下,非云單元如果想訪問一個云上單元時,最自然的方式就是與本地的混合云通信,而阿里云的一線接入能力則對這一路徑進行了擴大化。只要對阿里云任何一個VPC進行接入,就能夠和全部本地與異地的云單元通信。通過這種形式,既實現(xiàn)了云上單元間的通信,又豐富了云上和云下單元之間通信的能力
VPC中同樣具備著虛擬的交換機和虛擬路由器,它們和物理世界中搭建網(wǎng)絡(luò)的原理和組分上并沒有什么區(qū)別,且得益于網(wǎng)絡(luò)虛擬單元的優(yōu)秀的承載能力和豐富的容量,對路由器、交換機、負(fù)載均衡等項目的需求可以顯著壓縮,避免資源浪費。
五大技術(shù)破解混合云難點挑戰(zhàn)
用VPC實現(xiàn)租戶間隔離
回到最初的混合云挑戰(zhàn)中,第一個難點就是單元之間的隔離。可以看到,全部電商單元的VPC和公共云用戶的VPC都集中在阿里云統(tǒng)一的大資源池中。對用戶來說,要考慮自身的安全隔離是否充足,與其他租戶的隔離是否充分,用戶單元與阿里自身業(yè)務(wù)間的隔離是否充分,電商單元是否完全安全可信,交易和云上其他租戶是否隔離等一大串的問題,這里就要用到VPC(專有網(wǎng)絡(luò))技術(shù)。
VPC是一項天然邏輯隔離的技術(shù),它通過前文中的VXLAN技術(shù)來確保不同租戶在阿里云上的流量處于不同的隧道,避免出現(xiàn)數(shù)據(jù)包串線的情況,為每個用戶營造安全隔離的地址空間。如下圖,同一個VPC上的幾個ECS間可以進行通信,但兩個不同的VPC之間則無法通信,這是VPC設(shè)計中的一項基本原則。
高速通道實現(xiàn)異地多活
第二個挑戰(zhàn)在于網(wǎng)絡(luò)連通,是否能做到云上各個單元間的通信的進行足夠靈活,達(dá)到與同地址空間內(nèi)通信相同的效率,是否能夠滿足不同地域業(yè)務(wù)之間的通信需要。對此,阿里云同樣提供了虛擬的、不同地域間的VPC互通技術(shù),利用高通道產(chǎn)品提供跨越MB至TB層級的邏輯電路,并依托于阿里底層強大的網(wǎng)絡(luò)基礎(chǔ)設(shè)施,創(chuàng)造出廣闊的彈性。
事實上,云下單元在日常中同樣存在多單元間通信的核心網(wǎng)絡(luò),雙11當(dāng)天的邏輯核心網(wǎng)絡(luò) 可以拆分成兩個部分,一個是非云上單元的核心網(wǎng)絡(luò),一個是云上單元間互相連接構(gòu)成的核心網(wǎng)絡(luò)。云上云下之間通過高通道產(chǎn)品進行通道連接,帶寬同樣可以提供到TB級別。這一能力充分的體現(xiàn)了阿里巴巴的底層資源能力和軟件定義網(wǎng)絡(luò)的靈活能力,充分滿足靈動的定義,可以在極短的時間內(nèi)將邏輯電路從2MB升到100GB,只需要一個API就可以完成。
NAT網(wǎng)關(guān)支撐峰值交易
雙11當(dāng)天,我們購買完對應(yīng)的商品,支付時同樣需要進行一次網(wǎng)絡(luò)訪問。訂單組件需要面向交易系統(tǒng)進行數(shù)據(jù)交互,這一過程少不了NAT技術(shù)的保駕護航。
雙11期間,NAT網(wǎng)關(guān)同樣經(jīng)受著極大的考驗,它不像最基礎(chǔ)的邏輯電路,只需要保證最基礎(chǔ)的連通性,它還要在要連通的同時進行地址轉(zhuǎn)換。所有需要NAT轉(zhuǎn)換的設(shè)備都會具備鏈接表來反饋轉(zhuǎn)換的狀態(tài)。其中有兩個非常關(guān)鍵的指標(biāo),第一是建立新鏈接的能力,高新建水平可以避免零點用戶涌入帶來的擁堵。事實上,雙11當(dāng)天的NAT新建能力已然超越百萬級別。第二是維持大量而廣泛的在線連接的能力,因為雙11其間電商用戶的來源廣闊,數(shù)量龐大,在線連接的并發(fā)數(shù)也同樣是一個天量,并考驗著NAT網(wǎng)關(guān)的效能。
SLB承載雙11的訪問流量
面對雙11的流量洪峰,首當(dāng)其沖,最先接受挑戰(zhàn)的就是SLB負(fù)載均衡系統(tǒng)。全部云上的業(yè)務(wù)都需要跨機房容災(zāi),以及在多個虛擬機之間進行流量的負(fù)載分擔(dān),通過負(fù)載均衡壓力后方可對外提供服務(wù)。
對負(fù)載均衡設(shè)備來說,雙11同樣充滿著各式各樣的考驗 :在幾十上百GB為單位的流量計量下能否提供足夠的吞吐能力;數(shù)據(jù)包PPS轉(zhuǎn)發(fā)能力是否充足;新建鏈接的能力是否足夠 ;會話并發(fā)數(shù)是否足夠;提前的壓力測試無法準(zhǔn)確預(yù)估零點高峰流量,負(fù)載均衡設(shè)備能否對突發(fā)壓力進行承載;后端虛擬機需要緊急擴容時負(fù)載均衡的API效率是否足夠,這些都是針對SLB的巨大考驗。
最終的記錄表明,雙11當(dāng)天的負(fù)載均衡完美的承受住了壓力,它已經(jīng)接受了很多年的雙11流量考驗,并在一次次的更新中越來越穩(wěn)定,并具備越來越充足的經(jīng)驗。
基于API的靈活網(wǎng)絡(luò)部署
前面的文段中,我們介紹了關(guān)于混合云的一些內(nèi)容,而如何彈性的在公共云上拉出一張超大規(guī)模的網(wǎng)絡(luò),并快速的部署對應(yīng)的網(wǎng)絡(luò)設(shè)備,這一切的能力都是通過API進行操作的。
在常見的物理網(wǎng)絡(luò)中,這類工作需要通過拓?fù)溥B的方式線進行,而虛擬網(wǎng)絡(luò)則可以通過API的模式進行快速拉起。前文中提到的專有網(wǎng)絡(luò)VPC,只需要通過一個API就能夠完成創(chuàng)建,快速形成虛擬的交換機與下轄子網(wǎng)。包括負(fù)載均衡設(shè)備、NAT網(wǎng)關(guān)、各種彈性IP都能夠通過API的模式進行。包括剛才敘述過的高通道產(chǎn)品,其快速從2MB提升到100GB的過程也都通過API完成操作。
這意味著如今阿里云云上提供的網(wǎng)絡(luò),全部是SDN的、由軟件定義的網(wǎng)絡(luò),所有的操作用戶都可以通過API進行對網(wǎng)絡(luò)的部署、修改與消亡。事實上,雙11當(dāng)天內(nèi)部的電商交易單元也是通過open API創(chuàng)建出VPC 負(fù)載均衡和NAT網(wǎng)關(guān),從而加以實現(xiàn)的。
這里存在一個關(guān)鍵點:全鏈路API。全鏈路API的投入使用使得API擁有極高的效率,意味著串接一張網(wǎng)絡(luò)時,其具備自動編排的功能,并支持將提供好的API主核寫成程序,再對其提供觸發(fā)式的動作,在需要時對網(wǎng)絡(luò)進行串接、修改和擴容。 這里通過網(wǎng)絡(luò)的創(chuàng)建、運行和消亡三個維度分別對其部署能力進行介紹。
網(wǎng)絡(luò)創(chuàng)建階段,起初可以通過API創(chuàng)建VPC,并進行IP地址分配,從而將一張完整的拓?fù)錁?gòu)建出來。接下來可以創(chuàng)建負(fù)載均衡、NAT網(wǎng)關(guān)等項目,并使用高速通道聯(lián)系位于不同地域的VPC單元,進行混合云的創(chuàng)建與接入。
運行階段,用戶能夠在網(wǎng)路存在期間內(nèi)利用API進行任何配置的修改,并在運行過程中獲取運行數(shù)據(jù)與分析,監(jiān)控,告警等各各式各樣的信息。以雙11混合云為例,技術(shù)人員在雙11前幾天拉起網(wǎng)絡(luò),在投入使用的過程中對網(wǎng)絡(luò)進行修改和適配以滿足雙11的實際需求 ,并在活動結(jié)束后進行對網(wǎng)絡(luò)的消亡處理,將閑置出的資源返回公共資源池中,重新售賣給外界租戶。
超大規(guī)模混合云
前面的文段中,我們介紹了雙11的混合云技術(shù),闡述了面向云上各種虛擬網(wǎng)絡(luò)和虛擬網(wǎng)絡(luò)單元的能力,那么接下來,我們可以通過這樣一張圖來詳細(xì)的看到今年雙11當(dāng)天各大組件的具體數(shù)據(jù)指標(biāo)。
可以這樣進行概括,整個雙11過程中,阿里云為雙11提供了靈動、智能、和可信的網(wǎng)絡(luò)服務(wù),交出了一份近乎完美的答卷。
“靈動” 體現(xiàn)于從網(wǎng)絡(luò)拉起、創(chuàng)建、到運行過程中的修改,乃至最終的消亡都十分靈活,并擁有API,控制臺,甚至小程序等豐富的操作手段。
“智能” 體現(xiàn)在對網(wǎng)絡(luò)提供了各種維度的數(shù)據(jù)指標(biāo),能夠給用戶和相關(guān)交易提供充足的數(shù)據(jù)參考來進行決策,并在后臺提供多種智能監(jiān)測,方便我們了解網(wǎng)絡(luò)的運行狀況,明確問題出在哪里,解決方案是什么。
“可信” 而安全是這一網(wǎng)絡(luò)最終達(dá)到的效果,租戶與租戶之間隔離 SLA極高,為全部阿里云用戶和雙11活動都提供了優(yōu)秀的SLA服務(wù)。
雙11當(dāng)天,阿里云的虛擬網(wǎng)絡(luò)與其它產(chǎn)品一起,為整個阿里巴巴的活動提供了極好的底層基礎(chǔ)設(shè)施支撐,我們有理由相信,在愈發(fā)擴大的雙11規(guī)模下,阿里云能夠持續(xù)為未來的每一個雙11購物節(jié)都提供更為靈動,智能與可信的網(wǎng)絡(luò)服務(wù)。
總結(jié)
以上是生活随笔為你收集整理的网络虚拟化技术为双11提供灵动网络的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 承担集团数万应用、研发人员日常工作,阿里
- 下一篇: 亚马逊云科技中国线上峰会开幕,发力汽车产