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