12月12日,全球首個(gè)探討產(chǎn)業(yè)互聯(lián)網(wǎng)的大型會(huì)議,2014 CVW﹒產(chǎn)業(yè)互聯(lián)網(wǎng)大會(huì)在北京亦莊召開(kāi),并通過(guò)紐約時(shí)代廣場(chǎng)大屏幕同步呈現(xiàn)。大會(huì)由亞信集團(tuán)、云基地和亦莊經(jīng)濟(jì)技術(shù)開(kāi)發(fā)區(qū)聯(lián)合舉辦,匯聚超過(guò)5000名關(guān)注互聯(lián)網(wǎng)和傳統(tǒng)產(chǎn)業(yè)發(fā)展的全球IT和傳統(tǒng)行業(yè)領(lǐng)袖和精英,探討“互聯(lián)網(wǎng)進(jìn)入傳統(tǒng)行業(yè)”、“傳統(tǒng)行業(yè)互聯(lián)網(wǎng)化”的演進(jìn)以及產(chǎn)業(yè)互聯(lián)網(wǎng)的技術(shù)模式和業(yè)務(wù)創(chuàng)新。
在下午的云平臺(tái)@互聯(lián)網(wǎng)論壇上,來(lái)自天云軟件研發(fā)副總裁郭宏先生帶來(lái)《云平臺(tái)未來(lái)的趨勢(shì)及應(yīng)用》主題演講,分享他對(duì)云平臺(tái)的理解以及云平臺(tái)未來(lái)的發(fā)展。
以下是他的演講全文:
郭宏:各位領(lǐng)導(dǎo)、各位來(lái)賓,下午好!我是天云軟件研發(fā)副總裁郭宏,我負(fù)責(zé)天云軟件云平臺(tái)的產(chǎn)品開(kāi)發(fā)。今天下午跟大家分享一下我們對(duì)云平臺(tái)的理解以及云平臺(tái)未來(lái)的發(fā)展。
今天在座各位來(lái)參加云平臺(tái)分論壇也是對(duì)云平臺(tái)有很大的興趣,云平臺(tái)的發(fā)展已經(jīng)有幾年的歷史了,到底什么是云平臺(tái),云平臺(tái)解決什么問(wèn)題。云的發(fā)展過(guò)程中是從資源和虛擬化開(kāi)始的,我們講的亞馬遜的AWS都是以虛擬化為基礎(chǔ)的,虛擬化是第一步。對(duì)云平臺(tái)來(lái)講,是在虛擬化的基礎(chǔ)上實(shí)現(xiàn)資源的自動(dòng)化管理。所以第一階段是IaaS,從國(guó)內(nèi)3年前就開(kāi)始了Iaas的建設(shè)。大家最簡(jiǎn)單的一個(gè)理解Iaas就是虛擬機(jī),不是,它包括了整個(gè)生命周期的管理。云能夠體現(xiàn)它的特性,在亞馬遜的公有云上特性非常明顯就是在于它的動(dòng)態(tài)性,一個(gè)虛擬機(jī)可以動(dòng)態(tài)的創(chuàng)建、動(dòng)態(tài)的刪除,甚至變化,IaaS是解決了我們整個(gè)創(chuàng)建過(guò)程和生命周期的管理。
云要實(shí)現(xiàn)整個(gè)系統(tǒng)的云化,它一定要實(shí)現(xiàn)應(yīng)用,所以從應(yīng)用的支撐或者升到一個(gè)高度應(yīng)用云平臺(tái),也就是SaaS云平臺(tái)。最終一定是一堆的應(yīng)用在云上來(lái)跑,這些應(yīng)用通過(guò)云的環(huán)境實(shí)現(xiàn)應(yīng)用的支撐。所以APPS是云平臺(tái)的第一步。
云平臺(tái)實(shí)際上是云的操作系統(tǒng),正是因?yàn)橛羞@么多應(yīng)用放在云上,虛擬機(jī)和其他存儲(chǔ)網(wǎng)絡(luò)的資源管理基準(zhǔn)是什么?一個(gè)操作系統(tǒng)其實(shí)是對(duì)資源的整個(gè)管理,所以云平臺(tái)其實(shí)就是云的操作系統(tǒng)。同時(shí)把云提供的各種服務(wù),把IT的資源包裝成服務(wù),應(yīng)用和調(diào)用這些資源來(lái)實(shí)現(xiàn)服務(wù)。在此基礎(chǔ)上需要異構(gòu),能夠支撐各種虛擬化,比較有名的是VMware、Hen、KVM、IBM。虛擬化的技術(shù)是基于低負(fù)載的,跟虛擬機(jī)稍微有一點(diǎn)區(qū)別,但是基本思路差不多,只不過(guò)虛擬機(jī)沒(méi)有操作系統(tǒng),用母機(jī)的操作系統(tǒng),所以今天我跟大家分享的是云平臺(tái)的發(fā)展其實(shí)是對(duì)應(yīng)用的支撐,怎么對(duì)應(yīng)用更好的支持,技術(shù)的發(fā)展是非常典型的。它不僅是虛擬機(jī),而是把應(yīng)用的環(huán)境做成了它的基本考慮的發(fā)展,那個(gè)環(huán)境可以在整個(gè)系統(tǒng)上去遷移。所以我們理解一個(gè)云平臺(tái)它的基本架構(gòu),就是我能對(duì)各種的虛擬化或者技術(shù)加以支撐。
為了支撐這些虛擬化產(chǎn)業(yè)平臺(tái)也有幾個(gè)比較流行的或者開(kāi)源的標(biāo)準(zhǔn),像Openstack。我們的思路是一個(gè)云平臺(tái)基于這些標(biāo)準(zhǔn),已經(jīng)做了很多虛擬化的工作,在虛擬化之上也開(kāi)通了虛擬機(jī),包括IP分配,包括一些HA和存儲(chǔ)整個(gè)管理基本的功能其實(shí)都做了。所以云平臺(tái)實(shí)際上是一個(gè)操作系統(tǒng)來(lái)管理這些開(kāi)源的中間件,通過(guò)中間件實(shí)現(xiàn)對(duì)虛擬化的整個(gè)支撐。同時(shí)云平臺(tái)利用Openstack、CloudStack虛擬化來(lái)實(shí)現(xiàn)落地。
現(xiàn)在越來(lái)越多的公有云,亞馬遜是最早做成云的,大家建私有云就要想按照這個(gè)思路在我這里建私有云,同時(shí)也要考慮與我的客戶對(duì)接。從云平臺(tái)的角度來(lái)講,我管理私有云,又可以到公有云上建資源,就可以利用AWS或者阿里云的接口,將私有云與公有云打通獲得資源。
作為云平臺(tái)我們就用現(xiàn)成的,就不用再做重復(fù)的工作了,但是開(kāi)源的包不是每個(gè)人拿下來(lái)就一定能應(yīng)用,它不是一個(gè)產(chǎn)品,只是說(shuō)它有一個(gè)功能。實(shí)際上跟Hadoop一樣,你要負(fù)責(zé)開(kāi)發(fā)功能。Openstack3年前只是一個(gè)框架,拿來(lái)可能不好用,但是這幾年隨著大公司的增加,越來(lái)越多的公司,包括IBM、惠普他們很多都是基于Openstack。像Openstack的Heat,它就是解決一個(gè)機(jī)器和機(jī)器里面的應(yīng)用的自動(dòng)化部署。我有一個(gè)機(jī)器,把應(yīng)用放進(jìn)去,我可以自動(dòng)化部署,這樣拿到的一個(gè)機(jī)器是帶應(yīng)用的機(jī)器。這就是Heat定義的標(biāo)準(zhǔn)。
其他Openstack里有存儲(chǔ)的,有計(jì)算的,有網(wǎng)絡(luò)的,真正在私有云能用的還是以計(jì)算為主,存儲(chǔ)跟網(wǎng)絡(luò)平臺(tái)很多是在公有云上。相Heat在私有云上就可以很好的集成。
Docker為思路跟Heat是不謀而合的,本身是基于容器的,底下跟CPU和內(nèi)存隔離,跟虛擬機(jī)是一樣的。同時(shí)又做了一個(gè)文件系統(tǒng),每一個(gè)容器有自己的文件系統(tǒng)。我還可以往上疊加,封裝 成一個(gè)應(yīng)用就是一個(gè)應(yīng)用服務(wù)器,服務(wù)器既包括了應(yīng)用系統(tǒng),又包括了應(yīng)用。這樣就可以做成模板,模板是當(dāng)上應(yīng)用、中間件和操作系統(tǒng)的模板,這個(gè)模板就可以到不同的機(jī)器上復(fù)制,不僅虛擬機(jī),Docker是一個(gè)容器,概念不是跟虛擬機(jī)對(duì)等,而是跟Heat對(duì)等,我是一個(gè)應(yīng)用的容器,這個(gè)容器可以包括機(jī)器,包括上面的中間件和應(yīng)用。這種技術(shù)的發(fā)展就使得應(yīng)用的支撐做的更好,而且更能體現(xiàn)云的思想。Docker有生態(tài)鏈,可以構(gòu)建Docker集群。我們的思路是已經(jīng)有現(xiàn)成的東西,在此基礎(chǔ)上我將它管起來(lái),實(shí)現(xiàn)云和應(yīng)用落地,所以它是作為我們的基礎(chǔ)架構(gòu)來(lái)實(shí)現(xiàn)的。我們把它做成了我們的發(fā)行版,同時(shí)還可以調(diào)優(yōu),根據(jù)我們的需要把功能開(kāi)發(fā)出來(lái)。
這是云的基礎(chǔ)設(shè)施能實(shí)現(xiàn)的功能,但這些功能是不是就是云呢?不是,怎么對(duì)應(yīng)用實(shí)現(xiàn)最好的支撐。我們的云平臺(tái)要做的是應(yīng)用的支撐,我能讓應(yīng)用最快的在云上跑起來(lái)。包括了應(yīng)用的自動(dòng)化部署,應(yīng)用里可能有中間件,如果是Java的話有外包,有自己的代碼,這些都可以通過(guò)自動(dòng)部署來(lái)實(shí)現(xiàn)我的自動(dòng)增長(zhǎng)。我要加一臺(tái)機(jī)器,我就可以自動(dòng)化的來(lái)做。
另外是模板的概念。虛擬機(jī)模板,我把應(yīng)用塞進(jìn)去以后就可以應(yīng)用了。這種應(yīng)用的模板可以和Docker結(jié)合起來(lái),對(duì)應(yīng)用來(lái)講我的要求就是應(yīng)用能夠幫我轉(zhuǎn)起來(lái)就行了。在應(yīng)用之上我可以有集群的應(yīng)用或者頁(yè)碼,我們可以自動(dòng)的部署頁(yè)碼。
應(yīng)用的整個(gè)管理可以基于Openstack,也可以基于Cloudstack,隨著Docker發(fā)展,底下的資源層可以通過(guò)Docker來(lái)部署。
右邊是一個(gè)業(yè)務(wù)系統(tǒng),假定有三層,是Web服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫(kù),每一層都可以部署在一個(gè)虛擬機(jī)里面,或者部署在一個(gè)Docker里,Docker是輕量級(jí)的虛擬機(jī)。這樣一個(gè)物理機(jī)是同構(gòu)的話可以是一堆Docker來(lái)運(yùn)行,效率會(huì)更高。
對(duì)于應(yīng)用管理來(lái)講,實(shí)際上就是我怎么樣定義一個(gè)應(yīng)用,通過(guò)模板的方式,讓一個(gè)應(yīng)用最后能夠在云上部署起來(lái)。
要定義一個(gè)應(yīng)用有多層的架構(gòu),所以用一個(gè)圖形的編輯器來(lái)編輯各層的結(jié)構(gòu),拖拽的方式,比如左邊是做好的應(yīng)用的模板,可以把這些模板拖拽到編輯器中再定義我的網(wǎng)絡(luò)層次,就定義了整個(gè)應(yīng)用的架構(gòu),落地可以是一個(gè)Docker,也可以是一個(gè)虛擬機(jī)。應(yīng)用管理的時(shí)候通過(guò)配置可以生成你想要的。
應(yīng)用的模板或者應(yīng)用的容器好處是能夠利用開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境、生產(chǎn)環(huán)境,實(shí)際上是一到,解決大量的應(yīng)用上線都是通過(guò)人工部署的問(wèn)題。
應(yīng)用系統(tǒng)不是部署一套,而是部署多套,高校就是一個(gè)例子。一個(gè)老師上一門課,這一門課是一堆機(jī)器組成的一個(gè)應(yīng)用,把這些應(yīng)用做成一個(gè)模板,可以讓每個(gè)學(xué)生多部署一套,他可以在這個(gè)上面做他的應(yīng)用開(kāi)發(fā)。通過(guò)模板的方式能夠讓我的開(kāi)發(fā)、測(cè)試和生產(chǎn)是一套,這個(gè)環(huán)境跟Docker的應(yīng)用環(huán)境是不謀而合的。
現(xiàn)在Docker非常熱,連微軟都說(shuō)他要支持Docker,Docker是基于Linux的,他要支持,亞馬遜也支持了。所以各種應(yīng)用如果是同構(gòu)的或者需要多個(gè)集群的應(yīng)用,可能選擇Docker是比虛擬化更好的。大集群的應(yīng)用更適合Docker,虛擬機(jī)是小應(yīng)用,因?yàn)槊颗_(tái)都不一樣,所以你需要虛擬機(jī)的操作系統(tǒng)。
有了應(yīng)用模板的概念,實(shí)際上云平臺(tái)更是一個(gè)能夠容納各種應(yīng)用的一體機(jī),這就上升到一個(gè)高度,開(kāi)始只是申請(qǐng)?zhí)摂M機(jī),現(xiàn)在云平臺(tái)走向應(yīng)用,我要讓應(yīng)用在云平臺(tái)上落地,把一個(gè)應(yīng)用看成一個(gè)整體,我就可以發(fā)布這個(gè)應(yīng)用讓更多的人來(lái)用這個(gè)應(yīng)用。所以他的思路是把各種能力封裝起來(lái),提供平臺(tái)的應(yīng)用級(jí)的服務(wù),各種服務(wù)在平臺(tái)上形成一個(gè)賣場(chǎng)。
這里有一個(gè)例子,我們跟一個(gè)運(yùn)營(yíng)商合作,可以將他的ICG的能力,比如位置服務(wù),手機(jī)定位的服務(wù),都包裝成能力,讓第三方應(yīng)用可以在這些能力上跑,但它的規(guī)模是可以變的,模板只有一套,整個(gè)的邏輯是完全一樣的。通過(guò)這個(gè)平臺(tái)我把不同的能力封裝,對(duì)應(yīng)用可以更好的支撐,使用應(yīng)用的服務(wù)也通過(guò)這個(gè)平臺(tái)實(shí)現(xiàn)它的運(yùn)行。同時(shí)通過(guò)開(kāi)發(fā)管理讓更多的應(yīng)用通過(guò)標(biāo)準(zhǔn)的應(yīng)用發(fā)布的接口可以發(fā)布到云平臺(tái),這就形成很多的應(yīng)用在云平臺(tái)上落地。
前三年在云平臺(tái)上開(kāi)虛機(jī)是云平臺(tái)的重點(diǎn),現(xiàn)在重點(diǎn)是應(yīng)用在云平臺(tái)上怎么應(yīng)用和管理。隨著應(yīng)用或者云平臺(tái)規(guī)模的增加,調(diào)度其實(shí)是變得越來(lái)越重要。我們的調(diào)度是云平臺(tái)的核心,規(guī)模越大你越需要調(diào)度。所以初建云平臺(tái)的時(shí)候,說(shuō)我直接開(kāi)虛機(jī)就完了,虛擬機(jī)也就幾臺(tái),人可以管,可是當(dāng)你有幾千臺(tái)、幾萬(wàn)臺(tái)的時(shí)候,而且機(jī)器數(shù)在變化,人是肯定做不了的,這個(gè)時(shí)候就需要智能,這個(gè)智能就是操作系統(tǒng)來(lái)調(diào)度。所以調(diào)度是云平臺(tái)的核心,將來(lái)誰(shuí)的調(diào)度做的好誰(shuí)的云平臺(tái)才能站住腳。也就是說(shuō)在公有云平臺(tái)上怎么極大化的提高它的應(yīng)用,而且又滿足用戶各種服務(wù)的要求。
操作系統(tǒng)是管一臺(tái)機(jī)器的,機(jī)器的硬件和它上面跑的軟件中間是操作系統(tǒng),所以一個(gè)機(jī)器上都得有一個(gè)操作系統(tǒng)。從Unix來(lái)說(shuō)主要是進(jìn)程調(diào)度,它是匹配需求、應(yīng)用,可以通過(guò)中間件JAVA程序,操作系統(tǒng)都是一個(gè)進(jìn)程,你要申請(qǐng)CPU、申請(qǐng)內(nèi)存、申請(qǐng)硬盤,操作系統(tǒng)幫你去實(shí)現(xiàn),這是單機(jī)的操作系統(tǒng)的概念。在云上,云是管理所有的資源,可以有計(jì)算、網(wǎng)絡(luò)、存儲(chǔ),將來(lái)很多軟的功能都可以做成資源,使用者還是應(yīng)用,只不過(guò)應(yīng)用不是單機(jī)應(yīng)用,可能是集群應(yīng)用。所以說(shuō)云平臺(tái)它的核心是調(diào)度,它負(fù)責(zé)云所管的資源和應(yīng)用之間的調(diào)度,這個(gè)調(diào)度就是云平臺(tái)的核心。
底下的資源盡量的用好又不出問(wèn)題,使用者不要感覺(jué)到我的服務(wù)不同,這里就提到SLA的概念,不同的服務(wù)可能有不同的SLA的要求。另外不同的應(yīng)用之間可能會(huì)相互影響,是不是我把CPU全占了別人就干不了活了,相互之間要不受影響,這也是調(diào)度要解決的問(wèn)題。
最基本的調(diào)度可能是基于負(fù)載的調(diào)度,也就是說(shuō)會(huì)根據(jù)資源使用的情況,在申請(qǐng)資源的時(shí)候,到底我這個(gè)資源該放在哪里。負(fù)載是會(huì)變化的,最低不是說(shuō)一剎那是最低的,而是要讓整個(gè)系統(tǒng)怎么最有效,所以要綜合的來(lái)考慮。
對(duì)于云的各種服務(wù)來(lái)講,不同的服務(wù)是有不同的需求的,有的很關(guān)鍵,哪怕現(xiàn)在利用率不高也要把資源留給它,有些可能是測(cè)試用的,我不著急,沒(méi)資源也行。所以不同的SLA有不同的要求,要求不同的調(diào)動(dòng)要對(duì)不同的SLA進(jìn)行管理,滿足不同的服務(wù)都可以在一個(gè)平臺(tái)上跑起來(lái)。所以基于SLA的標(biāo)準(zhǔn)我要知道它的優(yōu)先級(jí),同時(shí)云計(jì)算是變成按需來(lái)使用資源的,你的資源就會(huì)面臨著無(wú)限量,所以在SLA上還要有額度,還要實(shí)際使用情況的追蹤。
隨著云系統(tǒng)越來(lái)越大,調(diào)度可能就成為瓶頸,所以需要分布式的調(diào)度系統(tǒng)。云本身已經(jīng)是一個(gè)分布式,它是一個(gè)調(diào)度,調(diào)度更需要分布式。
前面跟大家分享的是我們認(rèn)為云平臺(tái)重點(diǎn)是一個(gè)應(yīng)用的支撐和應(yīng)用的落地,或者以后會(huì)叫應(yīng)用平臺(tái),調(diào)度是它的核心。從我們的產(chǎn)品開(kāi)發(fā)來(lái)說(shuō),我們認(rèn)為這兩個(gè)是我們的發(fā)展方向,做云平臺(tái)的時(shí)候大家可以思考這個(gè)問(wèn)題。通過(guò)云服務(wù)你可以提供不同的服務(wù),但它底下最根本的還是資源,之前我們發(fā)布的SkyForm3.0能夠支持Openstack,也能夠支持Cloudstack,主要支持虛擬機(jī)的服務(wù),年底我們又增加了物理機(jī)和存儲(chǔ)服務(wù)等等。同時(shí)我們又加了可擴(kuò)展性,支持的規(guī)模要提高,目前我們的版本能夠支持到2000個(gè)物理機(jī)跟一萬(wàn)個(gè)虛機(jī)。半年之內(nèi)用戶有這種要求要達(dá)到10萬(wàn)臺(tái)虛機(jī),這里就要有立體化分布式技術(shù),可能我不是一套系統(tǒng),而是多套系統(tǒng)分布式大家協(xié)同來(lái)工作,所以像亞馬遜他們的機(jī)器數(shù)也是會(huì)分層分區(qū)的。
我們希望一定應(yīng)用在云上跑起來(lái),比如Docker我們要找非常有價(jià)值的應(yīng)用,用Docker來(lái)實(shí)現(xiàn)這種云化和整個(gè)的調(diào)度。運(yùn)營(yíng)商現(xiàn)在大型的應(yīng)用在小機(jī)上,要求X86,X86不是單個(gè)機(jī)器就能搞定的,一定是一個(gè)集群,可能是虛擬機(jī),也可能是Docker,而且它的應(yīng)用本身是一個(gè)大集群的應(yīng)用,所以Docker會(huì)更好。我們會(huì)跟客戶配合,以云落地的方式讓這個(gè)最新的技術(shù)在整個(gè)云上實(shí)現(xiàn)。
以后我們還會(huì)支持網(wǎng)絡(luò)SDN,這是跟硬件有關(guān)的,通過(guò)VPC,我們目前在建公有云、私有云,要把二者打通,使它們之間實(shí)現(xiàn)共享。系統(tǒng)越來(lái)越大,人越來(lái)越廣,靠人已經(jīng)看不明白,需要一個(gè)智能化的系統(tǒng)能夠告訴我到底是怎么樣的,將來(lái)是怎么樣的,所以要做智能化分析跟預(yù)測(cè)。