【恆天雲】OpenStack和CloudStack對比研究報告


摘自恆天雲:http://www.hengtianyun.com/download-show-id-8.html

1. 概述

常見的IaaS開源平台有OpenStack、CloudStack、Eucalyptus和OpenNebula,公開的現狀報告和社區分析顯示,OpenStack和CloudStack的在企業接受度和社區的發展情況已經遠遠超越另外兩者,如圖1所示。本研究報告將對OpenStack和 CloudStack這兩個最為流行的開源雲平台進行對比,為企業在進行私有雲建設時的技術選型提供參考和建議。

圖1、開源雲平台社區活躍度對比圖

2. OpenStack和CloudStack的對比

1)歷史背景和概況

    OpenStack 由NASA和Rackspace公司在2010年聯合發布,兩者分別貢獻計算代碼(Nova)和存儲代碼(Swift),以Apache許可協議進行授 權。OpenStack的目標是提供一個既可以用來建設公有雲也能建設私有雲的通用的開源雲計算平台,而且做到雲平台的搭建盡量的簡單方便,同時能夠快速 的橫向擴展。OpenStack獨立於任何企業,遵循開源、開放設計、開放開發流程和開放社區的理念,完全由社區主導和維護。OpenStack的發布周 期是半年,到目前為止已經發布8個正式版本,最新的版本是Havana,在每個版本發布之后社區都會舉行一次峰會,來自世界各地的公司和開發者一起討論下 一個版本的設計,同時進行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的目標是提供高度可用的、高度可擴展的能夠進行大規模虛擬機部署和管理的開放雲平 台。CloudStack的發布周期並不固定,目前最新的版本是4.2,社區每年會舉行一次全球協作會議(CloudStack Collaboration Conference)進行技術分享和交流。

2)平台架構

    OpenStack采用分布式架構,整個平台按照功能不同分為多個模塊項目,如圖2所示,項目之間通過消息隊列中間件和RESTful形式的API進行交互通信(其中認證項目為其它項目提供認證和服務注冊),因此每個項目都可以單獨部署在不同的主機上,架構非常的靈活,OpenStack對外提供豐富和功能強大的API,使得資源可以被用戶方便的使用和調度,同時提供和Amazon AWS(Amazon Web Services)兼容的API。

圖2、OpenStack分布式架構圖

    CloudStack采用集中式的單體架構(Monolithic architecture),如圖3所示,整個平台只有一個項目構成,不同模塊之間通過的本地調用進行交互,在一台主機上就可以完成平台的部署,非常方便,CloudStack同樣地對外提供自身API和與Amazon AWS相兼容的API。

圖3、CloudStack集中式架構圖

    可以看到兩者的架構幾乎是相對的,OpenStack的分布式架構靈活性好,不同的項目可以單獨部署,因此可以很容易的根據實際需要進行功能組合,並且由於不同的項目間耦合性低,項目間功能划分明確,因此針對單獨功能進行定制開發也非常方便,缺點是部署麻煩,每個項目都要部署配置一遍;CloudStack 因為只有一個項目,所以部署起來會相對容易很多,然而平台的擴展性就要相對弱一些。

3)平台整體比較

  OpenStack和CloudStack的功能對比如表1所示,我們從授權協議、支持的底層技術和用戶群等不同方面對兩者進行了比較。

 

OpenStack

CloudStack

授權協議

Apache 2.0,可以免費商用

Apache 2.0,可以免費商用

虛擬化技術

XenServer/XCP,KVM,QEMU
LXC,VMware ESXi/vCenter,Hyper-V Baremetal,Docker,Xen/Libvirt

XenServer,KVM,QEMU,
VMware vCenter ,LXC

網絡服務

VLAN,Flat,FlatDHCP
Quantum
虛擬化網絡

VLAN,Flat,OpenFlow

存儲支持

iSCSI,Ceph,NFS,LVM,Swift,Sheepdog

NFS,LVM,Ceph,Swift

調度策略

模型全面,易擴展

模型簡單,可擴展

用戶界面

功能完善,界面簡單

功能完善,界面友好

數據庫

PostgreSQL,MySQL,SQLite

MySQL

虛擬機模板

支持

支持

組件

Nova,Glance,Keystone,
Horizon,Swift,Cinder,
Quantum,Heat,Ceilometer

Console Proxy VM,
Second Storage VM,
Virtual Router VM,
Host Agent,Management Server

開發主導

開源社區

Citrix公司

開發語言

Python

Java

官方文檔

非常詳細

詳細

版本問題

存在版本兼容性問題

不存在版本兼容性問題

用戶群

160家左右,包括NASA、
RedHat、Rackspace、HP、
網易、UnitedStack等

不到60家,包括諾基亞、
日本電話電報公司、Zynga、
阿爾卡特、迪斯尼等

表1、OpenStack與CloudStack 比較

4)平台選擇

    經過前面的比較分析我們能夠獲得這樣的結論,OpenStack和CloudStack都是功能強大的開源雲平台,滿足企業私有雲建設的需求,並且因為開放 開源,都可以根據需要進行定制。不同的是CloudStack因為是從商業軟件開源出來的,所以對企業來說會更容易上手,在雲平台構建時會比較方便,然而 同樣因為其帶有商業軟件屬性,平台架構比較集中,模塊間耦合度比較高,因此擴展性不是太好,同時二次開發的成本較高;OpenStack自誕生之初就是開 源軟件,並采用分布式的架構,所有的開發都是由社區承擔,不同的項目之間幾乎沒有耦合,所以可以方便的進行開發定制,然而因為其有多個項目組成,每個項目 都要單獨安裝,並且要保證項目間的協作,所以部署會比較麻煩,另外由於OpenStack處於高速發展階段,不同版本之間項目可能會有較大的變動,因此版 本間的升級會比較困難。
    另外值得一提的是,OpenStack和CloudStack雖然都對VMware的ESXi虛擬化技術提供支 持,但支持方式是不一樣的,如圖4所示。CloudStack要經過vCenter才可以實現對ESXi宿主機上虛擬機的管理;而OpenStack支持 直接和ESXi通信,實現對虛擬機的基本管理,只有高級功能才需要vCenter的支持。針對目前中小企業普遍采用VMware的免費虛擬化技術而沒有 vCenter的現狀,這也是在平台選擇時需要考慮的。

圖4、VMware ESXi管理方式對比圖

    恆天雲采用OpenStack開源平台進行私有雲建設,因為OpenStack架構非常開放,方便定制開發,並且擁有眾多技術廠商的支持,非常有可能成為雲 計算IaaS平台領域的Linux,所以通過對OpenStack定制開發,積累雲計算的技術能力,從長遠來看對企業也是非常有益的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM