云計算是并行計算(Parallel Computing)、分布式計算(Distributed Computing)和網格計算(Grid Computing)的發展,或者說是這些計算機科學概念的商業實現。它是是虛擬化(Virtualization)、公用計算(Utility Computing)、IaaS(基礎設施即服務)、PaaS(平臺即服務)、SaaS(軟件即服務)等概念混合演進并躍升的結果。云平臺是基于云計算的商業模式,目前市面上形形色色的虛擬化管理軟件總數很多,作為一個機構、或者是一家企業,在向虛擬化過渡時都不可避免地要面臨軟件選型的問題。如何從虛擬化過渡到云計算,如何選擇云計算管理平臺?是否可以保障系統的穩定性、可靠性和安全性;是否可以和現在的虛擬化平臺兼容;是否有完整的生命周期管理;是否便于管理。該文通過對云計算管理平臺的背景、架構、功能等方面的比較研究,促進對云產品的功能定位,了解云品臺的未來發展趨勢。
1、背景研究
云作為一個商業平臺已經改變了商業游戲的規則,這是事實,未來企業不僅需要向外延伸來建立雄厚的商業關系網,也需要整合其他系統。而對云平臺的背景的研究可以了解云平臺的基礎是什么,最初的目的是什么,以便我們能從我們的需要選擇它。
1.1 Eucalyptus
Elastic Utility Computing Architecture for Linking Your Programs To Useful Systems(Eucalyptus)是一種開源的軟件基礎結構,用來通過計算集群或工作站群實現彈性的、實用的云計算。它最初是美國加利福尼亞大學Santa Barbara 計算機科學學院的一個研究項目,在2008 年5 月發布1.0 版本。學院派文化濃郁。中文通常稱及為“桉樹”。Eucalyptus 主要是用C開發的,其中CLC 是由java 完成的,Tools 是由perl 完成的。通過libvirt免費支持KVM及Xen,Vmware收費。所有組件通過WSDL通信,兼容EC2發布對外接口。它曾經做為Ubuntu企業云(UEC)支持的虛擬化平臺,由于其并不完全開源后來有被OpenStack取代的趨勢。目前最新版本為Version 3.1.2。目錄主架構已經開源,通過插件及服務收費獲取利潤。
1.2 Convirture
Convirture與Xen同步發展,對Xen支持良好。核心代碼采用python與extjs開發。以易用性及管理系統表現出色。它起源于2006年發起的XenMan項目,與Xen項目的發展基本同步。目前的版本為ConVirt 2.0。現任CEO和工程部門的EVP均來自Oracle。用戶規模與Eucalyptus相當,論壇的活躍程度很高。官方文檔非常完備,按照文檔操作至少能夠順利地完成安裝和配置過程。在網絡上搜索到的中英文的安裝配置教程也基本可用。商務溝通非常順暢,社區發表在論壇上的問題通常在48小時內得到回應,通過技術支持電子郵件提出的問題通常在24小時內得到回應。
1.3 OpenNebula
OpenNebula由Universidad Complutense de Madrid(馬德里大學) 開發,業內評價比較高,具有移動、百度等國內大客戶支持。除了支持私有云結構之外,OpenNebula 還支持混合云的概念。混合云允許私有云基礎架構與公共云基礎架構(比如Amazon)的集成以提供更高級別的伸縮, 混合云通過插件與Amazon EC2配合完成。OpenNebula 支持Xen、KVM/Linux 和VMware,并且依賴libvirt進行管理。它提供EC2及OCCI兩套接口。通常采用簡稱“ONE”。
1.4 CloudStack
CloudStack最初由VMOps公司開發,后被思杰收購至于Apache 2.0協議下管理。它的創始人為美籍華人梁勝,核心代碼用Java開發。與OpenStack有許多共同特性,最具有競爭關系的一個項目。思杰同時在規劃研發CloudStack商業版。思杰對CloudStack與OpenStack的評價:“CloudStack和OpenStack最大的區別在于,OpenStack一開始就是開源社區,在研發者當中有很多應用,但是到現在沒有成熟的商業應用;而CloudStack則相反,在開源之前,已經有接近一百家的客戶在大規模商業部署了。換句話說了,這是將一個已經成熟的商品進行開源。Citrix公司認為這是兩者之間最大的差異,也是Citrix將重心從OpenStack切換到CloudStack的原因。”國內天云趨勢與思杰就CloudStack在中國的推廣、應用進行合作。
2、云平臺架構研究
經典云計算架構包括IaaS、PaaS、SaaS三層服務。云計算平臺架構細分為硬件層、虛擬層、軟件平臺層、能力層、應用平臺以及軟件服務層。云平臺的云計算架構雖然分了多個層次,但是每個層次之間都是松耦合關系,在一個具體的云平臺中也不是每個層次的服務都使用到,而是根據具體的應用環境搭建相應的云計算架構。企業要根據自己的商業模式來選擇云平臺。
2.1 Eucalyptus
Eucalyptus是一個與Amazon EC2兼容的IaaS系統。Eucalyptus包括云控制器(CC)、Walrus、集群控制器(CLC)、存儲控制器(SC)和節點控制器(NC)。CC是整個Eucalyptu系統的核心,負責高層次的資源調度,例如向CLC請求計算資源。Walrus是一個與Amazon S3類似的存儲服務,主要用于存儲虛擬機映像和用戶數據。CC是一個集群的前端,負責協調一個集群內的計算資源,并且管理集群內的網絡流量。SC是一個與Amazon EBS類似的存儲塊設備服務,可以用來存儲業務數據。NC是最終的計算節點,通過調用操作系統層的虛擬化技術來啟動和關閉虛擬機。在同一個集群(CC)內的所有計算節點(NC)必須在同一個子網內。在一個集群(CC)內通常需要部署一臺存儲服務器(SC),為該集群內的計算節點提供數據存儲服務。
Eucalyptus通過Agent的方式來管理計算資源。在每一個計算節點上,都需要運行一個eucalyptus-nc的服務。該服務在集群控制器(CC)上注冊后,云控制器(CLC)即可通過集群控制器(CLC)將需要運行的虛擬機映像文件(EMI)拷貝到該計算節點上運行。
Eucalyptus將虛擬機映像文件存儲在Walrus上。當用戶啟動一個虛擬機實例的時候,Eucalyptus首先將相應的虛擬機映像(EMI)從Walrus拷貝到將要運行該實例的計算節點(NC)上。當用戶關閉(或者是由于意外而重啟)一個虛擬機實例的時候,對虛擬機所做的修改并不會被寫回到Walrus上原來的虛擬機映像(EMI)上,所有對該虛擬機的修改都會丟失。如果用戶需要保存修改過的虛擬機,就需要利用工具(euca2ools)將該虛擬機實例保存為新的虛擬機映像(EMI)。如果用戶需要保存數據,則需要利用存儲服務器(SC)所提供的彈性塊設備來完成。
2.2 Convirture
ConVirt是一個虛擬化管理平臺,使用無代理模式工作。當需要管理的目標節點提供SSH登錄方式時,ConVirt通過SSH登陸到計算節點,在計算節點上直接運行相對應的虛擬化管理命令。當需要管理的目標節點提供HTTP/HTTPS/XML-RPC遠程調用接口時,ConVirt插件通過目標節點所提供的遠程調用接口實現對目標平臺的管理。
ConVirt不提供與Amazon EC2兼容的云管理接口。但是ConVirt 3.0提供了與Amazon EC2 / Eucalyptus的用戶接口,使得ConVirt用戶能夠在同一個Web 管理界面下同時管理Amazon EC2 / Eucalyptus提供的虛擬計算資源。
2.3 OpenNebula
OpenNebula的構架包括三個部分:驅動層、核心層、工具層。驅動層直接與操作系統打交道,負責虛擬機的創建、啟動和關閉,為虛擬機分配存儲,監控物理機和虛擬機的運行狀況。核心層負責對虛擬機、存儲設備、虛擬網絡等進行管理。工具層通過命令行界面/瀏覽器界面方式提供用戶交互接口,通過API方式提供程序調用接口。OpenNebula使用共享存儲設備(例如NFS)來提供虛擬機映像服務,使得每一個計算節點都能夠訪問到相同的虛擬機映像資源。當用戶需要啟動或者是關閉某個虛擬機時,OpenNebula通過SSH登陸到計算節點,在計算節點上直接運行相對應的虛擬化管理命令。這種模式也稱為無代理模式,由于不需要在計算節點上安裝額外的軟件(或者服務),系統的復雜度也相對降低了。
2.4 CloudStack
CloudStack采用了“框架+ 插件”的系統構架,通過不同的插件來提供對不同虛擬化技術的支持。CloudStack本身是一個虛擬化管理平臺,但是它通過CloudBridge提供了與Amazon EC2相兼容的云管理接口,對外提供IaaS服務。
3、系統虛擬化技術比較
云計算是以分布式計算和虛擬化技術為基礎的,虛擬化對云計算平臺來說是非常重要的。對虛擬化技術的支持也是選擇云平臺的重要方面。
表1中可以看出,Xen和KVM是目前獲得最廣泛的廠商虛擬化技術,緊隨其后的是VMWare。而對虛擬化技術支持達到3個及以上的云平臺是Eucalyptus、OpenNebula 和CloudStack,其中Eucalyptus對VMWare的支持是要付費的,相比較而言Convirture要差一些,它只支持Xen和KVM。
4、結論
基于以上研究,給出如下參考。從商務上進行軟件選型,性價比通常是一個決定性的因素。在假定參與選型的軟件全部滿足技術要求的前提下,企業(機構)需要考慮的因素包括軟件的授權協議是否友好、許可證管理的難易程度、軟件和服務的價格高低、運營團隊在業界的聲譽、開發者社區和用戶社區的規模和活躍程度、商業與技術溝通的難易程度。以上4個云平臺中Eucalyptus評定最優;從功能上進行虛擬化管理軟件選型,需要考慮的因素包括該軟件所支持的虛擬化技術、安裝配置的難易程度、開發和使用文檔的詳盡程度、所提供的功能是否全面以及用戶界面是否直觀友好、二次開發的難易程度、是否提供物理資源和虛擬資源的監控報表等等,以上4個云平臺中CloudStack評定最優。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.lukmueng.com/
本文標題:主流開源云平臺的商業選擇