耿航航
近年來,國內(nèi)眾多IT廠商在積極擁抱開源,中國已然成為OpenStack、Ceph、Kubernetes等開源技術(shù)大放光彩的樂土。
云計算,一次偉大的計算機科技革新?;厥自朴嬎惆l(fā)展,已然走過十余年,從當(dāng)初AWS高舉云計算口號,到家喻戶曉、如火如荼。目前來看,云計算正向云智能時代邁進:一方面,2018年開始各大云廠商紛紛改名為“云智能”;另一方面,政策發(fā)布、產(chǎn)業(yè)引導(dǎo),標(biāo)志著云計算、大數(shù)據(jù)、人工智能等新興技術(shù)將會加速與產(chǎn)業(yè)的融合。
再回首開源,二十余年時光荏苒,風(fēng)雨兼程,從當(dāng)初的極少數(shù)逐漸變?yōu)榱舜蠖鄶?shù)。最典型的例子就是微軟公司,從開源的死對頭到現(xiàn)在極力地擁抱開源;Red Hat、SUSE等公司也因開源實現(xiàn)了企業(yè)價值。開源軟件發(fā)展至今已經(jīng)深入人心,開源不只是表面流行的一個理念,它給全球的互聯(lián)網(wǎng)以及各個行業(yè)增加了強大軟件動力,改變了軟件技術(shù)與產(chǎn)業(yè)的發(fā)展方向。近年來,國內(nèi)眾多IT廠商在積極擁抱開源,中國已然成為OpenStack、Ceph、Kubernetes等開源技術(shù)大放光彩的樂土。
本文試圖從一個開源技術(shù)實踐者的視角來回顧云計算的發(fā)展演進。因篇幅有限,所討論的范疇以IaaS與PaaS的開源技術(shù)演進為主。
如圖1所示,筆者認(rèn)為云計算時代以來,主要分為啟蒙、快速發(fā)展及云+智能時代三個階段。每個階段都孕育了眾多云相關(guān)的開源項目和軟件,并因云計算的發(fā)展而得到長足的發(fā)展。以下試分階段闡述:
2010-2014年
云計算啟蒙期:云計算1.0
首先說下云計算的開始,大家一般都是以業(yè)界標(biāo)桿AWS為主的,而國內(nèi)云計算的開始較晚于國外,我國云計算業(yè)界標(biāo)桿阿里云從2008年開始籌辦和起步,也就是說我國從2008年開始,云計算的時代大幕才逐步拉開。
在云計算啟蒙期,大家的需求以創(chuàng)建虛擬機為主,當(dāng)時大家普遍認(rèn)為提云計算很虛,甚至還會出現(xiàn)一些“騙子”。在當(dāng)時盛行的是虛擬化,開源代表則是Xen、KVM。提到虛擬化就繞不開一些關(guān)鍵時髦的名詞,比如半虛擬化、全虛擬化、GPU虛擬化等。
虛擬化的出現(xiàn)解決了物理機使用效率低、成本高等缺點,但也帶來了新的挑戰(zhàn):虛擬化管理。如何合理地進行虛擬化的監(jiān)控和擴容、高效利用虛擬化等,為了解決這些問題,推出了新的技術(shù)體系—云計算。
這里為什么要提虛擬化呢?因為很長一段時間內(nèi),大家對虛擬化和云計算的概念總是混淆不清,而虛擬化與云計算的最大區(qū)別在于云計算更加注重用戶需求、按需索取、彈性擴展,同時也改變了用戶的服務(wù)交付方式,企業(yè)無需購買軟硬件、建設(shè)機房等,只需根據(jù)需求付費購買服務(wù)即可。
與此同時,開源界也出現(xiàn)了演進,以Eucalyptus、CloudStack為代表的開源云系統(tǒng)橫空出世,拉近了中國與世界云計算發(fā)展的距離。其中Eucalyptus以可最佳兼容AWS而一時間大火,很多國內(nèi)公司早期都是基于Eucalyptus來進行構(gòu)建,同時CloudStack良好的社區(qū)生態(tài)在2013年也名噪一時,國內(nèi)一些公司也是基于CloudStack來構(gòu)建。兩者都是輕量級、易用的優(yōu)秀開源云計算軟件,究其沒落原因還是在于生態(tài)運營,筆者有幸參與了基于兩款開源軟件的共享云建設(shè)。此時還有一款開源云系統(tǒng)OpenStack在默默發(fā)力,也在國內(nèi)布道推廣,至于為什么后來成為了業(yè)界標(biāo)準(zhǔn),請繼續(xù)往下看。
2014-2018年
云計算快速發(fā)展期:云計算2.0
云計算2.0時代用戶需求則以實現(xiàn)云資源調(diào)度、彈性擴展為主。云計算可以理解為有個資源池,理論上池子里有無窮無盡的各種計算、存儲和網(wǎng)絡(luò)資源,使用者只需告訴云平臺想要達到什么樣的目的,云平臺便會從資源池里按需創(chuàng)建、調(diào)度給使用者。云計算按照使用服務(wù)的類型可分為IaaS、PaaS、SaaS三層,下面我們來逐步分析。
云計算2.0是一個非常有意思的時期,這段時期可以叫做云計算快速發(fā)展期,也可以叫做群雄混戰(zhàn)期,各種原因促使了云計算的快速發(fā)展,隨之而來的就是雨后春筍般大大小小的云計算公司(如運營商、IDC、創(chuàng)業(yè)公司等)。前面講到了,開源軟件讓中國云計算廠商與世界云計算一流廠商站在了同一起跑線上。
最典型的例子,如建成開源云IaaS標(biāo)準(zhǔn)的OpenStack,在2014年名噪一時,一路突飛猛進,斬殺無數(shù)開源云軟件,前面提到的Eucalyptus、CloudStack,由于生態(tài)、運營等因素均被斬于馬下,那會兒覺得不做OpenStack都跟不上時代潮流。同時國內(nèi)也興起了一波以O(shè)penStack為基礎(chǔ)構(gòu)建云的提供商以及企業(yè)用戶,其中不乏有金融、政府、教育、運營商等行業(yè)用戶。
當(dāng)然用戶的需求是無止境的,很快Docker、LXC便出現(xiàn)在了人們的視野中。以快速構(gòu)建、快速發(fā)布為主的新需求使得容器技術(shù)大火,代表性的有建成開源云PaaS標(biāo)準(zhǔn)的Kubernetes。跟此前OpenStack的情景類似,國內(nèi)也興起了一波以Kubernetes為基礎(chǔ)構(gòu)建云的提供商以及企業(yè)用戶,其中不乏金融、政府、教育、運營商等行業(yè)用戶。筆者認(rèn)為Docker終究還是個工具,不太適合創(chuàng)業(yè),門檻太低。
分析了開源計算,我們再來談?wù)勯_源存儲領(lǐng)域發(fā)生過的事情。Ceph在2012年搭上了OpenStack的快速列車,名聲大振,一路高歌猛進,在今天已然成為開源分布式存儲領(lǐng)域的事實標(biāo)準(zhǔn)。
其統(tǒng)一存儲的方式顛覆了以往的使用習(xí)慣,但也存在很多問題,比如入門難、運維難、調(diào)優(yōu)難等一系列問題困擾著很多初學(xué)者,SDS不是說僅僅把硬件做加法就可以達到很高的性能,還需調(diào)整操作系統(tǒng)、網(wǎng)卡等相應(yīng)參數(shù)來達到需求。因為存儲的門檻很高,也是個“高?!钡念I(lǐng)域,所以沒有出現(xiàn)很多基于Ceph的創(chuàng)業(yè)型公司。
2018年+
云+智能時代
目前,大家都在談數(shù)字化轉(zhuǎn)型,似乎這是一個不談就會落伍的概念,數(shù)字化轉(zhuǎn)型時代的熱詞包括上云、混合云、工業(yè)互聯(lián)網(wǎng)、兩化融合、邊緣計算、智能制造等。
筆者認(rèn)為未來需求場景將會以數(shù)據(jù)智能、技術(shù)產(chǎn)業(yè)場景協(xié)同為主。從去年下半年開始,阿里云、百度云紛紛更名為阿里云智能、百度智能云,其目的是讓云更加適應(yīng)數(shù)字化轉(zhuǎn)型時代行業(yè)場景的協(xié)同,更加注重云與產(chǎn)業(yè)場景的結(jié)合落地。
隨之而來的是幾大趨勢:創(chuàng)新(AI、GPU、Edge等)、垂直(視頻云、工業(yè)云等)、混合(CMP、MSP)、生態(tài)(技術(shù)、開發(fā)者)等。
兩化融合、工業(yè)物聯(lián)網(wǎng)、智能制造、企業(yè)上云等政策的發(fā)布,將會促進云計算與產(chǎn)業(yè)場景的結(jié)合。
筆者預(yù)測:
1.未來云計算將會下沉至行業(yè),真正實現(xiàn)云與產(chǎn)業(yè)的相結(jié)合,從而加速云、邊、端協(xié)同,打通云計算落地的“最后一公里”,目前云計算巨頭在這方面均已有進展,如阿里云LinkEdge、AWS IoT Greengrass、Azure IOT Edge、華為IEF等。
2.未來云計算形態(tài)將會呈現(xiàn)出公有云、私有云、混合云形態(tài),無論是出于風(fēng)險決策也好,還是企業(yè)內(nèi)部原因也好,都會催生出很多新需求,比如“MSP+CMP”的出現(xiàn),因為隨著云的日益高度復(fù)雜化和差異化,企業(yè)會愈發(fā)需要面向云端各個層面的解讀、判斷與幫助,除了原廠支持團隊的助力之外,獨立的云計算咨詢與托管服務(wù)會成為新的需求熱點。
跟前面說到的一樣,國內(nèi)也出現(xiàn)了一些以MSP為主的創(chuàng)業(yè)公司(新鈦云服、ChinaMSP等),筆者覺得任重而道遠,畢竟這個以咨詢?yōu)橹?,要求還是很高的,行業(yè)壁壘也很高。
3.未來技術(shù)場景將會以云為基,無論是人工智能還是邊緣計算。
4.發(fā)展至今,云計算市場已然成為持久戰(zhàn),所謂得用戶者得天下,所以未來一定是生態(tài)制勝。
一方面是產(chǎn)品生態(tài),不可能一家獨大,所以各方勢力都在打造產(chǎn)業(yè)生態(tài)。另一方面就是剛才說到的用戶—開發(fā)者生態(tài),筆者認(rèn)為開發(fā)者生態(tài)在一定程度上屬于開源戰(zhàn)略的一種體現(xiàn),利用企業(yè)自身的技術(shù)輸出來增加用戶的黏度,畢竟最終使用產(chǎn)品的是技術(shù)開發(fā)者。近年來國內(nèi)很多企業(yè)都開始了開發(fā)者生態(tài)戰(zhàn)略,如騰訊云TVP、阿里云MVP、華為云MVP等紛紛推出了自己的MVP最具價值專家,以及相應(yīng)的開發(fā)者技術(shù)活動等。
云智能大勢? 著眼未來布局技術(shù)
開源領(lǐng)域的技術(shù)演進是與時俱進的,下面我們來講述下云智能時代,開源云從業(yè)者該如何布局未來技術(shù)。前面筆者從開源技術(shù)實踐者的視角回顧云計算的發(fā)展演進歷程,也大膽做出了未來云計算發(fā)展的預(yù)測,其中描繪了被5G加持的邊緣計算將會得到快速發(fā)展的場景。
什么是邊緣計算?邊緣計算作為一個新興概念,不同的參與方均有不同的定義。根據(jù)歐洲電信標(biāo)準(zhǔn)協(xié)會(ETSI)的定義,多接入邊緣是指在靠近人、物或數(shù)據(jù)源頭的網(wǎng)絡(luò)邊緣側(cè),通過融合網(wǎng)絡(luò)、計算、存儲、應(yīng)用等核心能力的開放平臺,就近提供邊緣智能服務(wù),滿足行業(yè)數(shù)字化的需求。
除此之外,ARM以及ECC等企業(yè)/機構(gòu)也給出了邊緣計算的解釋,基本上是一致的。通俗來講邊緣計算就是更靠近用戶側(cè)和業(yè)務(wù)端的計算方式。
而邊緣計算作為新興的技術(shù)系統(tǒng),在智慧城市、智慧家居、智慧醫(yī)院、在線直播到智能泊車、自動駕駛、無人機、智能制造、虛擬現(xiàn)實以及增強現(xiàn)實等場景下,都得到了廣泛應(yīng)用。那么為什么邊緣計算會在誕生以后快速發(fā)展,迅速占據(jù)市場呢?首先,它具備一系列特點:
1.提升數(shù)據(jù)處理效率
邊緣計算距離用戶更近,可以在邊緣節(jié)點處就實現(xiàn)對數(shù)據(jù)的過濾和分析,不需要等待數(shù)據(jù)傳輸。由于靠近數(shù)據(jù)接收源頭,所以能夠?qū)崟r地獲取數(shù)據(jù)并進行分析處理,更好地支撐本地業(yè)務(wù)的實時智能化處理與執(zhí)行。
2.增強數(shù)據(jù)安全性
邊緣計算在接收到數(shù)據(jù)之后,可以對數(shù)據(jù)加密再進行傳輸,提升了數(shù)據(jù)的安全性。
3.緩解云端壓力
邊緣計算在進行云端傳輸時通過邊緣節(jié)點進行一部分簡單數(shù)據(jù)處理,當(dāng)面對大量數(shù)據(jù)時,可以采用一定的壓縮算法,提取到有用信息之后再進行傳輸,能夠大量減少數(shù)據(jù)帶寬的消耗。
其次,它解決了一系列問題:
1.空間有限
邊緣站點的資源往往是有限的,這是因為空間或電源的限制導(dǎo)致不能隨意往站點里面添加更多的資源。
2.環(huán)境復(fù)雜
邊緣站點由于靠近用戶側(cè),一般是處于遠端并且可能無法被操縱,因此邊緣站點必須能夠被遠程管理,遠程管理工具必須能夠支持通過不可靠網(wǎng)絡(luò)來訪問邊緣站點。
3.需標(biāo)準(zhǔn)化
采用邊緣計算技術(shù)的設(shè)備由于會廣泛分布在各數(shù)據(jù)節(jié)點,可能會出現(xiàn)不同的處理算法,需要標(biāo)準(zhǔn)來規(guī)范輸出的數(shù)據(jù)格式,否則不利于云端數(shù)據(jù)再處理。
最后,我們來看看邊緣計算的內(nèi)涵、邊緣計算與云計算的關(guān)系以及邊緣計算在開源領(lǐng)域的發(fā)展,了解如何把握云智能大勢,提前布局開源邊緣計算相關(guān)的技術(shù)體系,贏得市場先機。
《State of the Edge 2018》中定義了兩種邊緣,分為運營商視角的“Infrastructure Edge”和最終用戶視角的“Device Edge”。Device Edge(設(shè)備邊緣)是指網(wǎng)絡(luò)終端或設(shè)備側(cè)的邊緣計算資源,例如智能信號燈、環(huán)境傳感器、智能汽車等,通常他們沒什么計算能力,被用于解決最后“一公里”接入的問題。一個典型的例子就是智能路由器,一端通過紅外信號控制家中電器,另一端通過網(wǎng)絡(luò)和云數(shù)據(jù)中心相連。由于設(shè)備邊緣網(wǎng)絡(luò)穩(wěn)定性較差,因此必須考慮它們會較長時間離線的情況(例如火車過隧道)。
相較于Device Edge,Infrastructure Edge(基礎(chǔ)設(shè)施邊緣)的計算和存儲能力都更強,其主要構(gòu)建的模塊是邊緣數(shù)據(jù)中心,通常通過骨干網(wǎng)與數(shù)據(jù)中心連接,因此具有更大的網(wǎng)絡(luò)帶寬和更加可靠的網(wǎng)絡(luò)連接,例如CDN、游戲服務(wù)器等?;A(chǔ)設(shè)施邊緣除了能運行容器外,有些甚至還有足夠資源運行完整的 Kubernetes。
對邊緣節(jié)點進行分類的意義在于,不同層級的邊緣需要有針對性的部署模型,并且平臺要為邊緣節(jié)點提供通信能力。由于應(yīng)用場景不同、需求的不同,導(dǎo)致處理方式以及計算資源分布也有所不同。
綜上所述,兩者雖然同屬于邊緣計算范疇,但兩者的定義、關(guān)注點、核心能力方面差異還是很大的,兩者都可以理解為云端能力的一種補充,甚至是擴展。
云計算與邊緣計算的關(guān)系-云邊協(xié)同 未來趨勢
需要說明一點,邊緣計算是無法單獨存在的,它必須和遠端數(shù)據(jù)中心或云端打通。以IoT為例,邊緣設(shè)備除了通過傳感器收集周邊環(huán)境的數(shù)據(jù)外,還要從云端接收控制指令。邊緣設(shè)備與云連接一般有兩種模式:直接連接和通過中繼邊緣節(jié)點連接。
前面提到過,在未來云計算將會下沉至行業(yè),真正實現(xiàn)云與產(chǎn)業(yè)的結(jié)合,從而加速云、邊、端協(xié)同打通云計算落地的“最后一公里”。目前,云計算巨頭在這方面均已有進展,如阿里云LinkEdge、AWS IoT Greengrass、Azure IOT Edge、華為IEF等。
邊緣計算和云計算不是兩種互斥的技術(shù),它們是相輔相成的關(guān)系。通俗地講,可以把云計算看做是中心計算,把邊緣計算看做是云計算的一種補充。
適應(yīng)場景如下:
車聯(lián)網(wǎng)。目前中國聯(lián)通已經(jīng)在重慶開啟了V2X現(xiàn)網(wǎng)試點,實現(xiàn)的應(yīng)用驗證包括基于關(guān)聯(lián)模型的交通信息推送應(yīng)用、基于MEC邊緣云平臺的車輛隊列行駛應(yīng)用開發(fā)、智能交通調(diào)度以及大數(shù)據(jù)分析。
智慧酒店。通過Edge系統(tǒng)實現(xiàn)智能設(shè)備/系統(tǒng)的管理、調(diào)度、應(yīng)用,以邊緣智能為核心,組成一體化的智能酒店系統(tǒng)。
AI云上訓(xùn)練,邊緣執(zhí)行。即充分發(fā)揮云計算海量資源的優(yōu)勢,將AI模型的訓(xùn)練放在云端,而AI的執(zhí)行則貼近設(shè)備側(cè)。
加速邊緣軟件開發(fā)周期。將微服務(wù)、DevOps等引入邊緣將會顯著加速嵌入式設(shè)備、機器人等IoT軟件的迭代周期,提升部署和運維效率。
數(shù)據(jù)備份轉(zhuǎn)儲。例如,海量的工業(yè)數(shù)據(jù)(加密后)存儲在云端。
看產(chǎn)業(yè)發(fā)展? 布局未來開源技術(shù)儲備
分析了產(chǎn)業(yè)發(fā)展以及一些概念之后,我們聊聊開源軟件是如何適應(yīng)產(chǎn)業(yè)發(fā)展的。首先是以O(shè)penStack基金會為主的邊緣云計算&工業(yè)物聯(lián)網(wǎng)—StarlingX。很多人可以通過網(wǎng)絡(luò)獲取關(guān)于StarlingX的資料,但往往很難看懂,接下來對其進行全面分析。
需要澄清一點,StarlingX源于OpenStack但不同于OpenStack,為什么這么說,前面說到了邊緣計算場景的現(xiàn)狀,比如環(huán)境復(fù)雜、運維人力少、升級周期長、網(wǎng)絡(luò)差等。所以針對邊緣計算所需的場景特點,Starling X在平臺告警和HA、硬件管理、服務(wù)升級等方面做了強化,同時邊緣側(cè)也有一些特殊需求,比如對異構(gòu)硬件的統(tǒng)一管理、統(tǒng)一告警和日志服務(wù)、中心和邊緣云服務(wù)同步、中心-邊緣云協(xié)同等。
目前部署方式支持單節(jié)點、雙節(jié)點或者標(biāo)準(zhǔn)化部署模式。
據(jù)了解,Starling X容器化部署工作一直在進行中,未來將全面支持容器化部署(Kubernetes Helm)。一個典型案例是中國聯(lián)通邊緣云平臺,感興趣的可以看看白皮書邊緣計算案例研究。
前面提到過,Kubernetes已經(jīng)成為云原生的標(biāo)準(zhǔn),KubeEdge是首個基于Kubernetes擴展的,提供云邊協(xié)同能力的開放式智能邊緣平臺,也是CNCF在智能邊緣領(lǐng)域的首個正式項目。
KubeEdge主要解決了云邊協(xié)同、資源異構(gòu)、大規(guī)模、輕量化、一致的設(shè)備管理和接入體驗等問題。通過圖4,我們可以看到Kubernetes maser運行在云端,用戶可以直接通過kubectl命令行在云端管理邊緣節(jié)點、設(shè)備和應(yīng)用,不過需要注意的是使用習(xí)慣與Kubernetes原生的完全一致,所以無需重新適應(yīng)。
無論是開源、云計算還是產(chǎn)業(yè)發(fā)展,它們總是相互融合的。限于篇幅,本文僅對云計算發(fā)展過程中的開源與產(chǎn)業(yè)演進歷程做了簡單描述,意在為開源云從業(yè)者道明開源與產(chǎn)業(yè)的發(fā)展方向以及技術(shù)布局,希望能為大家?guī)韼椭?,文章無法覆蓋更多的開源話題,還請讀者見諒。