【CSDN現場報道】第六屆中國云計算大會于2014年5月20-23日在北京國家會議中心拉開帷幕。本次大會立足實踐,以國際化的視野,幫助與會者了解全球云計算技術的發展趨勢;從應用出發,探討交通、醫療、教育、金融、制造、數字娛樂等行業領域的實踐經驗;并通過技術專場、產品發布和培訓課程等方式,深度剖析云計算大數據的核心技術。
在第六屆中國云計算大會全體會議下午的演講中,中國電子學會云計算專家委員會副主任委員,中國大數據專家委員會副主任委員,中國科學院院士梅宏的演講主題是“云計算之軟件定義――思考和探索”。他表示:經歷了作為信息提供源的第一個階段,互聯網已迎來作為計算平臺的能力提供新時代。云管理正全面實現軟件定義,互聯網在走向網構軟件時代。
以下為演講實錄:
梅宏:謝謝主席,有這么一個機會在第六屆中國云計算大會上作一次交流。大家看我這個題目就知道,這是從我的本行出發,從軟件的角度來探討云計算的發展。這里面有一些想法以及思考,可能也有很強的個人觀點,和在座的同行交流。
我想分三個方面,首先我們來回顧一下云計算在過去幾年所走過的歷程;第二方面大家知道近兩年比較熱門的一個詞叫軟件定義,我們來看看云計算和軟件定義的關系;第三部分,我想抽一點時間介紹一下我自己的團隊在過去十幾年圍繞互聯網計算所進行的探索。
我們都知道,在互聯網時代帶來了極大的創新,我們稱之為一個創新的時代,有時候我們開玩笑說互聯網時代每天頻出的熱點,大量出現的術語,不斷的新術語的出現就凸顯了這個時代一個創新的氛圍。大體上講,從早期門戶網站、個人空間、到搜索引擎、到信息論壇,互聯網早期所誕生的一系列東西。如果說從這個大泡沫的開始來看,我們把互聯網的創新分成兩個階段,一個是大泡沫開始之前,從泡沫結束以后,最近十年的發展,比如說出現面向科技的網絡運算,以及今天的主題云計算,還有上午大家談到的物聯網和現在比較熱的移動互聯網。前一段時間我們的創新主要還是把互聯網作為我們的信息的提供平臺,最新十年的發展,我們正在做的事情就是把互聯網作為一個計算能力的平臺。這是兩個階段。
中國電子學會云計算專家委員會副主任委員,中國大數據專家委員會副主任委員,中國科學院院士 梅宏
再回過頭來看過去的云計算真正熱潮開始,從亞馬遜發布AWS服務開始起步的06年開始,到07年開始的iPhone的發布,過去的8年可以用風起云涌來概括,這個風就是大量的智能手機的出現,我們可以看到從過去8年到現在,我們在云計算方面已經形成了千億級市場,我今天講的主要是落在云的方面,而這個風就是iPhone帶來了移動互聯網的蓬勃發展。
真正的熱潮是從06年開始,雖然現在有很多技術上的論證,我們能夠找到早期也有很多關于云的影子,但是大家大體上的公認還是從06年開始,是由S3和EC2的發布開啟了軟件棧作為服務的新篇章,計算資源像水和電一樣能夠提供按需的使用,這也是我們公眾所能感知到的,現在我們談了8年的云計算的一個大體上的概念。
接著兩年我們稱之為眾說紛“云”的兩年,大家看到了太多關于云計算各種各樣的定義,就像上午專家談到的,前幾年我們的云計算大會也是在不斷討論各種定義,有IBM的,有微軟的等等,這些定義都是站在各自的角度,從自己的視角給了云一個定義。
到2011年,大體上以NIST有一個總結性的定義,把云計算稱之為一個模型,該模型允許隨地按需方便地通過網絡訪問共享的可配置的計算資源,從而達成了一個共識。
09年我們進入所謂云計算的沸點,大家都喜歡用這個圖,到云計算走向熱潮。如果我們發現中間在這個曲線上的很多術語,比如說Web服務、SOA已近成熟,而云計算走向頂峰,可以看到網格計算已經消失,這表明云計算已經成為互聯網時代適合為更多的受眾群體提供服務的主要東西,實際上云計算也涵蓋了網格計算所能夠提供的服務。
在2010年的時候,我們可以看到云計算幾乎成為互聯網計算一個代名詞,開始覆蓋到更多的領域,又演化出了私有云、云平臺等等各種各樣的形態。而這里面我們可以看到,服務計算以及相關技術從這個曲線里面消失了,實際上這體現出云計算已經成為服務計算的一個主要落地形式。
2013年,也許就是云計算規模化年,形成了千億美元的市場,在中國已經有千億人民幣,全球是千億美元。云計算成為產業的一個主流,但進入新的一輪發展周期,而云計算、大數據、物聯網等正在形成概念以及技術上的共生融合,引起了業界的廣泛關注。
如果從云計算出來到現在看看它的三個發展現狀,一個是服務模式,隨著云計算早期出現,有大量的服務模式出現,有一系列的XaaS,除了我們耳熟能詳的IaaS、PaaS、SaaS等等,還有一系列的模式,至少展現了一種形態,就是說一切的方式都想通過互聯網網絡,我們以服務的方式向大眾提供。
經過多少年的發展下來,大家看到云計算基本上呈現出三種大家公認的形態,也就是IaaS、PaaS和SaaS。
IaaS的形態相對明確,而且正在保持高速增長,占有較大的市場份額,當然這里面最重要的還是SaaS,在統計數據里面,SaaS里面還有其他XaaS的成分,實際上PaaS成分相對較小,這也意味著它還需要一定時間的培育和發展。中國的市場,目前來講IaaS相對SaaS的市場份額應該是小的,未來市場空間仍然很大。
第二個方面,我們談到部署模式,從公云、私云、社區云等等各種各樣的模式,我們看到現在的狀況是私有云熱度正在超過公有云,混合云成為新的熱點,各種混合云的解決方案和項目不斷出來,但是社區云成功的案例并不太多。而移動互聯終端和智能終端的大量出現,引發了云端融合的發展趨勢,實際上云和端的緊密結合正在影響云計算新的一個部署模式的發展。
從技術方面我們可以看到,在整個左邊體現出來的云計算技術相關的一個標簽圖,現在我們看到NIST總結了云計算的五大技術,按需自助服務、廣泛的網絡訪問、資源池化、資源快速彈性擴展、資源可度量,一些云計算初期被談及的技術現在已經很少談及或者不再成為熱點,現在的研究正在走向成形。這是關于現狀需求。
如果我們透過這些服務模式、應用模式來看看它的技術需求,對于它的技術需求無外乎兩點,一方面我們需要向上,為用戶提供按需的服務,基于廣泛的網絡訪問,按需自主服務。將軟件的功能以服務的方式透過互聯網進行交流,使得我們的用戶可以只求使用,而不求擁有這樣的軟件。軟件服務也是互聯網軟件最為重要的形態,其服務化的應用模式也只能通過軟件和互聯網的結合,才能夠真正的實現。應該說,云計算已經成為互聯網環境下主要的這么一種應用模式,而軟件服務也就是云計算最重要的技術之一,我們所有的IaaS、所有的服務本質上都需要通過軟件站來提供,這是一個需求。
第二個需求,我們需要對龐大的各種應用資源系統進行靈活有效的管理,包括資源池、資源快速彈性、可度量等等,因為我們要面對互聯網上龐大的用戶群體,也迫切需要軟件提供高效靈活的管理,管理我們的計算資源、存儲資源和網絡資源。同樣,我還需要基于這些龐大的共性資源提供面向不同需求的個性化定制能力,而在這幾年可以看到有一個新詞的出現正在成為云計算中間實現這種管理的一個途徑就是軟件定義,它希望軟件定義網絡,軟件定義存儲、軟件定義數據中心。云計算的廣泛應用使得我們需要一些專業設備能夠被靈活管控。
這是回顧過去8年云計算的基本現狀,我們來看看軟件定義和云計算的關系,談談我對軟件定義的理解。
所謂軟件定義的興起,大體上認為是有一個斯坦福大學的項目,在做項目的過程中所謂叫天地人互聯網的模式,在這里他把傳統的交換機進行了軟件定義,就形成了OpenFlow,08年正式提出,2011年是用在云里面,被大家廣泛接受,并迅速拓展到存儲和其他的管理方面,進而發展到存儲、數據中心等等。
我們來看看什么是軟件定義?從本質上講,軟件定義是希望把原來我們整個一體化的一體式硬件設施相對拆散,變成若干個部件,然后把這些基礎的硬件建立一個虛擬化的軟件層,通過對虛擬化的軟件層提供API,再通過管控軟件對整個硬件系統進行更為靈活的管理,開放靈活、智能的管控服務。
軟件定義兩個基本的實現技術路徑,也就是說硬件識別首先需要區別化,管理功能實現可編程。由硬件資源虛擬化的基礎上,用戶就可以編寫程序,訪問資源提供的服務,進而可以改變資源系統,滿足應用對資源的多樣性需求。所以說,本質上是通過虛擬化及其API暴露硬件的可操控成分,來實現硬件的按需管理。
我們來看一看軟件定義如果從一個軟件研究者的視角它是什么?實際上我們可以看到軟件定義采用了很多技術,正是過去操作系統所體現的軟件系統的這么一個設計實現的結果,所以說,從我們從事軟件研究的結果來看,操作系統某種意義上體現了軟件定義之集大成,什么是操作系統,操作系統管理計算機的硬件資源,控制程序運行,改善人機接口,為應用軟件提供支持,向上提供公共服務,向下管理系統資源。如果說僅僅從一個計算機系統使用者的角度,我們可以看到,操作系統正是一臺軟件定義的計算機,但是我們計算機從硬件的角度,它只是裸機,如果沒有操作系統,你只能使用機器語言、匯編語言的方式使用計算機,你的編程很困難、使用很麻煩,正是操作系統給我們提供了計算系統一個龐大的靈活性。
互聯網時代,操作系統正在面臨一些轉變,傳統的個人時代,PC機、網絡系統,每個人每臺機器是相對的,主要的運算系統都在本地,網絡的目的只是為了強調互聯。而在網絡時代,互聯網成為核心,PC功能成為網絡的終端,網絡成為計算和存儲的中心,各種終端設備是作為網絡的輔助交流工具,包括了智能手機、各種上網本等等。而在互聯網時代,這樣的操作系統要滿足互聯網的需求,就面臨新的技術挑戰,管理的資源從單機變成了整個互聯互通,使得我們的資源復雜和海量。
第二個,應用的多元化,我們需要大量的新應用,像各種各樣的互聯網應用,從我們的論壇、郵件到各種服務等等,這些應用要形成,包括我們大量的視頻服務,要形成一些共性支撐,同樣這樣龐大的共性集聚到互聯網上,還得滿足我們每個個體甚至每一個單位的個性化需求,共性和個性化。
應用模式是以服務的方式提供,對外要提供按需使用的模式,同時也支持用戶要有不同的終端能夠訪問我的服務。所以,這樣就構成了我們后期的云或者服務站點為服務端,以我們各種智能手機、PC等為終端的這么一個一體化平臺。這就是網絡時代互聯網時代對操作系統的新要求,我們把它稱之為網絡化的操作系統。
所以從這個意義上講,大家可以看到所謂的云管理平臺本質上體現為一種新型的網絡化操作系統,向下它需要管理調度大規模的網絡化資源,虛擬計算、存儲、網絡和平臺等,而向上就要支撐上面的運行在這個平臺之上的各種應用,以服務化的方式對外交互。
當前,云管理相關的東西正在全面走向軟件定義,首先云管理平臺通過軟件定義對網絡化、規模化的各種資源進行高效靈活的調度,也是各種軟件定義技術的一個綜合展示平臺。我們可以看到所有的軟件定義計算、軟件定義網絡到軟件定義存儲等等,這個有很多關于這方面的研究。
我們也可以看到,如果說這樣的云管理平臺通過軟件定義面臨一系列的挑戰,首先,你怎么樣確定你被管控的硬件元素的合理力度,到什么樣的力度是更合理的,并且針對這樣的力度進行虛擬化以后,向上提供API,你怎么樣界定一個軟件定義的系統它的軟硬件的功能劃分,并且能夠靈活的、更為方便的方式來組裝配置相應的構成元素。
第二方面的問題就是系統質量問題。怎么樣合理的平衡由于軟件定義所帶來的靈活性和通過各個層次的軟件所帶來的性能損耗的關系。通過軟件定義實現它帶來的復雜性,它有更復雜的東西,可能也會帶來更大的故障率。同時,軟件里面故障的定位也相對比硬件更為麻煩,這些問題怎么解決。
第三個方面,怎么樣能夠把系統的能耗通過軟件管理進行適當的降低。我們說硬件解決哪怕低功耗的硬件,最終從系統層面還得通過軟件管理來減少能耗。第三個方面的問題就是互操作的問題。由于在云環境中間,特別是私有云環境中間,我們存在著不同廠商提供的同類異構設備,怎么樣能夠巧解這些設備之間的異構性,形成同一個平臺,這也是需要軟件定義去解決。所以,這是我講的第二部分,關于云計算式軟件定義。
最后,我想講一下從軟件角度圍繞互聯網計算進行的探索。我們說互聯網帶來了技術和應用創新,可以看到從2000年以來,人們心目中都希望把互聯網看成一個全球的計算平臺,在這個意義上講,也正在形成新的軟件產業的形態,就是面向互聯網的軟件產業。我們從軟件的角度希望把互聯網看成一個全球泛在的計算機,來探討它上面的軟件應該是什么樣子的。
技術方面,怎么樣利用以互聯網為核心的多網融合,實現高性能價、高效能、高可信的信息化技術。應用方面,如何利用以互聯網為核心實現成本控制。
互聯網的出現就是一種新的形態,這種形態從它的幾個信息,這樣的軟件首先需要每一個實體的自主能力,實體之間的關系,實體之間協同之后產生的自發性和在線演化能力,所以它體現了按需構造協同行為模式。按照領域社區或者說社會網絡的組織模式,以及基于復用、知識驅動、自底向上從無序到有序螺旋成長的系統開發模式,我們需要把過去一個以信息提供為主的網絡變成以提供軟件能力、計算能力為主的互聯網。
從軟件質量到軟件開發、軟件運行、軟件范型幾個方面,互聯網都面臨著一系列的挑戰。所以,我們認為在互聯網時代,需要一種和過去不同的軟件范式。我們可以看到未來要進入所謂的網構軟件時代。要構造一個網構軟件的硬件平臺,采用網構軟件的思想和理論來演示操作相關平臺,支撐互聯網的技術。這是我們近期的工作,圍繞網構自身平臺進行了一系列的探索,從云資源、端設備到物理資源的管理與虛擬化,虛擬資源的管理及編程方向,到上面支撐各種各樣的應用。應該說向上面向需求提供服務,向下面對資源提供管理,其中包括IaaS、PaaS、SaaS一系列的支持服務。
我們有一個IaaS平臺,稱之為燕云,面向云計算的網絡操作系統。這是我們現在系統做的一些工作,已經在很多行業進行的相關應用,最核心的是基于北大的運行時模型構造。
第二個,圍繞這樣的服務端,我們構造一個面向云端融合的運行支撐框架,就是通過移動互聯網驅動云計算和智能終端正在開始工作,所謂的云端工作。已經構建了一個運營框架,可以為用戶提供移動應用編程模型和框架,非侵入式的把web應用轉化為移動應用,滿足在移動終端上訪問用戶的要求。
PaaS平臺我們提供了一個軟工服務集成環境,已經部署了很多的服務,現在主要用于科研相關的工作,特別是軟件工程相關的工作。進而構建了一個大規模彈性分布式的調度與編程框架,面向大數據的使用,支持作業的云化部署、透明分布、按需并行、動態伸縮、自動容錯,把傳統語言與新語言結合到一起。
再一個是SaaS層面,圍繞我們自己的領域構建軟件工程,面向公共的科研服務和知識共享,對軟件工程設計各個方面的知識,以及軟件開發所需的各種服務提供了在線集成,包括軟件百科知識相關的論壇、相關的博客等等,有一個軟件構建資源庫。
從數據服務層面,收集國際主要開源社區的軟件過程數據,對外提供數據的研究。再一個就是把知識相關能力結合起來,特別是結合了現在大數據時代,怎么把數據提煉為知識,從知識的需求,按需動態來實行個性化的知識服務,涉及到知識的建模、知識的提取、知識推理、智能問答。
這就是我今天要講的主要內容,三個方面。最后因為時間有限,我們團隊的工作只是把這幾個層面的東西作了一個簡單介紹,有興趣的我們可以在以后通過別的渠道,通過網站進行了解北大團隊相關的工作。謝謝大家!
更多精彩內容,敬請關注第六屆中國云計算大會專題報道,關注新浪微博直播 @CSDN云計算。