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