《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > 四大開源IaaS軟件云中較力
四大開源IaaS軟件云中較力
來源:CNW
蔣清野
摘要: 本文主要從架構(gòu)、功能、社區(qū)和商業(yè)的角度來對OpenNebula、Nimbus、OpenStack和Eucalyptus這四個開源IaaS軟件進行比較。
關(guān)鍵詞: 開源 云計算 私有云 IaaS
Abstract:
Key words :

當(dāng)前市場上可供選擇的開源IaaS軟件主要有四種,分別是OpenNebula、Nimbus、OpenStack和Eucalyptus。初看上去,這四大開源軟件各有千秋,難分伯仲,以至于許多企業(yè)用戶在開源軟件選型時一時難以抉擇。因此,筆者特意從架構(gòu)、功能、社區(qū)和商業(yè)的角度來對OpenNebula、Nimbus、OpenStack和Eucalyptus這四個開源IaaS軟件進行比較,以供讀者參考。

本文作者:蔣清野
在架構(gòu)方面,我們關(guān)心的是它包括哪些組件,各個組件之間的關(guān)系和通信方式,以及這樣的設(shè)計會如何影響到整個系統(tǒng)的擴展性和伸縮性。這里所說的擴展性,是指為相關(guān)軟件添加新的功能模塊的能力。例如,當(dāng)新的虛擬化技術(shù)出現(xiàn)時,云管理員能不能相對容易地為新的虛擬化技術(shù)提供支持。在伸縮性方面,我們關(guān)心的是相關(guān)軟件究竟能夠管理多大規(guī)模的數(shù)據(jù)中心,如果它不能夠管理更大規(guī)模的數(shù)據(jù)中心,其性能瓶頸主要在什么地方。
在功能方面,我們關(guān)心它是否能夠滿足用戶的需求。我們所說的用戶包括兩個類別,一個是IaaS服務(wù)的使用者,即終端用戶,另一個是IaaS服務(wù)的提供者,也就是云管理員。對終端用戶來說,他所關(guān)心的是能不能夠通過這個系統(tǒng)方便地申請、創(chuàng)建、啟動、休眠、喚醒、關(guān)閉、銷毀虛擬機,以及方便地監(jiān)控自己賬戶下所有虛擬機的處理器、內(nèi)存、磁盤和網(wǎng)絡(luò)使用狀況。對于云管理員來說,他關(guān)心的是能不能夠通過這個系統(tǒng)方便地監(jiān)控整個數(shù)據(jù)中心(甚至是多個數(shù)據(jù)中心)所有物理機和虛擬機的資源使用狀況,能不能在盡可能少的物理機上運行盡可能多的虛擬機以達到節(jié)能減排的目的。從理論上來講,基礎(chǔ)架構(gòu)服務(wù)的終端用戶只需要關(guān)心自己所使用的虛擬機資源而不必關(guān)心虛擬機后面的技術(shù)細節(jié)。但是當(dāng)云服務(wù)出現(xiàn)故障的時候,我們會發(fā)現(xiàn)終端用戶比云管理員更關(guān)心云服務(wù)的高可用性、數(shù)據(jù)備份策略等細節(jié),并且迫切地希望存在某些途徑讓自己的虛擬機和別人的虛擬機得到特殊的照顧。從工程的角度來講世界上不存在絕對不會失效的系統(tǒng),但是這些需求可以轉(zhuǎn)變成功能或者是產(chǎn)品,使得云服務(wù)提供商可以為不同的用戶提供不同的服務(wù)。
為什么要關(guān)心社區(qū)?使用開源軟件,出了問題就只能夠找社區(qū)了。因此,我們需要專門討論一下與這幾個開源軟件所關(guān)聯(lián)的社區(qū)的規(guī)模、活躍度和參與度。
此外,開源軟件的商業(yè)模式問題也值得關(guān)注。這個問題又可以分為兩個方面,一方面是開源軟件開發(fā)者如何盈利,另一方面是開源軟件使用者如何獲得專業(yè)支持和服務(wù)。對于基礎(chǔ)架構(gòu)服務(wù)這種關(guān)鍵性應(yīng)用來說,在軟件選型過程當(dāng)中如果不考慮開源軟件的商業(yè)模式問題,將來可能會遇到一些麻煩。
架構(gòu)詳解
1.OpenNebula 3.0
圖1是OpenNebula的整體架構(gòu)圖。前端(FRONT-END)通過瀏覽器和Web Service向云管理員和終端用戶提供服務(wù)。ONED是OpenNebula的核心服務(wù)進程,包括虛擬化管理模塊和任務(wù)調(diào)度模塊。ONED通過SSH方式連接到計算節(jié)點,并通過虛擬化驅(qū)動(Drivers)來調(diào)用計算節(jié)點上的虛擬化控制命令。當(dāng)計算節(jié)點使用KVM或者是VMWare ESXi作為虛擬化技術(shù)時,OpenNebula使用libvirt所提供的接口遠程調(diào)用計算節(jié)點上的虛擬化控制命令。當(dāng)計算節(jié)點使用Xen作為虛擬化技術(shù)時,OpenNebula通過SSH登錄到計算節(jié)點執(zhí)行相關(guān)的虛擬化控制命令。計算節(jié)點通過前端的映像驅(qū)動(Images)獲得需要運行的操作系統(tǒng)映像文件。需要說明的是,還有監(jiān)控、用戶界面和云服務(wù)API等一些前端模塊沒有出現(xiàn)在該圖上。
圖1 OpenNebula整體架構(gòu)圖
圖2是OpenNebula的存儲結(jié)構(gòu)圖。OpenNebula使用映像倉庫(Image Repository)來保存操作系統(tǒng)映像文件。這個映像倉庫要能夠被OpenNebula的前端直接訪問,可以是SAN、NAS或者是磁盤陣列等其他存儲設(shè)備。我們創(chuàng)建虛擬機的時候,ONED首先通過任務(wù)調(diào)度器確定將要運行該虛擬機的計算節(jié)點,然后將相應(yīng)的磁盤映像文件拷貝到計算節(jié)點上,最后通過虛擬化驅(qū)動調(diào)用相應(yīng)的虛擬化技術(shù)創(chuàng)建虛擬機并啟動運行。對于一個小型的私有云來講,可以簡單地使用類似于NFS的共享文件系統(tǒng)方式將同一個目錄掛載到前端服務(wù)器和所有的計算節(jié)點上。通過使用共享文件系統(tǒng),可以縮短部署虛擬機所需要的時間,還可以方便地實現(xiàn)虛擬機的在線遷移。使用共享文件系統(tǒng)的時候需要注意的是,如果某些虛擬機頻繁地進行磁盤IO操作的話,部署在同一共享文件系統(tǒng)上的所有虛擬機都會受到影響。在這種情況下,可以考慮將磁盤I/O密集型虛擬機的磁盤映像文件緩存在計算節(jié)點上,這樣只有運行在同一計算節(jié)點上的虛擬機會受到影響。
圖2 OpenNebula存儲結(jié)構(gòu)圖
在網(wǎng)絡(luò)方面,OpenNebula通過在計算節(jié)點上配置網(wǎng)橋的方式為虛擬機提供網(wǎng)絡(luò)連接。如圖3所示,一個計算節(jié)點配置了兩個網(wǎng)橋,其中一個連接到公網(wǎng),另外一個連接到內(nèi)網(wǎng)。需要注意的是,在同一個計算集群中,所有計算節(jié)點的網(wǎng)橋配置必須是同樣的。另外,OpenNebula可以通過配置文件來指定某個網(wǎng)絡(luò)可用的IP范圍,并且在創(chuàng)建虛擬機的時候通過配置文件直接指定虛擬機的IP,因此OpenNebula可以在沒有DHCP服務(wù)器的情況下為虛擬機分配IP。
圖3 OpenNebula網(wǎng)絡(luò)結(jié)構(gòu)圖
剛才我們所提到的架構(gòu)、存儲和網(wǎng)絡(luò),都屬于虛擬化管理的范疇。在虛擬化管理的基礎(chǔ)上,OpenNebula使用一個稱為SunStone的用戶界面,使得云管理員和終端用戶都能夠通過瀏覽器訪問被OpenNebula所管理的基礎(chǔ)架構(gòu),在各自的權(quán)限范圍內(nèi)執(zhí)行虛擬機生命周期管理操作,就形成了一個完整的基礎(chǔ)架構(gòu)服務(wù)系統(tǒng)。

2.Nimbus 2.8
接下來我們看一看Nimbus這個項目。從架構(gòu)圖(圖4)來看,Nimbus的架構(gòu)設(shè)計和OpenNebula是非常相像的。用戶通過瀏覽器界面訪問Nimbus服務(wù),管理節(jié)點通過SSH和libvirt調(diào)用計算節(jié)點上的Xen或者KVM命令。不同的地方主要有兩個,一個是它通過DHCP服務(wù)器為虛擬機分配IP,另一個是它使用了一個名為Cumulus的云存儲服務(wù)。
圖4 Nimbus整體架構(gòu)圖
圖5是Cumulus云存儲的架構(gòu)圖。可以看出,Cumulus由多個功能模塊組成。從頂層看,它是一個與Amazon S3相兼容的云存儲服務(wù);從底層看,它可以搭建在簡單的本地硬盤或者是負責(zé)的HDFS上。在云計算這個領(lǐng)域,Amazon S3是事實上的云存儲標(biāo)準(zhǔn)。Nimbus使用云存儲來提供存儲服務(wù),從架構(gòu)上來說比使用共享文件系統(tǒng)的OpenNebula更接近于Amazon EC2/S3。
圖5 Cumulus云存儲架構(gòu)圖
讀者可能會問,用云存儲來作為基礎(chǔ)架構(gòu)服務(wù)的關(guān)鍵組件,在性能上會不會有問題呢?我們測試過Culumus、scp、gridFtp和本地文件系統(tǒng)在上載和下載不同大小的文件時的吞吐量。測試結(jié)果顯示,當(dāng)被操作的文件較小的情況下,Culumus的性能較差,但是與scp和gridFtp的性能在同一水平上;當(dāng)被操作的文件大小超過1GB的時候,Culumus的性能與本地文件系統(tǒng)接近??紤]到操作系統(tǒng)映像文件的大小通常會超過1 GB,可以認為使用Culumus來存儲操作系統(tǒng)映像文件是沒有問題的。
 
3.Eucalyp 2.0.3
Eucalyptus的架構(gòu)(圖6)和OpenNebula以及Nimbus相比有兩個明顯的不同。首先,在計算節(jié)點(Node Controller)和云控制器(Cloud Controller)之間,多了一個叫做集群控制器(Cluster Controller)的組件。其次,在Eucalyptus中有兩個負責(zé)存儲的組件,一個叫做Walrus存儲控制器(Walrus Storage Controller,WS3),另外一個叫做彈性塊存儲(Elastic Block Storage,EBS)。
圖6:Eucalyp 2.0.3架構(gòu)圖
引入集群控制器這個組件后,Eucalyptus中的虛擬化管理功能就由集群控制器來承擔(dān)。也就是說,當(dāng)用戶向Eucalyptus的云控制器請求計算資源的時候,Eucalyptus的云控制器根據(jù)各個計算集群的資源使用狀況將用戶的請求轉(zhuǎn)發(fā)給某個計算集群的集群控制器,集群控制器再根據(jù)本集群中各個計算節(jié)點的資源使用狀況決定在哪個計算節(jié)點上創(chuàng)建和運行虛擬機。
如果將Eucalyptus的架構(gòu)和OpenNebula以及Nimbus的架構(gòu)來做個比較,可以看出Eucalyptus的計算集群和OpenNebula以及Nimbus在功能上基本是等價的。我們知道,當(dāng)計算節(jié)點的數(shù)量較多的時候,虛擬化管理模塊,以及系統(tǒng)監(jiān)控模塊的壓力就會比較大,可能會影響到整個系統(tǒng)的性能。假定Eucalyptus、OpenNebula以及Nimbus的虛擬化管理模塊的實現(xiàn)水平是相當(dāng)?shù)?,?dāng)OpenNebula和Nimbus由于計算節(jié)點數(shù)量增加而出現(xiàn)性能問題的時候,Eucalyptus可以通過增加計算集群的方法來實現(xiàn)橫向擴展。從這個意義上說,Eucalyptus的架構(gòu)設(shè)計提供了更大程度的擴展性,能夠支撐更大規(guī)模的基礎(chǔ)架構(gòu)。
剛才我們說到,Eucalyptus中有兩個負責(zé)存儲的組件。一個是WS3,與Amazon的簡單存儲服務(wù)(Simple Storage Service,S3)相對應(yīng);另外一個是EBS,與Amazon的彈性塊存儲(Elastic Block Store,EBS)相對應(yīng)。EBS可以被當(dāng)做塊設(shè)備掛載到虛擬機上,相當(dāng)于云硬盤。EBS能夠提供較大的容量,具有較好的I/O性能。S3則是一種基于Key-Value的網(wǎng)絡(luò)存儲,有人也把它叫做云存儲。S3使得用戶能夠通過簡單的API在網(wǎng)絡(luò)上存儲和讀取數(shù)據(jù)。
在我們已經(jīng)提到的三個IaaS軟件中,OpenNebula直接使用共享文件系統(tǒng)作為存儲,Nimbus使用了一個類似于S3的Cumulus存儲服務(wù),Eucalyptus則進一步將云硬盤和云存儲分開。從架構(gòu)上來看,Eucalyptus的架構(gòu)和Amazon 的EC2/S3服務(wù)最為接近。
類似于S3的云存儲服務(wù)使得用戶能夠通過簡單的API在網(wǎng)絡(luò)上存儲和讀取數(shù)據(jù),但是對于數(shù)據(jù)密集型應(yīng)用來說,使用S3服務(wù)可能會出現(xiàn)性能方面的問題。最近卡耐基梅隆大學(xué)的并行數(shù)據(jù)實驗室基于Walrus云存儲實現(xiàn)了pWalrus云存儲服務(wù)。pWalrus實際上把數(shù)據(jù)存放在一個并行的文件系統(tǒng)上。對于互聯(lián)網(wǎng)用戶來講,他可以通過簡單的PUT和GET來讀寫數(shù)據(jù);對于計算節(jié)點來講,它既可以通過PUT和GET來讀寫數(shù)據(jù),還可以直接用文件I/O的模式來讀寫數(shù)據(jù)。經(jīng)過這樣的改進后,pWalrus能夠提供更好的I/O性能,也能夠進一步保障數(shù)據(jù)的安全性。

4.OpenStack
OpenStack架構(gòu)圖(圖7)看起來有點費勁,因為這張圖里面的組件太多了。筆者給這些組件做一下分組,包含在橙色方框里面的是前端,包含在藍色方框里面的是計算節(jié)點,包含在綠色方框里面的是存儲服務(wù)。
圖7 OpenStack架構(gòu)圖
在前端部分,終端用戶通過nova-api訪問OpenStack請求計算資源。OpenStack首先對用戶進行身份認證,然后通過任務(wù)調(diào)度器(nova-scheduler)確定在哪一個計算節(jié)點上創(chuàng)建新的虛擬機。
在計算節(jié)點這個部分,OpenStack通過libvirt和Xen API來進行虛擬機生命周期管理。計算節(jié)點上的網(wǎng)絡(luò)界面是通過nova-network這個組件來管理的。
在存儲服務(wù)部分,OpenStack提供了兩個存儲組件。其中,nova-volume提供彈性塊設(shè)備服務(wù),相當(dāng)于Amazon EBS;nova-objectstore提供簡單存儲服務(wù),相當(dāng)于Amazon S3。
OpenStack的各個組件之間不共享任何狀態(tài),各個組件之間通過中間這張圖中間用紅色圈出的消息隊列(MQ)來進行異步通信。OpenStack中的任意組件可以安裝在任意服務(wù)器上,只需要在配置文件里面指定MQ服務(wù)器的地址即可。因此,MQ可能成為整個系統(tǒng)的性能瓶頸。在這種情況下,可以通過增加一臺MQ服務(wù)器來解決。
到現(xiàn)在為止,我們已經(jīng)能夠全面了解OpenNebula、Nimbus、Eucalyptus和OpenStack的架構(gòu)。盡管每個軟件的設(shè)計思路和實現(xiàn)細節(jié)各有千秋,但是都可以歸結(jié)為三個比較大的模塊:一是通常被稱為云控制器的前端,包括用戶界面、編程接口和任務(wù)調(diào)度組件;二是虛擬化管理,包括網(wǎng)絡(luò)管理和虛擬機管理;三是存儲服務(wù),包括彈性塊設(shè)備和簡單存儲服務(wù)。在這三大模塊的基礎(chǔ)上,還可以添加監(jiān)控、報表、分析、計費等等外圍組件。這些組件往往是運營方面的要求,不是基礎(chǔ)架構(gòu)服務(wù)的核心技術(shù),本文就不作詳細討論了。

 功能綜合比較
在了解過OpenNebula、Nimbus、Eucalyptus和OpenStack在架構(gòu)上的差異之后,下面簡單地比較一下這四個系統(tǒng)在功能上的差異。這里所說的功能,是指缺省的基本組件安裝配置完畢后即可立即使用的功能,不包括尚未正式發(fā)布的試驗性組件。
 
附表:四大開源IaaS軟件在功能上的差異
 
首先,我們從終端用戶的角度來看四大開源IaaS軟件系統(tǒng)是不是有一個方便好用的門戶或者是客戶端去進行各種各樣的操作。OpenNebula提供了基于瀏覽器的用戶門戶,Nimbus則提供了一個基于Java的桌面客戶端,Eucalyptus和OpenStack則需要利用命令行工具或者是第三方解決方案。
在云主機、云硬盤和云存儲著三類基礎(chǔ)架構(gòu)服務(wù)中,OpenNebula僅提供云主機服務(wù),Nimbus增加了云存儲服務(wù),Eucalyptus和OpenStack都能夠提供全面的服務(wù)。此外,OpenNebula的用戶能夠直接通過基于瀏覽器的VNC訪問虛擬機的控制臺,其他三個系統(tǒng)的終端用戶暫時無法直接訪問虛擬機的控制臺。
四個系統(tǒng)的終端用戶均可創(chuàng)建自定義的虛擬機模板,但是實現(xiàn)的難易程度有較大差別。
只有OpenNebula提供了簡單的監(jiān)控報表,能夠報告虛擬機的處理器核內(nèi)存使用狀況。
在備份、恢復(fù)和用戶賬單等方面,四大開源軟件基本還是空白。
由于缺少存儲方面的某些組件,OpenNebula和Nimbus所提供的服務(wù)并不完全兼容于Amazon EC2/S3,Eucalyptus和Nimbus則是和Amazon EC2/S3完全兼容的。
其次,我們從云管理員的角度去考察這四種開源軟件是不是有一個方便好用的門戶或者是客戶端去進行各種操作。只有OpenNebula通過SunStone提供了基本上能夠用的管理門戶,Nimbus干脆就沒有管理員門戶,Eucalyptus有一個管理員門戶但是能夠做的事情非常有限,OpenStack有一個正在開發(fā)中的Dashboard但是不能夠算數(shù)。
在服務(wù)器監(jiān)控、虛擬機監(jiān)控和監(jiān)控報表這個領(lǐng)域,只有OpenNebula提供了湊合能用的解決方案,其他三個系統(tǒng)都沒有這方面的功能。有人會說服務(wù)器和虛擬機的監(jiān)控可以通過Nagios或者是Zabbix等監(jiān)控框架來實現(xiàn),但是從基礎(chǔ)架構(gòu)服務(wù)的發(fā)展趨勢來看,將監(jiān)控組件納入IaaS管理系統(tǒng),是非常有必要的。
OpenNebula和OpenStack提供了基于命令行的虛擬機在線遷移功能,Nimbus和Eucalyptus則沒有提供這個功能。
在物理機動態(tài)負載調(diào)整、虛擬機高可用性、備份與恢復(fù)、報警機制和運營計費等方面,這四個軟件基本還是空白。
在一個成熟的虛擬化管理系統(tǒng)(例如ConVirt)中,必然會有對物理機和虛擬機的監(jiān)控模塊。監(jiān)控模塊以一定的頻率記錄物理機和虛擬機的處理器、內(nèi)存、磁盤、網(wǎng)絡(luò)使用狀況,并以圖表的方式展現(xiàn)給用戶。當(dāng)虛擬機的運行狀況有問題的時候,可以自動地重啟(甚至是在另外的物理服務(wù)器上重啟)虛擬機,從而實現(xiàn)虛擬機的高可用性。在這些監(jiān)控數(shù)據(jù)的基礎(chǔ)上,可以手動甚至是自動地對物理機的負載進行調(diào)整,例如,通過在線遷移把某些負載比較輕的虛擬機整合到數(shù)量較少的服務(wù)器上,空閑出來的服務(wù)器就可以進入休眠狀態(tài)從而達到節(jié)能目的。當(dāng)虛擬機的負載比較重的時候,系統(tǒng)又可以自動喚醒某些處于休眠狀態(tài)的服務(wù)器,并通過在線遷移把一些虛擬機遷移到新的服務(wù)器上。大多數(shù)VPS用戶都知道他們的虛擬機是和別人的虛擬機共享一臺物理機的,但是他們可能不知道在同一臺物理機上所運行的虛擬機的處理器總和是超過這臺物理機的處理器總和的。同樣,運營商賣出去的內(nèi)存總和,也是超過物理機的內(nèi)存總和的。這種情況我們叫做超售,也就是over-commit。對于一個基礎(chǔ)架構(gòu)服務(wù)提供商來說,必須要有一套監(jiān)控分析、在線遷移、負載調(diào)整的工具才能夠在實現(xiàn)超售的同時提供較好的用戶體驗。
隨著服務(wù)器性能的不斷提高,數(shù)據(jù)中心虛擬化以及基礎(chǔ)架構(gòu)服務(wù)是一個不可阻擋的趨勢。對于終端用戶來說,他們需要的是一個簡單易用的界面,只需要選擇自己需要的軟、硬件配置即可立即開通自己所需要的計算資源,并且隨時可以看在自己賬戶下所有計算資源的使用狀況。對于云管理員來說,他們同樣需要一個的簡單易用界面,能夠管理一個跨越多個數(shù)據(jù)中心的基礎(chǔ)架構(gòu),能夠基于系統(tǒng)的運行情況自動地進行負載調(diào)整,從而實現(xiàn)最大的投資收益。從目前的狀況來看,與其他幾個IaaS軟件相比較,OpenNebula能夠給終端用戶和云管理員提供更多的功能。但是從基礎(chǔ)架構(gòu)服務(wù)提供商的角度來看,開放源代碼的IaaS解決方案要進入生產(chǎn)環(huán)境,還有很長的路要走。

透過社區(qū)與商業(yè)看趨勢
1.數(shù)據(jù)
現(xiàn)在我們花一點時間從社區(qū)和商業(yè)的角度來對開源IaaS軟件進行一下比較。由于Nimbus這個項目的社區(qū)規(guī)模很小,沒有明顯的商業(yè)訴求,我們暫時把它放在這個分析比較之外。
筆者在去年9 月份整理出2009年1月以來Eucalyptus、OpenNebula和OpenStack社區(qū)的郵件列表和論壇數(shù)據(jù)。數(shù)據(jù)顯示,OpenNebula社區(qū)自2009年以來一直保持良好的發(fā)展勢頭,其討論主題數(shù)、討論帖子數(shù)和參與討論的總?cè)藬?shù)都在穩(wěn)步增長。但是該項目在 2011年4 月之后開始呈現(xiàn)衰落的勢頭。Eucalyptus社區(qū)在2010年6 月之前發(fā)展迅猛,無論是討論主題數(shù)、討論帖子數(shù)和參與討論的總?cè)藬?shù)都是OpenNebula社區(qū)的兩到三倍左右。但是Eucalyptus社區(qū)自2010 年6 月之后逐步衰落,盡管在2010年10月前后有過數(shù)次復(fù)興的趨勢,但是最終日漸式微并于2011年5 月前后降低到OpenNebula社區(qū)的同等水平。新興的OpenStack社區(qū)在創(chuàng)立初期發(fā)展緩慢,但是從2011年1 月起呈現(xiàn)出爆發(fā)的勢頭。目前OpenStack社區(qū)的討論主題數(shù)、討論帖子數(shù)和參與討論的總?cè)藬?shù)都在OpenNebula社區(qū)和Eucalyptus社區(qū)之上,但是尚未達到Eucalyptus社區(qū)在2010年6 月的規(guī)模。
通常來講,一個討論主題得到的回復(fù)數(shù)越多,表明該主題的討論越深入。一個論壇或者郵件列表如果只有主帖而沒有回復(fù),說明這個社區(qū)的參與程度很低。因此,平均意義上的“討論帖子數(shù)/討論主題數(shù)”則反映了一個社區(qū)的參與程度。歷史數(shù)據(jù)顯示,OpenNebula社區(qū)和Eucalyptus社區(qū)的參與度基本上是接近的。在2010年8 月以前,Eucalyptus社區(qū)的參與度略高于OpenNebula社區(qū)。在2010年8 月以后,OpenNebula社區(qū)的參與度略高于Eucalyptus社區(qū)。但是OpenStack社區(qū)的參與度從2010年6 月項目開始之日起就高于OpenNebula社區(qū)和Ecualyptus社區(qū)。除了個別異常月份之外,OpenStack社區(qū)的參與度通常是其他兩者的兩倍甚至是更高。
2.人物
說到OpenStack社區(qū)的迅猛成長,就不能不提到OpenStack的社區(qū)經(jīng)理(Community Manager)Stephen Spector。Stephen Spector在1997年到2010年之間一直在Citrix工作,負責(zé)軟件聯(lián)盟并擔(dān)任Xen.org的社區(qū)經(jīng)理,在社區(qū)管理方面可以說是擁有豐富的經(jīng)驗。他于2010年9 月跳槽到Rackspace擔(dān)任OpenStack的社區(qū)經(jīng)理,立即開始了一系列的廣告、公關(guān)、宣傳、結(jié)盟活動。通過論壇和郵件列表討論OpenStack的人數(shù),從無到有直到超越已經(jīng)運營了兩年多的Eucalyptus和OpenNebula社區(qū),僅僅用了6 個月的時間。聲明要參與OpenStack項目的公司和機構(gòu),在短短的12個月內(nèi)就達到了140個之多。不過Stephen Spector在今年10月份跳槽到了戴爾負責(zé)產(chǎn)品和市場,未來OpenStack社區(qū)會朝哪個方向發(fā)展,還是個未知數(shù)。
Stephen Spector
很巧的是,Eucalyptus項目的社區(qū)經(jīng)理Mark Atwood也是2010年9月入職的。在他入職之前,Eucalyptus社區(qū)已經(jīng)開始呈現(xiàn)下滑的趨勢。Mark Atwood入職之后,側(cè)重于Eucalyptus企業(yè)版的宣傳和推廣,在開發(fā)者和用戶社區(qū)這個領(lǐng)域并沒有太大作為,導(dǎo)致Eucalyptus的社區(qū)活躍度進一步下滑。Eucalyptus顯然已經(jīng)注意到了這個問題,并且于今年10月雇傭了Greg DeKoenigsburg來負責(zé)社區(qū)方面的工作。Greg DeKoenigsburg在2004到2010年之間在RedHat工作,負責(zé)Fedora的社區(qū)工作。至于Greg DeKoenigsburg上任之后Eucalyptus社區(qū)的狀況是否會有所改善,我們還需要一段時間來慢慢觀察。
Mark Atwood
 
Greg DeKoenigsburg
在社區(qū)運營這一塊,OpenNebula和Eucalyptus和OpenStack項目有所不同。OpenNebula項目的社區(qū)經(jīng)理是一個志愿者的角色,從2009年9 月起一直由芝加哥大學(xué)的Borja Sotomayor擔(dān)任。在2004到2010年之間,Borja Sotomayor在芝加哥大學(xué)計算機系讀碩士和博士,并在拿到博士學(xué)位后在芝加哥大學(xué)擔(dān)任講師??梢哉J為,OpenNebula項目在社區(qū)建設(shè)方面的投入并不大,但它的社區(qū)發(fā)展顯然是良性的,并且在近期逐步超越了曾經(jīng)是如日中天的Eucalyptus社區(qū)。如果一定要為此尋找一個原因的話,我們只能夠說是OpenNebula這個項目做得實在是太好了。
Borja Sotomayor
 
3.趨勢
剛才我們在架構(gòu)和功能的綜合比較里面提到,開源IaaS解決方案要進入生產(chǎn)環(huán)境,還有很長的路要走。那么,開源IaaS軟件將來會朝什么方向去發(fā)展,投資開發(fā)開源IaaS軟件的機構(gòu)的商業(yè)模式又是怎樣的呢?
讓我們看一看這幾個開源IaaS背后的機構(gòu)都在提供什么樣的產(chǎn)品和服務(wù)吧。Eucalyptus公司一直在維護社區(qū)版和商業(yè)版兩個不同的版本,今年8 月份剛剛發(fā)布的Eucalyptus 3企業(yè)版提供了高可用性、負載管理、RBAC(基于角色的訪問控制)權(quán)限管理、配額管理、運營計費等等在社區(qū)版中缺失的功能。與此類似,擁有OpenNebula項目的C12G Labs同時在維護社區(qū)版和專業(yè)版兩個不同的版本,并且在今年11月發(fā)布了可供商用的OpenNebula Pro 3.0。OpenStack項目的后臺老板RackSpace則推出了稱為RackSpace Cloud Private Edition的服務(wù),既可以為客戶建設(shè)數(shù)據(jù)中心,又可以提供私有云解決方案。
鳩摩羅什大師所譯的《維摩詰所說經(jīng)》中有這么一句話:“先以欲勾牽,后令入佛智。”我想,這句話完美地闡釋了開源IaaS軟件的發(fā)展趨勢。
【作者簡介】
蔣清野,Unix-Center.Net創(chuàng)始人。1999年獲得清華大學(xué)學(xué)士學(xué)位,2000年獲得美國伊里諾大學(xué)香檳分校碩士學(xué)位。曾就職于美國導(dǎo)航與控制公司、SUN等公司,目前供職于海南天涯在線網(wǎng)絡(luò)科技有限公司,負責(zé)天涯云計算平臺的規(guī)劃和實施。蔣清野的個人博客地址為http://www.qyjohn.net/
此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。