雲計算:這10年

梅宏/文

中國科學院院士


自2006年肇始,雲計算髮展至今已逾10年,在技術和產業領域都取得了巨大進展,成爲推動互聯網創新的主要信息基礎設施。隨着互聯網計算越來越呈現出網絡化、泛在化和智能化趨勢,人類社會、信息系統和物理世界正逐漸走向“人-機-物”三元融合,這需要新型計算模式和計算平臺的支撐,而云計算無疑將成爲其中代表性的新型計算平臺。

雲計算髮展回顧——10年3階段

回顧雲計算的發展歷史,2006年可稱爲雲計算髮展元年。亞馬遜公司利用虛擬化這種經典的系統軟件技術開創了“硬件即服務”商業模式,使得計算資源可以像水電一樣方便地提供給公衆使用,這也標誌着公衆能夠感知到的雲計算時代由此開始。之後的雲計算髮展可以分爲3個階段:

概念探索期(2006~2010年)

雲計算的“硬件即服務”商業模式得到業界和大衆的廣泛認可,各種公有云產品如雨後春筍般出現,然而,人們對雲計算本質和技術重點的認識卻衆說紛“雲”。產業巨頭、學術界都或多或少地從自身業務的角度來看待雲計算,給出了各自的定義和說法,而每個都有各自的特點和不足。縱觀雲計算的技術重點,大規模計算資源的虛擬化和軟件棧的服務化是主要的使能技術。這期間,硬件資源虛擬化及其管理技術獲得繁榮發展,推動人們對雲的概念和認識不斷深入:KVM於2007年進入Linux內核;LXC於2008年發佈第一版;VMware於2009年推出VSphere;HyperV於2008年發佈,其驅動於2009年提交到Linux內核;CloudStack於2010年開源;後來成爲私有云最重要基礎設施的OpenStack於2010年由NASA和Rackspace發起……各種服務模式大量涌現,出現了衆多的XaaS概念。不少重要的雲計算技術以開源模式發佈,開源逐漸成爲雲基礎設施的重要選擇,雲計算的概念逐漸走向清晰。

技術落地期(2010~2015年)

出現大量圍繞雲進行的技術實踐和驗證,各方不斷“攻城略地”,以期在商業市場上佔領先機。雲計算獲得了飛速發展,並在全球範圍內形成了千億美元規模的市場。2011年,NIST發佈的雲計算白皮書對雲計算進行了較爲權威的定義,基本終結了衆說紛“雲”狀況。XaaS沉澱爲以IaaS、PaaS和SaaS爲主的3種服務模式;私有云雖起步較晚,但發展迅速,其熱度已超過公有云;混合雲成爲新的熱點。移動互聯終端的大量出現引發了雲-端融合的新趨勢,進而影響雲計算的部署模式。雲服務和管理的關鍵技術與系統走向成熟,OpenStack和CloudStack等開源計算平臺得到廣泛應用,以OpenFlow爲代表的軟件定義網絡成爲雲服務及管理的重要成分,對涵蓋計算、存儲和網絡等全硬件棧資源進行軟件定義成爲共識,以應對大量靈活部署虛擬機的需求。雲資源管理全面走向軟件定義使得雲平臺可以對規模化的資源進行高效的管理。

應用繁榮期(2015年~)

伴隨着雲平臺的成熟和各式終端設備的出現,雲計算正進入一個新的“繁榮發展”時期。其重要標識就是雲計算的重心開始從以提供雲設施爲主轉爲支撐雲應用爲主,如何應對複雜多樣的應用需求成爲雲計算重要的關注點,API經濟開始興起。大數據開始成爲雲計算的重要應用,據IDC報告,2015年基於雲的大數據處理投入增長速度將是基於企業自建解決方案的3倍,2015年所有大數據應用中使用雲平臺進行存儲或處理的佔比將達到約40%。面向端設備的、基於雲的應用將越來越多也越來越專業,雲-端融合將成爲雲計算的新常態和新模式,而由軟件平臺來支撐雲-端融合將變得越來越靈活。應用繁榮期的雲計算呈現應用領域化、資源泛在化、系統平臺化和服務質量綜合提升的趨勢。

過去10年,國內雲計算同樣獲得了長足發展,一個顯著的特徵是各級政府的積極介入和推動。我國各級政府發佈了一系列推動雲計算及其相關領域和相關行業發展的政策,制定併發起了各種各樣的雲計劃和雲項目,例如,國務院2010年就將雲計算納入戰略性新興產業規劃,科技部和工業和信息化部等分別啓動了雲計算科技產業項目,各地方政府也啓動了各種雲計算項目。很多企業如阿里、百度和華爲等也在雲計算領域進行了卓有成效的成功實踐並逐步加大投入。這些都大力推動了我國雲計算的發展。可以說,我國雲計算具有了世界級的應用和市場,並在雲計算技術方面開始取得長足進步。


雲計算未來趨勢——“三化一提升”

未來雲計算的發展趨勢可以用5個字概括:“三化一提升”,其中“三化”是指應用領域化、資源泛在化和系統平臺化,而“一提升”則指服務質量的提升。隨着互聯網聯網設備越來越多,我們正進入一個“人-機-物”融合、萬物互聯的時代,如何將各種網絡資源進行有效管理,如何應對各種各樣的應用需求,從而使得應用支撐和資源之間能夠更好地溝通,是未來雲計算技術需要着重解決的問題。

應用領域化

應用領域化是指面向各個領域、各種應用需求的領域雲和行業雲等將會不斷出現,例如支持電力的雲、醫療的雲和交通的雲等等。隨着雲計算底層支撐技術的日益成熟,雲計算的關注重點將轉移到對上層應用的支撐。面向特定領域需求,提供支撐應用開發和運行的API、解決方案及其一體化環境,以支撐更多雲應用,是雲計算髮展面臨的新挑戰。可以預期,領域雲和行業雲等專用雲平臺將具有廣闊的空間。

應用領域化的一個重要技術是具備雲感知能力的軟件服務。早期的信息系統是緊耦合一體化的,應用自我建設、自我包含,業務處理功能難以分割;軟件即服務(SaaS)概念的提出催生了SOA體系,用於實現鬆耦合的分佈式應用,應用建設依賴於互聯網上的“粗粒度”服務,業務處理功能分散存在於互聯網上;而云計算的新發展正在催生SaaS 2.0,各種服務應用充分利用雲提供的API,基於雲所提供的服務或者微服務進行構建,服務應用運行在雲中,同時感知雲環境中各種資源的變化,提供優化的服務質量。

資源泛在化

未來“人-機-物”融合的世界,計算資源廣泛多樣,需要充分發揮各種資源的能力。在移動互聯網的驅動下,雲和智能終端開始融合(雲-端融合),未來甚至涉及物聯網節點的融合,新的雲-端融合的雲計算體系架構正在形成,簡單地側重使用某一端資源已經不再適用,按需(動態可變地)使用客戶端和服務器資源,是雲計算架構發展的又一新趨勢。一方面,客戶端和服務端的軟件資源、硬件資源和能源可以在兩端實現合理分佈和應用,兩端的數據和獨特資源也可以實現共享;另一方面,未來的雲將不僅需要支撐現在移動互聯網的智能手機和平板電腦等終端,還需要支撐物聯網所承載的各種各樣的聯網設備,在這樣一個泛在化網絡環境下,面向各種海量新硬件的雲資源管理將會面臨很大的挑戰。

越來越多的新型硬件進入雲平臺。在服務器硬件方面,包括RDMA和NVM等新型硬件設備開始投入應用,諸如機器學習和數據挖掘等專用計算架構不斷涌現,各種類腦、神經網絡、深度學習等專用芯片也開始上市……如何及時、有效地管理和利用新的硬件設備和架構,充分發揮其效能,是雲管理平臺的一項重要任務。在終端硬件方面,新型的傳感器設備種類繁多且數量巨大,從攝像頭到GPS定位,從監測血壓、測量海拔高度到光陀螺儀等等,如此海量的傳感器能否在雲平臺上實現統一管理,也是新型雲平臺將面臨的挑戰。

在資源泛在化的背景下,雲還呈現出多尺度和差異化的現象,公有云、私有云和混合雲並存;既有少量規模龐大的大型雲,更有大量的利用已有資源的微小云;有實體雲,還有基於實體雲的虛擬雲和聯盟雲。未來跨雲計算的需求也將越來越突出,如何跨越多雲爲應用提供服務,實現多雲之間的開放協作和深度合作,也是資源泛在化背景下的一個重要課題。針對多雲協作的問題,我國科學家提出了雲際計算的概念,希望實現雲服務實體之間的開放協作和多方雲資源的深度融合,從而方便用戶和開發者定製雲服務、創造雲價值,這是下一代雲計算研究的一個代表性嘗試。

系統平臺化

雲計算的另一個重要趨勢是系統平臺化,雲計算支撐系統呈現從雲資源管理系統向雲操作系統演化的趨勢。“雲操作系統”的概念現在用得比較多,但均未達到預期的操作系統形態和能力。什麼是操作系統?簡單而言就是向下管理資源,向上提供服務。例如單機操作系統,其基本由兩大功能構成:管理資源和管理作業。目前雲管理系統主要作用是管理雲的資源,以支撐各種應用的運行;未來,其還要管理雲上各種各樣的作業,這一理念和單機操作系統相似,是系統平臺化之路共性不斷凝練和沉澱的結果。雲管理系統的共性理念是什麼?我們的理解是:其應包含雲操作系統、單機操作系統、各種各樣的應用容器和中間件,以支撐各類雲服務。要實現真正意義上的雲操作系統,需要向下管理所有云端和終端的資源,向上則對多樣化的資源應用需求提供相應的API服務。

雲操作系統的發展面臨着哪些挑戰?在現階段,需要應對複雜多樣的應用需求,將傳統應用無縫雲化,需要支持基於互聯網的多終端一體交互方式,以及雲內海量異構資源的有效管理等;更進一步則需要向上更好地支撐應用,探索原生雲應用的運行與構造技術,研究開發新型程序設計模型和相關的編程語言,設計雲作業的統一調度和管理機制,進行跨雲和雲際資源的按需整合,實現雲服務的自主協同等。

在整個雲資源的管理與定製方面,軟件定義是一個重要途徑,通過軟件定義方式可以完成深度定製,以管理各種各樣的資源,包括分佈式資源的高效融合、巨量資源彈性調配、極端硬件特性和移動硬件特性的虛擬化、集約化的資源便捷共享、可定製化的系統軟件棧,以及終端和雲端的融合協作等,爲從微型虛擬機、小型虛擬機到滿足更大需要的巨型虛擬機提供寬譜系的管理支撐。

服務質量的提升

服務質量的提升可以用3個詞概括——更高、更快、更強壯。其中,“高”意味着支持高吞吐,這需要聚合大規模資源、提供海量數據的處理能力,以及實現高吞吐併發訪問。支持高吞吐是很多雲應用的需求,例如阿里巴巴每年“雙十一”的巨量交易、12306網站高峯時的巨量訪問,以及其它各種各樣面向大規模社交圈數據的跨地域分佈式存儲系統等,都對高吞吐具有很大的需求。

在高吞吐的前提下還要實現“快”響應,也就是在提供高吞吐的同時顯著降低請求的響應時間,提升用戶體驗與服務質量。這方面的需求在現實中也有很多,據Amazon統計,每降低100毫秒延遲可以換來1%銷售額的提高;Akamai的研究指出:網頁加載延遲1秒將導致平均7%客戶流失、減少11%網頁訪問量和16%客戶滿意度;增強/虛擬現實(AR/VR)需要在1毫秒內完成場景的構建,等等。基於雲的大量應用形態能否獲得成功或提供高的使用質量,實現快響應就是其中的關鍵。要實現快響應,雲架構和軟件棧的低延遲設計就尤爲重要。雲計算應用的延遲主要包括兩個方面:一是網絡帶來的延遲,二是雲中心帶來的延遲。按當前統計來看,二者大約各佔50%。應對網絡帶來的延遲涉及到帶寬的提升,也需要數據中心合理的分佈,以便用戶可以儘可能訪問就近的數據中心;應對雲中心帶來的延遲則需要對基於分層的雲計算軟件棧進行垂直整合,當前雲軟件棧主要面對高吞吐設計,在低延遲尤其是尾部延遲方面有明顯不足,因此技術上還有很大發展空間。

更“強壯”則體現在更好的可靠和可用性保障。雲計算的規模和複雜度的快速增長要求更爲全面的質量保證:首先,數據中心規模不斷增長,規模部署成爲事實,高度集成的雲計算環境故障越來越多,故障帶來的損失也越來越大;其次,虛擬化構成的彈性資源池快速增長且組織複雜,增加了管理的複雜度;最後,越來越多的機構計劃採用雲計算平臺,持續發展的業務種類導致了需求多樣性。在這種情況下,如何實現高可靠和高可用的雲計算系統成爲一個重大挑戰,當前已有各種技術研發和嘗試,諸如採用非易失性內存來提升內存計算中數據的可靠性和可用性、使用分佈式UPS替代傳統集中式UPS以保證電源供給、在系統級支持虛擬機/容器的狀態同步和動態遷移,以及在應用層次上的數據並行計算和圖並行計算系統和機制等。

北京大學基於網構軟件模式的雲計算實踐

互聯網已經逐步演化成一個全球泛在的計算平臺,其開放、動態和難控的特性對軟件技術提出了一系列重大挑戰。我國學者從軟件角度探討互聯網計算,提出了一種互聯網軟件新範型——網構軟件(Internetware),並在國家“973計劃”項目支持下,針對互聯網應用的自主性、協同性、演化性、情境性、涌現性和可信性等新特性,構造了一個開放、協同的網構軟件模型;進而提出了支持按需協同和在線演化的容器系統結構和相關機制,支持系統自治管理,爲網構軟件提供運行時的支撐;提出了全生命期軟件體系結構驅動的網構軟件開發和演化方法;建立了一套網構軟件技術體系。近幾年,北大軟件團隊基於網構軟件模式在混合雲管理、數據互操作平臺和基於雲的大數據處理方面開展了一些前沿性的研究工作。

在混合雲管理系統方面,採用“管理功能API化+管理任務可編程”的“軟件定義”思路,研製了混合雲管理系統——燕雲IaaS,實現了對服務器、存儲、網絡和軟件平臺等基礎軟硬件資源的集成與配置管理,支持公有、私有和混合IaaS雲的按需構造與管理。燕雲已成功轉化爲多個IT企業的雲管理產品,應用於政務、交通、電信和醫療等多個行業領域,相關技術成果還獲得了2015年教育部高校科技進步一等獎。

在數據互操作平臺方面,面向互聯網環境下數據孤島阻礙大數據互操作問題,研發了燕雲DaaS(Data as a Service)系統,基於體系結構恢復技術來抓取應用系統及其構件的API、實現應用和數據的互操作,同時可基於API形成新的運行管理邏輯。該系統可以在沒有系統源碼和文檔的情況下,將各種Web系統、移動App和PC應用的數據封裝成API,打破信息孤島,實現系統內部數據的開放共享。研究成果已成功應用於政府、金融、交通和能源等上百個應用系統的數據開放共享項目。

在基於雲的大數據處理方面,開發了輕量級數據管理與處理平臺Docklet(https://github.com/unias/docklet),其面向小型數據中心,支持多用戶和多框架共享資源,通過容器技術和軟件定義技術等將物理集羣虛擬化爲虛擬集羣,支持用戶按需共享資源,支持Spark和MPI等各種計算框架,可運行現有的各種Python、R和Java等語言的數據分析與處理程序。Docklet提出了雲化的“工作空間”概念,用戶通過瀏覽器進入工作空間,在雲端完成所有數據分析工作,包括編碼、測試、運行和結果可視化等。Docklet已在北京大學計算中心進行了部署,爲學校師生在線提供科學計算、數據分析與可視化,以及虛擬實驗環境等雲服務。


(更多華爲資訊請關注華爲開發者社區,華爲自己的對外開放門戶:http://developer.huawei.com/ict/cn/ ,不要問我叫啥,別人都叫我雷鋒)




發佈了171 篇原創文章 · 獲贊 109 · 訪問量 107萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章