第六屆中國云計算大會于2014年5月20-23日在北京國家會議中心拉開帷幕。本次大會立足實踐,以國際化的視野,幫助與會者了解全球云計算技術的發展趨勢;從應用出發,探討交通、醫療、教育、金融、制造、數字娛樂等行業領域的實踐經驗;并通過技術專場、產品發布和培訓課程等方式,深度剖析云計算大數據的核心技術。
杭州華三通信市場部總裁 王巍
在第六屆中國云計算大會全體會議上,杭州華三通信副總裁、市場部總裁王巍發表了名為《云計算打造新IT、新價值》的主題演講,從IT老的三樣到八大件,他認為網絡的虛擬化構成了云計算實現的基礎。而網絡虛擬化主要分為3個步驟:設備虛擬化、功能虛擬化和鏈路虛擬化。期間,王巍引用了IBM的四個字來描述云計算的靈魂——隨需而變,虛擬化只有是實現這個目標的一個環而已,只有完成可定義和自適應才能做到這一點。
以下為現場實錄:
大家好,我叫王巍,我要用半個小時跟大家呈現一下云計算的一些實踐,因為我們是一個做產品解決方案和工程實踐一個團隊。
我今天聚焦的就是一個IaaS,在IaaS這個層面,我只講兩個問題。第一,我們把IaaS拆解開,它到底由哪些部分組成的,一共把它拆解成8個構件,下面有計算和計算的虛擬化、網絡及網絡的虛擬化,存儲及存儲的虛擬化。在它之上有計算的智能控制,有網絡的智能控制,有存儲的智能控制。其中網絡智能控制他們比較熟悉,就是對應著SDN。但是計算、網絡、存儲分別做相應的控制,必須在它之上還要做一層融合控制,這個融合控制之上還得面向整個底層資源和上層應用有一個資源調度層,這是整個IaaS拆解之后,我們有一句話叫從IT的老三樣到八大件,IT老三樣就是計算設備、存儲設備、網絡設備。八大件是它全面虛擬化之后,再進行融合控制和資源化。
云計算在IaaS這一層的現實工程技術和實踐到底到了哪個地步,最大的障礙和門檻在哪里?所有的云計算的基礎架構跟云應用又是什么關系?我們所有做上層軟件開發的人都知道,我基于傳統IT架構是一種編程習慣,到一個云平臺之后,我做應用是不是要用一種新的開發方法去對接底層的資源呢?下面,我就來跟大家匯報一下整個目前工程的進展和實踐,到今天到底發展到哪里。
云時代的IT架構
來看這張圖,云計算在最底層有計算和計算的虛擬化,它已經非常成熟了,物理機虛擬化是比較成熟的,云計算在存儲這一側,存儲虛擬化相對成熟。最大的問題出在哪里呢?剛才周老師講所有云計算的本質實際上是網絡計算,最大的問題就出在網絡這一側了,為什么這樣講呢?網絡以前我所連接的是物理設備,如果我對應的物理設備不是我的最終連接對象,我的最終連接對象變成了虛擬設備,無論是虛機還是集群,它都不是一個物理設備,而是一個邏輯設備。
第二,以前在數據中心所有設備網絡連接基本上是偏靜態的,左側的計算是靜態的,右側的存儲也是相對靜態的。但是現在所有的計算和存儲會動態的呈現出來,虛機是可以漂移的,漂移之后還要求必須在大二層,它的IP地址不能夠發生變化。這個也給我帶來一個極大的挑戰,它變來變去,我怎么能夠跟得上計算追得上,連接得好。
它還有安全的問題,一個靜態的網絡可以設置靜態安全策略,但是動態的網絡怎么設置動態安全策略呢?還有其他的很多問題,比如我整個局域網絡是小規模去使用的,在一個教室里,大家幾十個人互相找地方可以通過喊,用廣播這樣一個報文做ARP等等,我可以喊張三你在哪里,張三說我在這里,我們可以找到對方。如果在人民大會堂,一萬個人在里面,大家互相找也這么喊可以嗎?不行,大型數據中心,一個數據中心的物理機房里面超過一萬臺服務器,每年在中國都有接近10—20個左右規模的數據中心呈現,我們如果用傳統的局域網技術連接這樣的大二層是解決不了問題的。因此,現在云計算就是網絡計算,網絡計算的所有技術瓶頸和工程實踐就卡在這一層了。
怎么才能實現網絡這一側的虛擬化能夠講清楚呢,這個問題如果不說清楚,整個大云最底層的基礎就搭建不好。下面,我就直接面對一個主題,到底云計算里面網絡的全面虛擬化是怎么回事,怎么去實現。
網絡虛擬化全解析
它分三個層面要去實現全面虛擬化。第一個層面叫設備虛擬化,第二個層面叫功能虛擬化,第三個層面叫鏈路虛擬化,這三個層面如果全面都實現了不是概念上,而是實踐上對應著成千上萬臺物理設備,我能搭建出數以十萬計的邏輯設備,并有效連接起來,這才叫實現了網絡虛擬化。
1. 設備虛擬化
我從07、08年首先實現的技術開始,是對應著設備虛擬化的橫向虛擬化,這里我畫了兩個物理設備,一個可以想象成可以在百度、阿里、騰訊,一個設備要接入上萬臺服務器的這樣一個網絡核心交換機。這個設備里面分為接口、轉發平面、控制平面,兩臺設備要連接起來,這兩臺設備要變成一臺邏輯設備,為什么這樣?數據中心,尤其大型數據中心最怕的是什么?是主網三角形,一個服務器出來,一般都是兩個鏈路上去,雙歸屬,跟上面的兩臺設備就會形成一個三角形。物理服務器成千上萬,邏輯服務器就數以幾十萬計,他們形成幾十萬個三角形,這對任何一個數據中心都是災難型的。因為每一個三角形為了避免這樣一個廣播風暴,為了提高它的可靠性,二層我們都要做MSTP,我們在三層都要做RPP這樣的協議,所有的三角形就構成了數據中心所有不可靠的基點。但是如果我們能把這兩個設備邏輯成一個設備,讓它的轉發平面變成一個轉發平面,控制平面變成一個控制平面,所有雙規數又變成了一個鏈路綁定,成千上萬的三角形消失之后,整個數據中心的可靠性和高性能才能體現出來。如果一個平面出現問題,切換到另外一個平面,一定要小于30毫秒,這就是在2007年、2008年的時候,中國所有的大型數據中心包括美國歐洲所有的大型數據中心都要解決的一個問題。
我們那個時候其實服務于大的金融和互聯網上層的數據中心,解決橫向虛擬化,這是當年的第一步,它實現多個物理設備N比1的橫向整合。
解決這個就OK了嗎?不是,到2010年必須要解決縱向虛擬化。網絡所有的復雜性和不可靠性都是由于它節點過多和拓撲導致的,理想狀態叫做一網一設備,虛擬化就是把一個網虛擬化成一個設備,這個時候是網絡在整個拓撲的這樣一個簡潔性上、易操作性上和整體可靠性上達到一個極點。這時候上面的設備和下面的設備把下面的控制平面和轉發平面一樣上收上去,一個核心交換機可以把底下匯聚交換機邏輯成一個板卡的時候,整個數據中心的網絡就邏輯成了一臺設備,這時候就變成最簡潔的架構。
橫向虛擬化和縱向虛擬化之后,我們可以實現多個設備邏輯成一個設備,但是這個時候我們又開始做下一步,要把一個設備再邏輯成多個虛擬設備,就是先做N比1的虛擬化,再做1比N的虛擬化。這時候無論是物理設備還是虛擬化設備,我們可以根據數據中心的分區需求,還可以把它邏輯成不同的虛擬化子設備。
我們的技術叫MDC,在很多地方都是從最高端的數據中心得到的實踐,這個全部實現完以后,設備虛擬化這個基本動作才告一個段落。
2. 功能虛擬化
我們還要進行功能虛擬化。功能虛擬化是什么?網絡是一個大概念,除了交換機還有路由器,還有防火墻,還有流量監控,還有防攻擊等等功能。這些功能如果面向一個虛擬的計算環境和存儲環境,所有的功能會像糖葫蘆一樣串起來,計算、存儲在動的時候,我要隨著它動,這一串東西都要動。因此,光設備的虛擬化是不夠用的,必須把邏輯設備和物理設備上的所有網絡功能拆解出來,邏輯的防火墻、邏輯的SR等等,拆解成這樣一個功能。所以,以前的一個做法是什么?在專有硬件上,我能夠定義各個功能組件,這是一個網絡操作系統一定要做的事情,我們的操作系統叫Comware,很多人不理解這是什么意思?我說你理解VMware就理解了Comware,Comware也可以運行在X86的硬件上,也可以運行在專有硬件上,然后可以起不同的無線控制器等等,只有把它的功能虛擬化,我才能對這些虛擬化的功能帶有一定性能的功能,才能對它進行面向應用的編排,這個是整個虛擬化技術在網絡全面虛擬化當中的第二個步驟,就是實現功能虛擬化。現在有些人管這個技術叫NFV,但不管怎么樣,它最終要實現的目的就是這個。
3. 鏈路虛擬化
最復雜的一個東西就是鏈路虛擬化,以前我們有物理鏈路,也有傳統的VPN,但是它解決不了一個問題,它在整個連接虛擬的大型云計算中心里面,以前我的網絡就是接一個X86,接一個網卡,比較固定。現在的網絡接物理服務器,里面有4個或者8個甚至10個相應的虛機。這時候傳統的計算提供廠商都是做一個VEB技術,一個數據中心可能有數以百計的設備,這里面如果有五千臺服務器的話,還有五千個虛擬的交換機在這個里面,這個物理網絡和虛擬網絡屬于兩個管理平面,它們彼此之間只能感知這個虛擬交換機外面出去的接口參數,對于里面是什么樣的一個安全設置和交換關系是不清楚的。那么數以千計的虛擬設備和數以百計的物理設備之間存在一層斷裂,這層斷裂就使得整個安全關系,使得整個調度實際上是非一體、非融合的。它的整個網管界面無法統一,另外,網絡側的大二層的能力并沒有解決,我們多租戶要形成大二層,以前是支持4096個,現實的環境如果超過這個大型數據中心,就沒有辦法了。所以,這個從2008年、2009年、2010年左右一直使用VEB技術。
去年有一個基本思路,我調不動你的物理網絡,我們就這樣,我們如果在人民大會堂一萬多人要互相找人怎么辦?靠喊肯定是找不到人的,這個時候又把二層網絡改回成我們會打手機,相當于在AB之間建立通道,找他的位置。這個技術也是一樣的,底層網絡只是一個傳統的通道,而這個網絡通過動態VPN技術,實際上有兩層IP地址借助UDB協議打標簽,我可以在不同的虛機之間,當它發生動態漂移的時候,我也能找到對方的位置,是通過底層網絡三層網絡打動態隧道,再打出來一個二層網絡。這個時候很多網絡廠商的股價就下降了,一個時代就出現了,說我們用軟的這樣一個網絡可以替代硬的網絡,這樣一個思想就出現了。
但這種技術在解決的時候,也存在很多問題,它能在邏輯上解決所有的虛機連接問題,但是給客戶也帶來了一些困擾,當出現問題時,到底是物理網絡還是邏輯網絡出了問題?另外,所有服務器的性能已經進化到4核、8核這種東西比較普及,這種情況下,vSW都是萬兆的業務要求,它占有CPU很多資源,本身的性能和可靠性也是被質疑和挑戰的。這個是到2013年的時候相應的一個技術。
再往前發展,就是到這個月,已經開始大規模實踐的技術就是我右邊所畫的這個技術。在物理網絡設置,這種就不是主機overlay,而是Hybrid overlay。到這個時間點,數據中心里圍繞著大型的這樣一種虛擬化集群計算和虛擬化集群的這樣一種存儲環境,網絡的連接終于完成了設備虛擬化、功能虛擬化和鏈路虛擬化。這個時候,我有了一個基本的基礎,當你計算和存儲環境無論怎么變,我可以用一個可變的網絡環境去對接你,這個就到了我們馬上要介紹的第二個階段。
所有的全面虛擬化實現之后,呈現的一張圖是什么呢?傳統設備通過橫向縱向設備去簡潔,它是一個傳統網絡和新的概念網絡的混合組網,然后在邏輯網絡,有主機overlay,也有硬件的overlay,在之上有一個控制平面,我們叫VCF,叫虛擬融合架構,這一側形成全面網絡虛擬化的技術。
網絡虛擬化不是最終目的,我們的最終目的是什么?這里我畫了一張圖,有三個應用,綠色的應用可以理解為公務員報考、鐵道部賣票,或者學校里選課,都有這樣的特點。平時綠色的沒有幾個人訪問,所以都是谷底,所有的資源利用率非常低。但是,一旦來了一個高峰,鐵道部春運賣票了,學生到期末要選第二學期的課的,或者是公務員要報考、要查分了,這個時候,原有的基礎設施根本就不夠用。無論是公有云、私有云,你弄幾個虛機是解決不了這個問題的,要解決這個問題的關鍵是什么?四個字,我借用IBM十幾年前就在講的四個字,隨需而變。當壓力大的時候,我底層的資源就跟著你一起把資源調大。當你壓力變小的時候,我的資源就釋放出去,這個才是云計算的靈魂,變—隨需而變才是云計算的靈魂,而不是虛,虛是為了變,變是為了更好、更便宜、更快、更省力的完成我們的IT應用使命。
云計算的靈魂——隨需而變
怎么做到這一條呢?以前我們做應用開發的人都要去猜,做部署的人要做,要做冗余資源的配置,無論是物理機還是虛機都要做,按照猜測的峰值再冗余20%、30%配置資源。在云計算是什么?它的核心如果云應用做到了我對底層架構資源不去猜,我根本不猜,我的整個部署可以部署在非常小的資源之上。怎么去實現呢?這里面的關鍵詞就在這兒,它的目的是節省資源、抗風險和反應靈敏,但整個關鍵步驟在哪?翻譯成中文是可定義、自適應、隨需而變,可定義是面向應用可定義底層資源,自適應是底層資源根據應用壓力自適應應用需求,最終是什么?隨需而變。
但是我們做技術的都知道,我們要把它拆成幾個可實現的功能模塊,怎么拆呢?第一,我要定義規則,這個應用當發生什么變化時,我要做什么樣的一個底層資源改變,這是規則定義。第二,我要有探針,整個IT系統不是計算,還有網絡、存儲、鏈路,我把它整體作為實現應用的底層資源,全方位監控,當底層資源出現緊張時,我要知道,要能夠變更,這種變更不是人工變更,大型系統幾個月都變更不過來,是要自動化變更,要瞬間完成變更。這三個工具和動作如果都能實現,我們就可以做到隨需而變的系統。
怎么樣才能隨需而變呢?我們來講此輪云計算整個革命是從互聯網產生的,互聯網跟傳統的應用不一樣的地方就是在于傳統IT系統是應用決定架構。我要搞一個社保,我社保需要小機DB2,我需要什么樣的BS、ES架構,我來決定底下是什么。互聯網不是,是底層架構決定上層應用。
一種架構我可以承載所有的應用,這里面有三個工具構成了我前面所說的規則、部署和探針這三個功能,我分別來介紹一下是怎么實現的。
規則、部署和探針
首先介紹一下規則定義,這是我在我們的界面上直接截取下來的界面,一個應用對應的資源,如果CPU定律,超過80%我就認為它緊張了,它的連接超過1000個并發連接,我就認為緊張了。比如說學校選課系統,一兩萬個學生同時選課的時候,擴張策略可以定義成一次性定十臺虛機,所有網絡隨動,只要壓力超過10秒鐘我就擴10個虛機。這種情況下,如果10個擴了不夠,再擴10臺,我們已經做的應用,12000個學生已經擴了19個虛機,現在是只要10秒鐘有壓力就擴展再擴展,很順利的就把所有的應用都解決掉,在報稅系統、在公園查分系統,在學校的圖書館點播系統都有。下面如果我壓力沒有那么大了,所有的利用率小于30%、20%,我就放棄一些資源給其他的應用去用,舉一個很簡單的例子,物理機的利用率33%,但并不意味著虛機的利用率很低。
第二,探針技術,這里有一個水球球,上面每個都有一個卡片,這張圖是在宏觀上給大家一個概念,但其實不是那么簡單的,所有的應用里面每一個都有相應的參數,每個參數都可以設置相應的預值,我們看以這個應用為例,所有對應的資源都是被探針監控的,一旦發現有問題的話,就用規則要進行部署和變更。然后我們來看一下如何歸屬、如何變更,我們來進入一段視頻。
網絡的本質就是斷口和鏈路,然后建立一個龐大的數據庫,這是SDN控制的所有基礎,這個池化功能,就像橫向的設備虛擬化,包括功能虛擬化、鏈路虛擬化,池化之后我們要面向應用進行編排,不是對著物理資源,而是對著邏輯資源。我一拖就是一個交換機,還有虛擬路由器,我對它都可以進行參數配置,還可以對鏈路進行配置,對主機進行配置,然后建立相應的模板,這些模板里面把所有的參數配置好,這都是邏輯層面的,編排完了以后是一個link應用,圍繞著微軟的link應用都把它搞好之后,上面的邏輯跟底下做一次編譯,匹配完之后分出來一部分這樣的水平,我們把底下的資源池水平橫切,之后我們就可以向下進行相應的部署,這時候在物理資源層還沒有形成整個定義。
我們在形成部署的時候,如果有沖突我們可以把它手工排查掉,沒沖突的情況下,我們選個時間就可以把所有的部署綁定下去,然后按一個鍵就部署下去。
我們在惠普數據中心做了一個實踐,就是把它所有的郵件系統用這樣一個辦法去,是多長時間呢?以前三個半月做的大概幾千萬條命令,最后是5分鐘全部實現。
所以華三是一個做互聯網技術的公司,我們在IT領域全球企業網目前排名第二,我們的人均專利在國內排第一,平均每天有新專利出來,應該是華東地區江浙滬唯一一個進入到創新十強的企業,我們在專利總量第六,設備兩千多萬臺在全球,目前中國份額第一,全球份額第二。我們的夢想是根植中國,服務全球,既然云計算是全球計算,那么我們就打通整個IT架構,實現云網融合的體系架構。6月份我們在北京會有全套的詳細架構發布,這個架構能夠在5000臺服務器上實現,一個是省級政務云實現,一個是三大運營商上實現。敬請大家光臨我們的發布會。謝謝!