OpenStack 如何笑傲開源云計算戰(zhàn)場—— OpenStack 與 CloudStack 的對比
原創(chuàng)大概一周前,Zenoss剛剛完成了一份名為“2014開源云計算解析”的市場調(diào)查顯示,69%已經(jīng)不同程度地應(yīng)用云計算技術(shù),43%的用戶花費大量資源在開源技術(shù)上。在這些選擇了開源云的企業(yè)中,超過86%的企業(yè)關(guān)注OpenStack,并且這些數(shù)值在過去幾年都在不斷增長。 排在第二位的CloudStack則被遠遠甩在后面,只有44%。
OpenStack和CloudStack都是功能強大的開源云平臺,那OpenStack是憑借什么,在百花齊放的云計算戰(zhàn)場取得如此大幅度的領(lǐng)先優(yōu)勢呢?本文基于"用戶傾向于云計算的理由"這個角度,對OpenStack和CloudStack進行對比,試著來尋找答案。
短短幾年間,云計算已不再虛無飄渺,而是落入凡間,變成實實在在的技術(shù)。而開源技術(shù)更是逐漸成為對公司、廠商更有吸引力的選擇。大概一周前,Zenoss剛剛完成了一份名為“2014開源云計算解析”的市場調(diào)查顯示,69%已經(jīng)不同程度地應(yīng)用云計算技術(shù),43%的用戶花費大量資源在開源技術(shù)上。
在這些選擇了開源云的企業(yè)中,超過86%的企業(yè)關(guān)注OpenStack,并且這些數(shù)值在過去幾年都在不斷增長。 排在第二位的CloudStack則被遠遠甩在后面,只有44%。
OpenStack和CloudStack都是功能強大的開源云平臺,滿足企業(yè)私有云建設(shè)的需求,并且因為開放開源,都可以根據(jù)需要進行定制。那是什么原因使OpenStack 在這場開源云計算的戰(zhàn)爭中笑傲群芳呢?
對于用戶傾向于開源云計算的理由,在這份Zenoss的報告中的數(shù)據(jù)也有顯示,諸多原因中以下四種最為重要:
那么本文,我們就將討論的重點放在冠軍OpenStack和 亞軍 CloudStack上,先從這四個回合看看冠軍OpenStack 和亞軍 CloudStack分別是怎樣迎接這場開源云戰(zhàn)役的。
選手簡介:
OpenStack由NASA和Rackspace公司在2010年聯(lián)合發(fā)布,兩者分別貢獻計算代碼(Nova)和存儲代碼(Swift),以Apache許可協(xié)議進行授權(quán)。OpenStack的目標是提供一個既可以用來建設(shè)公有云也能建設(shè)私有云的通用的開源云計算平臺,而且做到云平臺的搭建盡量的簡單方便,同時能夠快速的橫向擴展。
CloudStack最初由Cloud.com公司開發(fā),分為商業(yè)和開源兩個版本,開源版本通過GPLv3(GNU General Public License, version 3)許可協(xié)議進行授權(quán),Citrix公司在2011年收購Cloud.com后,將全部代碼開源,并在2012年將CloudStack貢獻給Apache軟件基金會,成為Apache的孵化項目,同時將授權(quán)協(xié)議改為更加寬松開放和商業(yè)友好的Apache許可協(xié)議,CloudStack在2013年3月份升級為Apache的正式項目。CloudStack的目標是提供高度可用的、高度可擴展的能夠進行大規(guī)模虛擬機部署和管理的開放云平臺。
Round 1:靈活性
OpenStack由幾個主要的組件組合起來完成具體工作,采用分布式架構(gòu)。整個平臺按照功能不同分為多個模塊項目,項目之間通過消息隊列中間件和RESTful形式的API進行交互通信,因此每個項目都可以單獨部署在不同的主機上,支持幾乎所有類型的云環(huán)境。
CloudStack采用集中式的單體架構(gòu)(Monolithic architecture),整個平臺只有一個項目構(gòu)成,不同模塊之間通過的本地調(diào)用進行交互,在一臺主機上就可以完成平臺的部署,非常方便。
可以看到,兩者的架構(gòu)幾乎是相對的,OpenStack的分布式架構(gòu)靈活性好,缺點每個項目都要部署配置一遍,比較麻煩;CloudStack因為只有一個項目,部署起來會相對容易很多,然而平臺的擴展性就要相對弱一些。
如果單從用戶最關(guān)注的靈活性的角度來看,本回合OpenStack勝。
Round2: 避免被廠商鎖定
OpenStack和CloudStack都是功能強大的開源云平臺,滿足企業(yè)私有云建設(shè)的需求,并且因為開放開源,都可以根據(jù)需要進行定制。
不同的是CloudStack雖然在云平臺構(gòu)建時會比較方便,對企業(yè)來說會更容易上手,但它必竟是從商業(yè)軟件開源出來的,會帶有商業(yè)軟件屬性;而OpenStack自誕生之初就是開源軟件,所有的開發(fā)都是由社區(qū)承擔(dān),采用分布式的架構(gòu),不同的項目之間幾乎沒有耦合,所以可以方便的進行開發(fā)定制。
綜合比較,第二回合,OpenStack勝。
Roud3: 更低的成本
又如前面說到的, CloudStack由于其某種程度帶有商業(yè)軟件屬性,平臺架構(gòu)又比較集中,模塊間耦合度比較高,導(dǎo)致其二次開發(fā)的成本較高。但OpenStack面臨的問題是,由多個項目組成,每個項目都要單獨安裝,并且要保證項目間的協(xié)作,所以部署會比較麻煩。而且以O(shè)penstack目前發(fā)展的狀況看來,不同版本之間項目可能會有較大的變動,因此版本間的升級會比較困難,由此帶來的運維成本不好估算。
但我們還要考慮到的是,OpenStack和 CloudStack雖然都對VMware的ESXi虛擬化技術(shù)提供支持,但支持方式是不一樣的。CloudStack要經(jīng)過vCenter 才可以實現(xiàn)對ESXi宿主機上虛擬機的管理;而OpenStack支持直接和ESXi通信,實現(xiàn)對虛擬機的基本管理,只有高級功能才需要vCenter的 支持。針對目前中小企業(yè)普遍采用VMware的免費虛擬化技術(shù)而沒有vCenter的現(xiàn)狀,這也是在平臺選擇時需要考慮的。
本回合OpenStack 險勝。
Round 4: 開放的標準和API(60%)。
我們已經(jīng)知道,OpenStack和CloudStack都是功能強大的開源云平臺,滿足企業(yè)私有云建設(shè)的需求,并且因為開放開源,都可以根據(jù)需要進行定制。OpenStack對外提供豐富和功能強大的API,使得資源可以被用戶方便的使用和調(diào)度,同時提供和Amazon AWS(Amazon Web Services)兼容的API。CloudStack同樣地對外提供自身API和與Amazon AWS相兼容的API。
所以這輪,雙方算打個平手。
小結(jié):
單就Zenoss調(diào)查報告所顯示的用戶需要程度***的四個標準來看,OpenStack似乎基本保持不敗。但這并不代表它盡善盡美,而且如果從使用戶操作方便,簡便易用的角度看來,CloudStack應(yīng)該更勝一籌。
我們再來回顧這個數(shù)據(jù):超過86%的企業(yè)關(guān)注OpenStack,排在第二位的CloudStack只有44%。這個數(shù)據(jù)顯示,很多用戶有可能同時關(guān)注這兩項技術(shù)。技術(shù)強不強是客觀的,主要還是要看用戶自身的需要。但就目前來看,基于OpenStack更加開放的架構(gòu),以及眾多技術(shù)廠商的支持,加上OpenStack 自身迅速成長壯大的勢頭,從長遠來看對企業(yè)還是非常有益的。