
云計算發(fā)展回顧——10年3階段
回顧云計算的發(fā)展歷史,2006年可稱為云計算發(fā)展元年。亞馬遜公司利用虛擬化這種經(jīng)典的系統(tǒng)軟件技術(shù)開創(chuàng)了“硬件即服務(wù)”商業(yè)模式,使得計算資源可以像水電一樣方便地提供給公眾使用,這也標志著公眾能夠感知到的云計算時代由此開始。之后的云計算發(fā)展可以分為3個階段:
概念探索期(2006~2010年)
云計算的“硬件即服務(wù)”商業(yè)模式得到業(yè)界和大眾的廣泛認可,各種公有云產(chǎn)品如雨后春筍般出現(xiàn),然而,人們對云計算本質(zhì)和技術(shù)重點的認識卻眾說紛“云”。產(chǎn)業(yè)巨頭、學術(shù)界都或多或少地從自身業(yè)務(wù)的角度來看待云計算,給出了各自的定義和說法,而每個都有各自的特點和不足。縱觀云計算的技術(shù)重點,大規(guī)模計算資源的虛擬化和軟件棧的服務(wù)化是主要的使能技術(shù)。這期間,硬件資源虛擬化及其管理技術(shù)獲得繁榮發(fā)展,推動人們對云的概念和認識不斷深入:KVM于2007年進入Linux內(nèi)核;LXC于2008年發(fā)布第一版;VMware于2009年推出VSphere;HyperV于2008年發(fā)布,其驅(qū)動于2009年提交到Linux內(nèi)核;CloudStack于2010年開源;后來成為私有云最重要基礎(chǔ)設(shè)施的OpenStack于2010年由NASA和Rackspace發(fā)起……各種服務(wù)模式大量涌現(xiàn),出現(xiàn)了眾多的XaaS概念。不少重要的云計算技術(shù)以開源模式發(fā)布,開源逐漸成為云基礎(chǔ)設(shè)施的重要選擇,云計算的概念逐漸走向清晰。
技術(shù)落地期(2010~2015年)
出現(xiàn)大量圍繞云進行的技術(shù)實踐和驗證,各方不斷“攻城略地”,以期在商業(yè)市場上占領(lǐng)先機。云計算獲得了飛速發(fā)展,并在全球范圍內(nèi)形成了千億美元規(guī)模的市場。2011年,NIST發(fā)布的云計算白皮書對云計算進行了較為權(quán)威的定義,基本終結(jié)了眾說紛“云”狀況。XaaS沉淀為以IaaS、PaaS和SaaS為主的3種服務(wù)模式;私有云雖起步較晚,但發(fā)展迅速,其熱度已超過公有云;混合云成為新的熱點。移動互聯(lián)終端的大量出現(xiàn)引發(fā)了云-端融合的新趨勢,進而影響云計算的部署模式。云服務(wù)和管理的關(guān)鍵技術(shù)與系統(tǒng)走向成熟,OpenStack和CloudStack等開源計算平臺得到廣泛應(yīng)用,以O(shè)penFlow為代表的軟件定義網(wǎng)絡(luò)成為云服務(wù)及管理的重要成分,對涵蓋計算、存儲和網(wǎng)絡(luò)等全硬件棧資源進行軟件定義成為共識,以應(yīng)對大量靈活部署虛擬機的需求。云資源管理全面走向軟件定義使得云平臺可以對規(guī);馁Y源進行高效的管理。
應(yīng)用繁榮期(2015年~)
伴隨著云平臺的成熟和各式終端設(shè)備的出現(xiàn),云計算正進入一個新的“繁榮發(fā)展”時期。其重要標識就是云計算的重心開始從以提供云設(shè)施為主轉(zhuǎn)為支撐云應(yīng)用為主,如何應(yīng)對復雜多樣的應(yīng)用需求成為云計算重要的關(guān)注點,API經(jīng)濟開始興起。大數(shù)據(jù)開始成為云計算的重要應(yīng)用,據(jù)IDC報告,2015年基于云的大數(shù)據(jù)處理投入增長速度將是基于企業(yè)自建解決方案的3倍,2015年所有大數(shù)據(jù)應(yīng)用中使用云平臺進行存儲或處理的占比將達到約40%。面向端設(shè)備的、基于云的應(yīng)用將越來越多也越來越專業(yè),云-端融合將成為云計算的新常態(tài)和新模式,而由軟件平臺來支撐云-端融合將變得越來越靈活。應(yīng)用繁榮期的云計算呈現(xiàn)應(yīng)用領(lǐng)域化、資源泛在化、系統(tǒng)平臺化和服務(wù)質(zhì)量綜合提升的趨勢。
過去10年,國內(nèi)云計算同樣獲得了長足發(fā)展,一個顯著的特征是各級政府的積極介入和推動。我國各級政府發(fā)布了一系列推動云計算及其相關(guān)領(lǐng)域和相關(guān)行業(yè)發(fā)展的政策,制定并發(fā)起了各種各樣的云計劃和云項目,例如,國務(wù)院2010年就將云計算納入戰(zhàn)略性新興產(chǎn)業(yè)規(guī)劃,科技部和工業(yè)和信息化部等分別啟動了云計算科技產(chǎn)業(yè)項目,各地方政府也啟動了各種云計算項目。很多企業(yè)如阿里、百度和華為等也在云計算領(lǐng)域進行了卓有成效的成功實踐并逐步加大投入。這些都大力推動了我國云計算的發(fā)展?梢哉f,我國云計算具有了世界級的應(yīng)用和市場,并在云計算技術(shù)方面開始取得長足進步。

云計算未來趨勢——“三化一提升”
未來云計算的發(fā)展趨勢可以用5個字概括:“三化一提升”,其中“三化”是指應(yīng)用領(lǐng)域化、資源泛在化和系統(tǒng)平臺化,而“一提升”則指服務(wù)質(zhì)量的提升。隨著互聯(lián)網(wǎng)聯(lián)網(wǎng)設(shè)備越來越多,我們正進入一個“人-機-物”融合、萬物互聯(lián)的時代,如何將各種網(wǎng)絡(luò)資源進行有效管理,如何應(yīng)對各種各樣的應(yīng)用需求,從而使得應(yīng)用支撐和資源之間能夠更好地溝通,是未來云計算技術(shù)需要著重解決的問題。
應(yīng)用領(lǐng)域化
應(yīng)用領(lǐng)域化是指面向各個領(lǐng)域、各種應(yīng)用需求的領(lǐng)域云和行業(yè)云等將會不斷出現(xiàn),例如支持電力的云、醫(yī)療的云和交通的云等等。隨著云計算底層支撐技術(shù)的日益成熟,云計算的關(guān)注重點將轉(zhuǎn)移到對上層應(yīng)用的支撐。面向特定領(lǐng)域需求,提供支撐應(yīng)用開發(fā)和運行的API、解決方案及其一體化環(huán)境,以支撐更多云應(yīng)用,是云計算發(fā)展面臨的新挑戰(zhàn)?梢灶A期,領(lǐng)域云和行業(yè)云等專用云平臺將具有廣闊的空間。
應(yīng)用領(lǐng)域化的一個重要技術(shù)是具備云感知能力的軟件服務(wù)。早期的信息系統(tǒng)是緊耦合一體化的,應(yīng)用自我建設(shè)、自我包含,業(yè)務(wù)處理功能難以分割;軟件即服務(wù)(SaaS)概念的提出催生了SOA體系,用于實現(xiàn)松耦合的分布式應(yīng)用,應(yīng)用建設(shè)依賴于互聯(lián)網(wǎng)上的“粗粒度”服務(wù),業(yè)務(wù)處理功能分散存在于互聯(lián)網(wǎng)上;而云計算的新發(fā)展正在催生SaaS 2.0,各種服務(wù)應(yīng)用充分利用云提供的API,基于云所提供的服務(wù)或者微服務(wù)進行構(gòu)建,服務(wù)應(yīng)用運行在云中,同時感知云環(huán)境中各種資源的變化,提供優(yōu)化的服務(wù)質(zhì)量。
資源泛在化
未來“人-機-物”融合的世界,計算資源廣泛多樣,需要充分發(fā)揮各種資源的能力。在移動互聯(lián)網(wǎng)的驅(qū)動下,云和智能終端開始融合(云-端融合),未來甚至涉及物聯(lián)網(wǎng)節(jié)點的融合,新的云-端融合的云計算體系架構(gòu)正在形成,簡單地側(cè)重使用某一端資源已經(jīng)不再適用,按需(動態(tài)可變地)使用客戶端和服務(wù)器資源,是云計算架構(gòu)發(fā)展的又一新趨勢。一方面,客戶端和服務(wù)端的軟件資源、硬件資源和能源可以在兩端實現(xiàn)合理分布和應(yīng)用,兩端的數(shù)據(jù)和獨特資源也可以實現(xiàn)共享;另一方面,未來的云將不僅需要支撐現(xiàn)在移動互聯(lián)網(wǎng)的智能手機和平板電腦等終端,還需要支撐物聯(lián)網(wǎng)所承載的各種各樣的聯(lián)網(wǎng)設(shè)備,在這樣一個泛在化網(wǎng)絡(luò)環(huán)境下,面向各種海量新硬件的云資源管理將會面臨很大的挑戰(zhàn)。
越來越多的新型硬件進入云平臺。在服務(wù)器硬件方面,包括RDMA和NVM等新型硬件設(shè)備開始投入應(yīng)用,諸如機器學習和數(shù)據(jù)挖掘等專用計算架構(gòu)不斷涌現(xiàn),各種類腦、神經(jīng)網(wǎng)絡(luò)、深度學習等專用芯片也開始上市……如何及時、有效地管理和利用新的硬件設(shè)備和架構(gòu),充分發(fā)揮其效能,是云管理平臺的一項重要任務(wù)。在終端硬件方面,新型的傳感器設(shè)備種類繁多且數(shù)量巨大,從攝像頭到GPS定位,從監(jiān)測血壓、測量海拔高度到光陀螺儀等等,如此海量的傳感器能否在云平臺上實現(xiàn)統(tǒng)一管理,也是新型云平臺將面臨的挑戰(zhàn)。
在資源泛在化的背景下,云還呈現(xiàn)出多尺度和差異化的現(xiàn)象,公有云、私有云和混合云并存;既有少量規(guī)模龐大的大型云,更有大量的利用已有資源的微小云;有實體云,還有基于實體云的虛擬云和聯(lián)盟云。未來跨云計算的需求也將越來越突出,如何跨越多云為應(yīng)用提供服務(wù),實現(xiàn)多云之間的開放協(xié)作和深度合作,也是資源泛在化背景下的一個重要課題。針對多云協(xié)作的問題,我國科學家提出了云際計算的概念,希望實現(xiàn)云服務(wù)實體之間的開放協(xié)作和多方云資源的深度融合,從而方便用戶和開發(fā)者定制云服務(wù)、創(chuàng)造云價值,這是下一代云計算研究的一個代表性嘗試。
系統(tǒng)平臺化
云計算的另一個重要趨勢是系統(tǒng)平臺化,云計算支撐系統(tǒng)呈現(xiàn)從云資源管理系統(tǒng)向云操作系統(tǒng)演化的趨勢。“云操作系統(tǒng)”的概念現(xiàn)在用得比較多,但均未達到預期的操作系統(tǒng)形態(tài)和能力。什么是操作系統(tǒng)?簡單而言就是向下管理資源,向上提供服務(wù)。例如單機操作系統(tǒng),其基本由兩大功能構(gòu)成:管理資源和管理作業(yè)。目前云管理系統(tǒng)主要作用是管理云的資源,以支撐各種應(yīng)用的運行;未來,其還要管理云上各種各樣的作業(yè),這一理念和單機操作系統(tǒng)相似,是系統(tǒng)平臺化之路共性不斷凝練和沉淀的結(jié)果。云管理系統(tǒng)的共性理念是什么?我們的理解是:其應(yīng)包含云操作系統(tǒng)、單機操作系統(tǒng)、各種各樣的應(yīng)用容器和中間件,以支撐各類云服務(wù)。要實現(xiàn)真正意義上的云操作系統(tǒng),需要向下管理所有云端和終端的資源,向上則對多樣化的資源應(yīng)用需求提供相應(yīng)的API服務(wù)。
云操作系統(tǒng)的發(fā)展面臨著哪些挑戰(zhàn)?在現(xiàn)階段,需要應(yīng)對復雜多樣的應(yīng)用需求,將傳統(tǒng)應(yīng)用無縫云化,需要支持基于互聯(lián)網(wǎng)的多終端一體交互方式,以及云內(nèi)海量異構(gòu)資源的有效管理等;更進一步則需要向上更好地支撐應(yīng)用,探索原生云應(yīng)用的運行與構(gòu)造技術(shù),研究開發(fā)新型程序設(shè)計模型和相關(guān)的編程語言,設(shè)計云作業(yè)的統(tǒng)一調(diào)度和管理機制,進行跨云和云際資源的按需整合,實現(xiàn)云服務(wù)的自主協(xié)同等。
在整個云資源的管理與定制方面,軟件定義是一個重要途徑,通過軟件定義方式可以完成深度定制,以管理各種各樣的資源,包括分布式資源的高效融合、巨量資源彈性調(diào)配、極端硬件特性和移動硬件特性的虛擬化、集約化的資源便捷共享、可定制化的系統(tǒng)軟件棧,以及終端和云端的融合協(xié)作等,為從微型虛擬機、小型虛擬機到滿足更大需要的巨型虛擬機提供寬譜系的管理支撐。
服務(wù)質(zhì)量的提升
服務(wù)質(zhì)量的提升可以用3個詞概括——更高、更快、更強壯。其中,“高”意味著支持高吞吐,這需要聚合大規(guī)模資源、提供海量數(shù)據(jù)的處理能力,以及實現(xiàn)高吞吐并發(fā)訪問。支持高吞吐是很多云應(yīng)用的需求,例如阿里巴巴每年“雙十一”的巨量交易、12306網(wǎng)站高峰時的巨量訪問,以及其它各種各樣面向大規(guī)模社交圈數(shù)據(jù)的跨地域分布式存儲系統(tǒng)等,都對高吞吐具有很大的需求。
在高吞吐的前提下還要實現(xiàn)“快”響應(yīng),也就是在提供高吞吐的同時顯著降低請求的響應(yīng)時間,提升用戶體驗與服務(wù)質(zhì)量。這方面的需求在現(xiàn)實中也有很多,據(jù)Amazon統(tǒng)計,每降低100毫秒延遲可以換來1%銷售額的提高;Akamai的研究指出:網(wǎng)頁加載延遲1秒將導致平均7%客戶流失、減少11%網(wǎng)頁訪問量和16%客戶滿意度;增強/虛擬現(xiàn)實(AR/VR)需要在1毫秒內(nèi)完成場景的構(gòu)建,等等;谠频拇罅繎(yīng)用形態(tài)能否獲得成功或提供高的使用質(zhì)量,實現(xiàn)快響應(yīng)就是其中的關(guān)鍵。要實現(xiàn)快響應(yīng),云架構(gòu)和軟件棧的低延遲設(shè)計就尤為重要。云計算應(yīng)用的延遲主要包括兩個方面:一是網(wǎng)絡(luò)帶來的延遲,二是云中心帶來的延遲。按當前統(tǒng)計來看,二者大約各占50%。應(yīng)對網(wǎng)絡(luò)帶來的延遲涉及到帶寬的提升,也需要數(shù)據(jù)中心合理的分布,以便用戶可以盡可能訪問就近的數(shù)據(jù)中心;應(yīng)對云中心帶來的延遲則需要對基于分層的云計算軟件棧進行垂直整合,當前云軟件棧主要面對高吞吐設(shè)計,在低延遲尤其是尾部延遲方面有明顯不足,因此技術(shù)上還有很大發(fā)展空間。
更“強壯”則體現(xiàn)在更好的可靠和可用性保障。云計算的規(guī)模和復雜度的快速增長要求更為全面的質(zhì)量保證:首先,數(shù)據(jù)中心規(guī)模不斷增長,規(guī)模部署成為事實,高度集成的云計算環(huán)境故障越來越多,故障帶來的損失也越來越大;其次,虛擬化構(gòu)成的彈性資源池快速增長且組織復雜,增加了管理的復雜度;最后,越來越多的機構(gòu)計劃采用云計算平臺,持續(xù)發(fā)展的業(yè)務(wù)種類導致了需求多樣性。在這種情況下,如何實現(xiàn)高可靠和高可用的云計算系統(tǒng)成為一個重大挑戰(zhàn),當前已有各種技術(shù)研發(fā)和嘗試,諸如采用非易失性內(nèi)存來提升內(nèi)存計算中數(shù)據(jù)的可靠性和可用性、使用分布式UPS替代傳統(tǒng)集中式UPS以保證電源供給、在系統(tǒng)級支持虛擬機/容器的狀態(tài)同步和動態(tài)遷移,以及在應(yīng)用層次上的數(shù)據(jù)并行計算和圖并行計算系統(tǒng)和機制等。
北京大學基于網(wǎng)構(gòu)軟件模式的云計算實踐
互聯(lián)網(wǎng)已經(jīng)逐步演化成一個全球泛在的計算平臺,其開放、動態(tài)和難控的特性對軟件技術(shù)提出了一系列重大挑戰(zhàn)。我國學者從軟件角度探討互聯(lián)網(wǎng)計算,提出了一種互聯(lián)網(wǎng)軟件新范型——網(wǎng)構(gòu)軟件(Internetware),并在國家“973計劃”項目支持下,針對互聯(lián)網(wǎng)應(yīng)用的自主性、協(xié)同性、演化性、情境性、涌現(xiàn)性和可信性等新特性,構(gòu)造了一個開放、協(xié)同的網(wǎng)構(gòu)軟件模型;進而提出了支持按需協(xié)同和在線演化的容器系統(tǒng)結(jié)構(gòu)和相關(guān)機制,支持系統(tǒng)自治管理,為網(wǎng)構(gòu)軟件提供運行時的支撐;提出了全生命期軟件體系結(jié)構(gòu)驅(qū)動的網(wǎng)構(gòu)軟件開發(fā)和演化方法;建立了一套網(wǎng)構(gòu)軟件技術(shù)體系。近幾年,北大軟件團隊基于網(wǎng)構(gòu)軟件模式在混合云管理、數(shù)據(jù)互操作平臺和基于云的大數(shù)據(jù)處理方面開展了一些前沿性的研究工作。
在混合云管理系統(tǒng)方面,采用“管理功能API化+管理任務(wù)可編程”的“軟件定義”思路,研制了混合云管理系統(tǒng)——燕云IaaS,實現(xiàn)了對服務(wù)器、存儲、網(wǎng)絡(luò)和軟件平臺等基礎(chǔ)軟硬件資源的集成與配置管理,支持公有、私有和混合IaaS云的按需構(gòu)造與管理。燕云已成功轉(zhuǎn)化為多個IT企業(yè)的云管理產(chǎn)品,應(yīng)用于政務(wù)、交通、電信和醫(yī)療等多個行業(yè)領(lǐng)域,相關(guān)技術(shù)成果還獲得了2015年教育部高?萍歼M步一等獎。
在數(shù)據(jù)互操作平臺方面,面向互聯(lián)網(wǎng)環(huán)境下數(shù)據(jù)孤島阻礙大數(shù)據(jù)互操作問題,研發(fā)了燕云DaaS(Data as a Service)系統(tǒng),基于體系結(jié)構(gòu)恢復技術(shù)來抓取應(yīng)用系統(tǒng)及其構(gòu)件的API、實現(xiàn)應(yīng)用和數(shù)據(jù)的互操作,同時可基于API形成新的運行管理邏輯。該系統(tǒng)可以在沒有系統(tǒng)源碼和文檔的情況下,將各種Web系統(tǒng)、移動App和PC應(yīng)用的數(shù)據(jù)封裝成API,打破信息孤島,實現(xiàn)系統(tǒng)內(nèi)部數(shù)據(jù)的開放共享。研究成果已成功應(yīng)用于政府、金融、交通和能源等上百個應(yīng)用系統(tǒng)的數(shù)據(jù)開放共享項目。
在基于云的大數(shù)據(jù)處理方面,開發(fā)了輕量級數(shù)據(jù)管理與處理平臺Docklet(https://github.com/unias/docklet),其面向小型數(shù)據(jù)中心,支持多用戶和多框架共享資源,通過容器技術(shù)和軟件定義技術(shù)等將物理集群虛擬化為虛擬集群,支持用戶按需共享資源,支持Spark和MPI等各種計算框架,可運行現(xiàn)有的各種Python、R和Java等語言的數(shù)據(jù)分析與處理程序。Docklet提出了云化的“工作空間”概念,用戶通過瀏覽器進入工作空間,在云端完成所有數(shù)據(jù)分析工作,包括編碼、測試、運行和結(jié)果可視化等。Docklet已在北京大學計算中心進行了部署,為學校師生在線提供科學計算、數(shù)據(jù)分析與可視化,以及虛擬實驗環(huán)境等云服務(wù)。
梅宏/文
中國科學院院士