物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

主流開源云計算軟件大盤點

作者:本站采編
來源:51CTO
日期:2015-08-13 15:21:51
摘要:雖然市面上有數(shù)量眾多的商業(yè)軟件可用于構建云基礎設施,但是在你開始花血汗錢之前,也許應該看一下可供使用的開源方案。雖然開源云軟件常常被稱為是商業(yè)云軟件的“替代品”,其實根本不是這樣。而在許多情況下,開源應用程序是同類軟件中率先使用云技術的。
關鍵詞:云計算云軟件

主流開源云計算軟件大盤點

  開源云計算軟件的若干優(yōu)點

  雖然市面上有數(shù)量眾多的商業(yè)軟件可用于構建云基礎設施,但是在你開始花血汗錢之前,也許應該看一下可供使用的開源方案。雖然開源云軟件常常被稱為是商業(yè)云軟件的“替代品”,其實根本不是這樣。而在許多情況下,開源應用程序是同類軟件中率先使用云技術的。

  有許多理由求助于開源軟件來滿足你的云計算要求。如果求助于一個或多個這樣的開源應用程序,貴公司可以省下一大筆費用,具體取決于公司規(guī)模。此外,你可能會發(fā)現(xiàn)自己在與大規(guī)模企業(yè)競爭,對方其實在運行與你一樣的開源軟件,實際上讓競爭環(huán)境變得了公平一點。

  但是也有其他理由可能迫使你試一下這些方案。許多云計算開源項目有更龐大的用戶群。由于實施軟件的門檻很低,有更多數(shù)量和類別的人在使用它,而且軟件背后常常有充滿活力的社區(qū),充當支撐體系。開源項目通常具有創(chuàng)新精神,很短的發(fā)布周期推動技術前進。實際上,用戶常常根據(jù)實際的商業(yè)要求來決定下一個特性發(fā)布周期。

  另外,開源意味著可以隨意享用應用編程接口(API)和編寫它們所使用的開放標準。應用程序代碼庫更透明,這常常有助于推動創(chuàng)新前進,加大社區(qū)支持。

  綜觀許多云計算服務模式,比如用戶云(又叫軟件即服務)、開發(fā)云(又叫平臺即服務)和系統(tǒng)云(又叫基礎設施即服務),有大量多種多樣的應用程序可供選擇,既有商業(yè)產(chǎn)品,又有免費的開源產(chǎn)品。你可能會注意到,許多開源項目有著更崇高的目標,原因在于龐大、開發(fā)的社區(qū),廣大開發(fā)者致力于編寫創(chuàng)新的軟件,希望進一步推動云計算技術。幸好,有開放標準,許多開源應用程序可以彼此聯(lián)系,讓你可以精挑細選應用程序,為貴企業(yè)構建一套可靠、整合的云計算解決方案。

  這樣的應用程序和解決方案就包括如下:Salesforce.com、Google Docs、Red Hat Network、VMware Cloud Foundry、Google AppEngine、Windows Azure、Rackspace Sites、Red Hat OpenShift、Active State Stackato、AppFog、EC2、Rackspace Cloud Files、OpenStack、CloudStack、Eucalyptus、OpenNebula及另外許多。

  不妨更近距離地看一看如今市面上的主流開源云計算軟件。

  一、開源虛擬機管理程序

   主流開源云計算軟件大盤點

  Xen云平臺(XCP)

  XCP含有思杰公司的商業(yè)發(fā)行版XenServer的一小部分功能。它包括Xen API工具堆棧,提供了主機系統(tǒng)池管理、多租戶模式、存儲庫、支持SLA以及預先整合網(wǎng)絡和磁盤功能(比如Open vSwitch)。 XCP可以通過ISO來安裝,類似XenServer,附有所有一樣的驅(qū)動程序。雖然與XenServer不一樣,但是代碼庫大部分一樣。XCP還可以通過安裝在Debian GNU/Linux和Ubuntu Linux中的程序包管理器下的XCP-XAPI程序包來獲得和配置。ISO基于CentOS 5.x,使用XAPI本地管理,支持XenServer的大多數(shù)功能。然而,它是類似黑盒的設備,只能在CentOS上工作,而XCP-XAPI程序包易于定制、易于從源代碼來構建,并以程序包的形式存在,那樣你就能圍繞它們組裝自己的系統(tǒng)。缺點就是,相比ISO,XCP-XAPI在功能方面有一些限制,而且只支持數(shù)量有限的存儲庫類型,而ISO支持大多數(shù)類型。

  相關鏈接:http://www.xenproject.org

  KVM

  基于內(nèi)核的虛擬機(KVM)是一個開源項目,為在x86硬件上運行的GNU/Linux開發(fā)。由于可裝入的Linux內(nèi)核模塊(kvm.ko),KVM可與安裝有KVM的GNU/Linux系統(tǒng)整合起來,包括針對特定處理器的Linux內(nèi)核模塊(kvm-intel.ko或kvm-amd.ko)。作為一套完整的虛擬化系統(tǒng),編寫了許多外部程序來管理KVM映像。KVM可以運行GNU/Linux或微軟Windows系統(tǒng)的多個映像,包括可訪問專有的網(wǎng)卡、磁盤、顯卡和USB等。雖然KVM與Linux內(nèi)核整合起來(自Linux 2.6.20起,KVM就是主線代碼的一部分),Xen之類的虛擬機管理程序卻是外部的,不得不控制安裝有KVM的機器,并利用資源管理;KVM充當系統(tǒng)的一部分,使用Linux調(diào)度程序和內(nèi)存管理。目前,KVM需要QEMU(開源模擬器)才能工作,但是撰寫本文時,該項目在努力擯棄這種依賴。

  相關鏈接:http://www.linux-kvm.org

  VirtualBox

  為了非商業(yè)機構易于使用,VirtualBox可以在多種平臺上工作,易于安裝和設置。它提供x86和AMD64/英特爾64虛擬化,在家庭環(huán)境和企業(yè)環(huán)境下都很容易得到利用。它可以在Windows、Linux、Macintosh和Solaris主機上運行,支持主機安裝Windows(NT 4.0、2000、XP、Server 2003、Vista、Windows 7和Windows 8)、DOS/Windows 3.x、Linux(2.4、2.6和3.x)、Solaris及OpenSolaris、OS/2以及OpenBSD。VirtualBox擁有眾多引人入勝的功能:可以輕松運行多個操作系統(tǒng)訪客;你的限制主要取決于系統(tǒng)內(nèi)存和處理器能力??梢允褂肰irtualBox來建立虛擬網(wǎng)絡,用于實驗室環(huán)境,比如滲透測試、構建集群原型和貝奧武夫(Beowulf)集群模板。一項名為“快照”的功能讓用戶可以保存虛擬機狀態(tài),如果需要的話,可以恢復到之前的那些狀態(tài)。你還可以構建系統(tǒng)、配置系統(tǒng)并交付虛擬機,用于客戶的VirtualBox實例。相比另外一些知名的商業(yè)虛擬化解決方案,VirtualBox 因占用的內(nèi)存和處理器資源最少而著稱。

  相關鏈接:https://www.virtualbox.org

  OpenVZ

  OpenVZ基于“容器”技術,它不是一種名副其實的虛擬化應用程序。它擁有經(jīng)過改動的Linux內(nèi)核(意味著主機系統(tǒng)只能是某種版本的GNU/Linux),經(jīng)過了定制,以支持OpenVZ容器。容器是獨立的實體,依賴資源管理和檢測點(借助經(jīng)過改動的Linux內(nèi)核),其行為總的來說如同正常的服務器,有文件系統(tǒng)、應用程序、用戶、用戶組等。主機內(nèi)存對OpenVZ容器來說更為靈活,原因在于沒有被一個容器使用的內(nèi)存可以輪換、供另一個容器使用。OpenVZ中的資源管理包括用戶計數(shù)器、磁盤輸入/輸出調(diào)度程序、處理器調(diào)度程序和兩級磁盤配額。在運行過程中不需要重啟即可更改這些資源,這對開發(fā)者和測試人員或者對運行的活動系統(tǒng)與用戶交互的人來說是誘人的功能。容器是安全的、隔離的,在服務器上的應用程序之間不太有沖突,不然這些應用程序會共享庫或目錄空間。OpenVZ是采用GNU公共許可證(GPL)發(fā)行的,是免費軟件。

  相關鏈接:http://openvz.org/Main_Page

  LXC

  與OpenVZ一樣,LXC也是一種容器技術,作為一種用戶空間接口而存在,支持Linux內(nèi)核容器控制功能。這些功能包括:內(nèi)核命名空間(ipc、uts、mount、pid、network和user)、來自Apparmor和SELinux的配置文件、Seccomp策略、通過pivot_root的chroot以及cgroup(控制組)。LXC還不完全是虛擬機,仍能提供類似Linux安裝的環(huán)境,就像VirtualBox中的虛擬機上那樣。然而,不需要LXC下有單獨的內(nèi)核,因為它扎根于主機內(nèi)核。與OpenVZ一樣,LXC使用主機內(nèi)核的資源管理和檢查點。LXC包含眾多容器模板、管理容器的標準工具、支持多種語言(Ruby、Python、Go和Lua)的綁定,以及l(fā)iblxc庫(libvirt被認為是一種替代的庫)。LXC是免費軟件,大多數(shù)代碼按照GNU LGPL許可證的條款來發(fā)行(訪問LXC官方網(wǎng)站,即可了解不是采用LGPL許可證的組件方面的細節(jié))。

  相關鏈接:https://linuxcontainers.org

  二、開源云設備

   主流開源云計算軟件大盤點

  Bitnami

  獲得預構建的設備從來沒有這么容易過。與SUSE Studio一樣,用戶可以使用預構建的Bitnami堆棧,下載虛擬機或安裝程序??蓮腂itnami獲得的應用程序包羅萬象:從基礎設施和云工具,到客戶關系管理(CRM)、內(nèi)容管理系統(tǒng)(CMS)和企業(yè)內(nèi)容管理(ECM),不一而足。耳熟能詳?shù)膽贸绦虬ǎ篧ordPress、Joomla、Drupal、Moodle、JBoss、LimeSurvey、DokuWiki、SugarCRM和ownCloud等等。另外,Bitnami提供一系列堆棧,包括Ruby、Django、LAMP、WAMP、WAPP、MAMP、LAPP和MAPP。Bitnami設備擁有諸多功能,比如具有獨立、安全、最新等優(yōu)點,按一致的標準來構建。每個設備都捆綁有它所需要的所有庫、數(shù)據(jù)庫和運行時環(huán)境。每個設備都針對互聯(lián)網(wǎng)上最常見的使用和情況進行了優(yōu)化。Bitnami還通過亞馬遜網(wǎng)絡服務,為需要設備所提供的功能,可是又沒有資源來下載和安裝設備的那些人提供云服務。

  相關鏈接:https://bitnami.com

  BoxGrinder

  眼下BoxGrinder主要是一種命令行構建工具,用于構建虛擬化用途和云部署的設備,BoxGrinder這個項目在不斷開發(fā)之中。目前支持構建基于Fedora、CentOS、紅帽企業(yè)級Linux(RHEL)和Scientific Linux的設備。設備目前可以部署到VMware、VirtualBox、VirtualPC和EC2。交付的內(nèi)容包括一組插件,可用于本地交付、SFTP、S3、EBS、ElasticHosts和OpenStack。不過眼下,只能在Fedora上構建設備。用Ruby編寫的BoxGrinder需要rubygem用于安裝和管理程序包。由于項目還在開發(fā)之中,附加功能還在規(guī)劃之中,BoxGrinder是未來值得關注的項目,但是構建系統(tǒng)的局限性和設備操作系統(tǒng)底層的局限性會讓你暫時關注其他的云設備應用程序。

  相關鏈接:http://boxgrinder.org

  Oz

  Oz是為了便于自動安裝操作系統(tǒng)而開發(fā)的,它從用戶獲得首次安裝的極少輸入后,迅速推出一個完整的系統(tǒng)。Oz可以安裝操作系統(tǒng)、定制操作系統(tǒng),并生成程序包清單文件。不過,Oz方面有些地方需要手動維護。就新的操作系統(tǒng)和版本而言,它們需要手動添加。必須經(jīng)常更新Oz,才能支持新的操作系統(tǒng)版本。作為其功能的一部分,Oz使用操作系統(tǒng)提供的原生安裝工具來執(zhí)行安裝。雖然Oz支持安裝一系列廣泛的操作系統(tǒng),包括RHEL、CentOS、Scientific Linux、Fedora、OpenSUSE、Debian、Ubuntu、Mandrake、Mandriva、FreeBSD和Windows,不過就這每一款操作系統(tǒng)及不同版本而言,Oz可能支持其中一種操作(安裝、定制和生成清單文件),也可能不支持。然而,不像其他許多堆棧安裝或操作系統(tǒng)安裝工具,Oz讓操作系統(tǒng)的安裝就像它安裝在裸機系統(tǒng)上一樣。

  相關鏈接:https://github.com/clalancette/oz/wiki

  SUSE Studio

  SUSE Studio自2009年首次發(fā)布以來就大受歡迎,迅速經(jīng)歷了從LifeHacker到TuxRadar的幾輪評估。借助最初由Novell SUSE(現(xiàn)在的SUSE)發(fā)布的在線Linux映像創(chuàng)建工具,該網(wǎng)站讓你很容易配置青睞的操作系統(tǒng) (從核心應用程序到系統(tǒng)級定制),然后使用自動化工具來構建系統(tǒng)。RPM可以上傳到構建環(huán)境,也可以添加軟件庫。因而生成的映像可以作為ISO(Live CD/DVD,預裝)、虛擬機(VMware/VirtualBox/OVF/Xen)、SUSE云或USB映像來下載。還有一系列廣泛的預裝映像可以選擇,既有SUSE開發(fā)的,也有SUSE Studio用戶貢獻的。默認映像都基于SUSE,既有openSUSE,又有SUSE Linux Enterprise Server。除了這些功能外,SUSE還能通過之前存在的AWS帳戶上傳AMI映像,為EC2映像創(chuàng)建實例,還可以通過之前存在的Windows Azure帳戶,上傳VHD映像,為Azure應用程序創(chuàng)建實例。

  相關鏈接:https://susestudio.com

  三、開源計算云(IaaS)

   主流開源云計算軟件大盤點

  Apache CloudStack

  盡管外面?zhèn)髀凧ava不會繼續(xù)是許多主要云應用程序的核心,但它依然扮演這一重要角色。Apache CloudStack的核心是用Java編寫的一批功能,包括用戶管理、多租戶和帳戶分離、網(wǎng)絡、計算和存儲等資源核計、基于Web的管理控制臺、原生API及與亞馬遜S3/EC2兼容的API,以及支持主存儲/輔助存儲。Apache CloudStack可以與XenServer/XCP、KVM、Hyper-V和VMware上的主機協(xié)同運行。Apache CloudStack用來部署和管理虛擬系統(tǒng)組成的大型網(wǎng)絡,被許多提供商選擇用來為客戶部署私有云、公有云和混合云等解決方案。額外的功能特性包括:高可用性、作為服務云計算平臺的可擴展基礎設施,以及用戶和開發(fā)者組成的龐大社區(qū)(他們不斷推動技術進步、改進功能特性)。

  相關鏈接:http://cloudstack.apache.org

  Eucalyptus

  雖然目前只出現(xiàn)在CentOS和紅帽企業(yè)級Linux上,但是Eucalyptus作為一種完整的IaaS解決方案,已經(jīng)備受關注。Eucalyptus包括云控制器(CLC)、Walrus(持續(xù)性數(shù)據(jù)存儲)、集群控制器(CC)、存儲控制器(SC)、節(jié)點控制器(NC)和可選的VMware代理(VB),這儼然是一款功能齊全的產(chǎn)品。每個組件都是一種獨立的Web服務(VB除外),旨在讓Eucalyptus可以為每種服務提供API(與語言無關)。這種基于Linux的系統(tǒng)讓用戶可以使用一種基于行業(yè)標準的模塊化框架,在現(xiàn)有的基礎設施里面部署私有云和混合云。尤其是,Eucalyptus提供了隔離各路流量的虛擬網(wǎng)絡覆蓋層,讓多個集群在同一局域網(wǎng)(LAN)上可以做到透明,同時保持數(shù)據(jù)完整性。此外,Eucalyptus通過API與亞馬遜的EC2、S3、IAM、ELB、自動擴展(Auto Scaling)和CloudWatch等服務兼容,因而對實施混合云方案來說再理想不過了。

  相關鏈接:https://www.eucalyptus.com

  OpenNebula

  OpenNebula結合了功能項目和功能研究,聲稱是數(shù)據(jù)中心虛擬化發(fā)展道路上邁出的下一步。從研究的角度來看,該項目力求開發(fā)先進的、自適應的虛擬化數(shù)據(jù)中心和企業(yè)云。通過與云計算領域的其他開源項目和研究人員合作,OpenNebula希望還能獲得云計算軟件的穩(wěn)定性和質(zhì)量。該項目的核心價值包括:流程和技術開放性、項目的所有生命周期都確保出色以及云開發(fā)方面的創(chuàng)新。至于其實際的功能產(chǎn)品,目前聲稱的主要功能特性包括:界面直觀的自助服務門戶網(wǎng)站、自動化服務管理目錄、管理和超級用戶界面、設備市場、性能及容量管理、高可用性、業(yè)務連續(xù)性、虛擬基礎設施管理、企業(yè)級安全、第三方工具整合,以及開發(fā)者直接提供出色的產(chǎn)品支持和基于服務級別協(xié)議(SLA)的商業(yè)支持。

  相關鏈接:http://opennebula.org

  OpenStack

  在所有IaaS解決方案當中,OpenStack是出現(xiàn)在云計算架構多個產(chǎn)品領域的兩種解決方案之一。OpenStack這個全球性項目由Rackspace和美國宇航局共同創(chuàng)辦,它們開發(fā)了一個大規(guī)模擴展的云運營系統(tǒng),采用了Apache 2.0許可證,可隨意使用。OpenStack并不要求使用專有的硬件或軟件,被設計成可以在完全虛擬的系統(tǒng)和裸機系統(tǒng)里面都能夠運行。支持多種虛擬機管理程序,包括KVM和XenServer,還支持容器技術,包括LXC。OpenStack應用廣泛,從為客戶部署IaaS的服務提供商,到為項目團隊和各部門提供私有云服務的企業(yè)IT部門,不一而足。OpenStack可與Hadoop協(xié)同運行以滿足大數(shù)據(jù)要求,可以縱向和橫向擴展,以滿足不同的計算要求,還提供高性能計算(HPC)以處理密集的工作負載。主要的功能特性包括:虛擬機映像緩存、基于角色的訪問控制、虛擬機映像管理、局域網(wǎng)管理、通過Web瀏覽器的VNC代理、浮動IP地址及其他眾多功能。

  相關鏈接:https://www.openstack.org

  四、開源云存儲軟件

主流開源云計算軟件大盤點

  GlusterFS

  GlusterFS使用FUSE(用戶空間中的文件系統(tǒng))與VFS(虛擬文件系統(tǒng))連接起來建立了一種在用戶空間里面或者在內(nèi)核及其特權擴展件外面編寫的集群網(wǎng)絡文件系統(tǒng)。GlusterFS使用ext3、ext4和xfs之類的現(xiàn)有文件系統(tǒng)來存儲數(shù)據(jù)。GlusterFS之所以大受歡迎,是由于用戶可以使用這樣一種框架:能夠擴展,在單一掛載點下提供數(shù)PB數(shù)據(jù)。GlusterFS可以將文件分布到一組子卷上,用一批較小的存儲單位組成一個大的存儲單位。這可以跨一臺或幾臺服務器上的卷來實現(xiàn)。可以通過添加新服務器來增加卷,尤其是可以實時添加。由于復制功能,GlusterFS提供了存儲冗余性和可用性。

  相關鏈接:http://www.gluster.org

  Ceph

  Ceph的技術基礎是可靠的自主分布式對象存儲(RADOS),它在單個統(tǒng)一的存儲集群中為應用程序提供了對象存儲、塊存儲和文件系統(tǒng)存儲。由于庫讓客戶機應用程序可以直接訪問基于對象的RADOS存儲系統(tǒng),用戶就能充分利用RADOS塊設備(RBD)、RADOS網(wǎng)關以及Ceph文件系統(tǒng)。RADOS網(wǎng)關提供了與亞馬遜S3和OpenStack兼容的接口,以便連接RADOS對象存儲。此外,POSIX是Ceph的一項主要的特性。POSIX語義用Ceph的傳統(tǒng)文件系統(tǒng)來驅(qū)動接口,那樣使用符合POSIX的文件系統(tǒng)的應用程序就能輕松使用Ceph的對象存儲系統(tǒng)。額外的庫讓用C、C++、Java、Python和PHP編寫的應用程序也可以訪問Ceph對象存儲文件系統(tǒng)。高級的功能包括:部分/完整讀取/寫入、快照、對象級鍵值映射和原子事務(具有附加、截斷和克隆范圍等功能)。Ceph還與幾種虛擬機客戶軟件兼容。

  相關鏈接:http://ceph.com

  OpenStack

  在OpenStack的許多架構特性當中,存儲是基本的云架構必備要件之一。OpenStack提供了可擴展、冗余的對象存儲,使用服務器集群,可以存儲數(shù)PB數(shù)據(jù)。借助這種分布式存儲系統(tǒng),OpenStack為其功能組合添加了另一層面的可擴展性、冗余性和耐久性。數(shù)據(jù)寫入到數(shù)據(jù)中心中的多個磁盤上,數(shù)據(jù)復制得到管理,數(shù)據(jù)復制得到保障。對在意預算的那些人來說,OpenStack存儲解決方案既可以將數(shù)據(jù)寫到老式的小容量驅(qū)動器上,也可以寫到新式的高速驅(qū)動器上。對OpenStack存儲不滿意?OpenStack與其他存儲解決方案兼容,比如Ceph、NetApp、Nexenta、SolidFire和Zadara。額外的功能包括:快照(可以恢復或用來創(chuàng)建新的存儲塊)、擴展(添加新的服務來擴展和跨節(jié)點復制數(shù)據(jù))、支持塊存儲、自愈合、眾多功能強大的管理工具(可報告使用情況、性能和一般情況),包括審查工具。

  相關鏈接:https://www.openstack.org

  Sheepdog

  Sheepdog是另一種分布式對象存儲解決方案,恪守代碼庫小巧、簡單和易于使用的原則。Sheepdog主要用于卷和容器服務,能夠智能化管理磁盤和節(jié)點,它可以擴展至數(shù)千個節(jié)點。Sheepdog可以連接到QEMU虛擬機和Linux SCSI目標設備,還支持快照、克隆和自動精簡配置。它還可以連接到在裸機硬件上運行的其他虛擬機和操作系統(tǒng)(不過iSCSI必須得到支持)。Sheepdog支持libvirt和OpenStack,可與HTTP Simple Storage進行聯(lián)系,還有后端存儲功能,比如支持丟棄、日志功能、支持單一節(jié)點上的多磁盤以及支持擦除代碼。由于通過Web接口可與OpenStack Swift和亞馬遜S3兼容,Sheepdog能存儲和檢索海量數(shù)據(jù)。

  相關鏈接:http://sheepdog.github.io/sheepdog/

  五、開源平臺即服務(PaaS)

   主流開源云計算軟件大盤點

  Cloud Foundry

  由VMware開發(fā)的Cloud Foundry將豐富多樣的產(chǎn)品和服務作為平臺即服務來提供,它是VMware昨EMC合資創(chuàng)辦的Pivotal Sotware公司的一部分。Ruby開發(fā)者和用戶組成的龐大開放社區(qū)支持Cloud Foundry,不僅專注于代碼庫,還專注于這個PaaS提供的托管服務。Cloud Foundry為其托管解決方案提供的服務包括:MySQL DB、VFabric Postgres、MongoDB、Redis和RabbitMQ。作為一種相當簡單直觀的模式,Cloud Foundry提供了諸多機制,可用于部署應用程序、為云環(huán)境設計應用程序、推送應用程序、使用服務、遷移數(shù)據(jù)庫、使用環(huán)境變量以及映射自定義域。此外,Cloud Foundry提供了客戶端工具,比如cf命令行工具、Eclipse插件和構建整合工具。Cloud Foundry還有應用程序日志、第三方日志管理服務整合、Splunk整合和應用程序清單文件。如今該項目眼里的主要競爭對手包括AppScale、Heroku、OpenShift和谷歌應用程序引擎。

  相關鏈接:http://cloudfoundry.org

  Cloudify

  Cloudify主要致力于自動化,可以自動安裝、部署、監(jiān)控和修復應用程序堆棧,還可以根據(jù)使用情況,自動擴展應用程序堆棧。Cloudify使用Oasis基金會開發(fā)的名為TOSCA的技術,TOSCA的全稱是面向云應用程序的拓撲結構和編排規(guī)范;Cloudify聲稱其技術“致力于改善云應用程序和服務的移植性。有了TOSCA,就能夠統(tǒng)一描述應用程序和基礎設施云服務、服務各部分之間的關系,以及這些服務的操作行為(比如部署、打補丁和關閉),獨立于開發(fā)服務的供應商以及任何云提供商或主機托管技術。TOSCA還讓更高層的操作行為有可能與云基礎設施管理關聯(lián)起來?!笔褂肨OSCA藍圖,你可以指定“配方”(recipe),配方成為你的應用程序堆棧模板。Cloudify支持與OpenStack、AWS、CloudStack、微軟Azure和VMware整合。

  相關鏈接:http://getcloudify.org

  OpenShift

  OpenShift PaaS是紅帽公司的一項主要服務;該公司目前支持該軟件的私有云版本:OpenShift Enterprise。OpenShift允許部署可在紅帽企業(yè)級Linux上運行的二進制代碼。支持的語言包括:JavaScript、Ruby、Python、PHP、Perl、Java、Haskell和.NET。OpenShift支持眾多數(shù)據(jù)庫,包括MySQL、PostgreSQL、MongoDB和微軟SQL Server??梢栽贠penShift下面發(fā)現(xiàn)一些最流行、應用最廣泛的Web應用程序框架,比如Ruby、WSGI for Python、PSGI for Perl和Node.js for JavaScript。額外的框架包括Laravel、CodeIgniter、CakePHP、Ruby on Rails、Django、Perl Dancer、Flask、Sinatra、Tornado和Web2py。為了保持競爭力(也就是叫板AppScale、Heroku、Cloud Foundry、谷歌應用程序引擎、Jelastic和ElasticBox),OpenShift提供了企業(yè)級功能,比如加快應用程序服務交付、盡量避免廠商鎖定、自助服務和按需應用程序堆棧以及標準化的開發(fā)者工作流程。PaaS還是個“多面手”,支持許多編程語言和框架、企業(yè)應用程序(支持Java EE6)、內(nèi)置數(shù)據(jù)庫服務,還支持多種環(huán)境(開發(fā)環(huán)境、測試環(huán)境和生產(chǎn)環(huán)境)。OpenShift的其他功能特性包括:依賴項及版本管理、持續(xù)集成及版本管理、源代碼版本管理、遠程SSH登錄到應用程序容器、IDE集成、應用程序遠程調(diào)試、豐富的命令行工具集、反應迅即的Web控制臺以及其他功能。

  相關鏈接:https://www.openshift.com

  Stackato

  ActiveState的Stackato提供常見的功能特性,包括可定制的應用程序商店、Web管理控制臺、活動流和自助服務。Stackato擁有的其他特性包括:端到端開發(fā)、自動配置、集中式集群管理、動態(tài)負載均衡及彈性擴展、放置區(qū)及可用區(qū)、應用程序自動擴展和持久性文件系統(tǒng)共享。由于實際上采用了自助服務模式,ActiveState可以在短短幾分鐘內(nèi)而不是數(shù)周內(nèi)完成部署。由于屬于開發(fā)者驅(qū)動,Stackato團隊制作了一款出色的開發(fā)、構建和發(fā)布工具。因致力于敏捷企業(yè)這個群體,上市時間是ActiveState為Skackato采用的設計模式的一個關鍵驅(qū)動因素。報告功能涵蓋上市時間、停運時間、使用情況和性能等方面。

  相關鏈接:http://www.activestate.com/stackato

  WSO2 Stratus

  WSO2 Stratos被知名調(diào)研機構加特納集團(Gartner)評為是“有遠見者”,自詡為“最全面的企業(yè)級云解決方案”。它支持的核心服務數(shù)量超過如今市面上的其他PaaS方案;一些企業(yè)力求“將從企業(yè)內(nèi)部實施異構環(huán)境獲得的靈活性和創(chuàng)新擴展到云端”,對它們來說這是不錯的選擇。WSO2 Stratos提供眾多功能,包括可擴展的cartridge架構(可以以插件的模式接入到PHP、MySQL和Tomcat等第三方運行時環(huán)境,支持為WSO2 Carbon產(chǎn)品構建基于Puppet的cartridge,配置以添加多租戶或單租戶cartridge);經(jīng)過改進的云部署支持,可支持多個IaaS(在亞馬遜網(wǎng)絡服務EC2經(jīng)過了全面測試,對OpenStack和vCloud提供試驗性支持;能夠通過jclouds API支持任何IaaS;云突發(fā)可擴展至同時支持多個IaaS;可用于私有云、公有云和混合云等解決方案),而且易于開發(fā)SaaS應用程序(對多租戶和單租戶模式提供內(nèi)置支持,支持用戶身份管理、計量和計費)。PaaS還為數(shù)據(jù)存儲提供了易于訪問、緩存和查詢的功能,還有作為多租戶應用程序的SaaS應用程序,讓每個租戶都可以在旁邊部署自己的自定義邏輯。組件分配協(xié)調(diào)器(ADC)將支持外部的Git和GitHub軟件庫,還包括這項功能:將應用程序日志發(fā)布到集中位置,便于監(jiān)控。

  相關鏈接:http://wso2.com/landing/stratos-donation-to-apache/

  六、開源軟件定義網(wǎng)絡工具

   主流開源云計算軟件大盤點

  Floodlight

  作為一種企業(yè)級OpenFlow控制器(OpenFlow是開放網(wǎng)絡基金會管理的一項開放標準),F(xiàn)loodlight采用了Apache許可證,基于Java。Floodlight是一種開放的SDN控制器,可與通過OpenFlow協(xié)議進行聯(lián)系的虛擬和物理交換機協(xié)同運行。此外,它還能指定用于遠程控制網(wǎng)絡設備的協(xié)議,比如交換機、路由器、虛擬交換機及其他接入點等設備。有了OpenFlow,F(xiàn)loodlight就能遠程控制交換機的數(shù)據(jù)包轉(zhuǎn)發(fā)表、流表規(guī)則、轉(zhuǎn)發(fā)或阻止流量,并且充分利用自定義接口和腳本語言。主要的功能特性包括:模塊裝入系統(tǒng)、極少的依賴項、支持OpenFlow和非OpenFlow網(wǎng)絡以及高性能。Floodlight背后還有一個龐大的社區(qū)在支持OpenStack。

  相關鏈接:http://www.projectfloodlight.org

  Indigo

  開源項目Indigo能夠支持物理交換機上和虛擬機管理程序交換機上的OpenFlow。它還是Big Switch Networks公司的Switch Light交換機軟件的基礎。Indigo為許多流行的交換機提供了固件,因而讓那些交換機可以享用OpenFlow技術。這項技術包括擁有一套核心庫的Indigo代理以及硬件抽象層(HAL),以便與交換機輕松整合,通過Indigo實現(xiàn)轉(zhuǎn)發(fā)和端口管理功能。還有一個抽象層用于交換機上的“混合”模式OpenFlow。Indigo還隨帶一款名為LoxiGen的編譯器,該編譯器可生成編組/反編組(marshalling/unmarshalling)庫。Indigo固件既有預構建的二進制代碼格式,又可以通過虛擬機來分發(fā)源代碼。另外還提供Indigo虛擬交換機,這是與KVM兼容的開源虛擬交換機,包含與OpenFlow整合的Indigo框架。

  相關鏈接:http://www.projectfloodlight.org/indigo/

  OpenStack Networking“Neutron”

  作為OpenStack項目的一部分,Neutron在OpenStack服務(比如Nova)管理的接口設備(比如網(wǎng)卡)之間提供了“網(wǎng)絡即服務”。雖然是OpenStack核心的一部分,Neutron因其規(guī)模以及作為“NaaS”產(chǎn)品的功能而理應得到特別注意。用戶可以構建多層Web應用程序拓撲結構,利用先進的網(wǎng)絡功能(比如端到端服務質(zhì)量或NetFlow監(jiān)控)。先進的網(wǎng)絡功能可以通過插件添加到OpenStack租戶網(wǎng)絡中,比如負載均衡即服務、VPN即服務、防火墻即服務、入侵檢測系統(tǒng)(IDS)即服務和數(shù)據(jù)中心互聯(lián)即服務。Neutron提供了Horizon GUI,可支持Neutron第2層/第3層網(wǎng)絡、子網(wǎng)建立/刪除以及啟動VMson Neutron網(wǎng)絡。還提供了一套API,可以利用該API來編寫擴展件。

  相關鏈接:https://wiki.openstack.org/wiki/Neutron

  Open vSwitch

  作為一種多層軟件交換機,Open vSwitch支持一系列廣泛的功能特性,包括帶干線和接入點的802.1Q虛擬局域網(wǎng)(VLAN)、網(wǎng)卡綁定(帶或不帶LACP上游機制)、NetFlow/sFlow、服務質(zhì)量、通用路由封裝(GRE)、基于IPSEC的GRE、虛擬擴展局域網(wǎng)(VXLAN)、LISP隧道、802.1ag連接故障管理、OpenFlow、通過Linux內(nèi)核的高性能轉(zhuǎn)發(fā)以及事務配置數(shù)據(jù)庫。借助內(nèi)核模塊,Open vSwitch可以完全在用戶空間里面運行,或者作為基于內(nèi)核的交換機,支持多種虛擬化技術,包括Xen/XenServer、KVM和VirtualBox。還特別支持思杰XenServer和紅帽企業(yè)級Linux這兩種主機。Open vSwitch的組件包括:守護程序“ovs-vswitched”、數(shù)據(jù)庫服務器軟件“ovsdb-server”、用于配置查詢和更新的工具“ovs-dpctl”,以及用于管理和監(jiān)控的其他眾多工具。

  相關鏈接:http://openvswitch.org

  七、開源NoSQL數(shù)據(jù)庫

   主流開源云計算軟件大盤點

  Apache Cassandra

  Apache Cassandra這種數(shù)據(jù)庫在硬件、虛擬系統(tǒng)或云基礎設施上提供了可擴展性、高可用性和容錯性。由于列索引、日志結構更新、非規(guī)范化和物化的視圖以及內(nèi)置緩存機制,許多大規(guī)模企業(yè)組織已選擇使用Cassandra,包括Constant Contact、 歐洲原子核研究組織(CERN)、康卡斯特、電子港灣、GitHub、GoDaddy、Hulu、Instagram、Intuit、Netflix、Reddit、美國天氣頻道及其他眾多組織。功能特性包括:自動復制到多個節(jié)點以實現(xiàn)容錯;讓集群節(jié)點保持一樣,避免了單一故障點;更新過程中的同步或異步復制,以及支持讀取/寫入吞吐量,沒有停機時間或干擾。還提供了面向Apache Cassandra的第三方合同支持服務。

  相關鏈接:http://cassandra.apache.org

  CouchDB

  CouchDB是為了滿足Web應用程序數(shù)據(jù)庫的需要而專門編寫的,它缺少一種預定義的數(shù)據(jù)結構(即模式)。CouchDB數(shù)據(jù)存儲在JSON文檔里面,這些文檔含有的名稱字段可以是字符串、數(shù)字、日期或排序列表和關聯(lián)映射。CouchDB支持Web和移動應用程序,可以直接從CouchDB里面提供Web應用程序。CouchDB使用JavaScript來描述,可以聚合、連接和報告數(shù)據(jù)庫文檔,而不影響文檔的底層結構。CouchDB完全分布式、基于對等,服務器和離線客戶機可以擁有同一數(shù)據(jù)庫的獨立復制副本。復制活動包括沖突管理、增量復制及雙向復制、過濾后的復制以及主/從復制和主/主復制。CouchDB用Erlang編程語言編寫而成,內(nèi)置了支持并發(fā)、分布和容錯的機制;語言和運行時環(huán)境能夠充分利用有多個處理器核心的較新硬件。

  相關鏈接:http://couchdb.apache.org

  HBase

  Apache Hbase以在Hadoop分布式文件系統(tǒng)(HDFS,即Apache的Hadoop文件系統(tǒng))上運行而出名,具有分布式、可擴展、安全、高可用性等優(yōu)點。HBase仿照谷歌的BigTable,可處理含有幾十億行和幾百萬列的龐大數(shù)據(jù)表,可以利用同一集群里面多臺服務器上的存儲、內(nèi)存和處理器等資源,那樣數(shù)據(jù)庫就能實現(xiàn)橫向擴展。其他功能特性包括:跨表和列的Kerberos安全性、自動分片、完全一致性,以及便于添加服務器以增加計算容量的向外擴展架構。HBase還有壓縮、內(nèi)存中操作和針對每列的布隆過濾器等功能。MapReduce任務在Hadoop中運行,可以使用HBAse表用于輸入和輸出。

  相關鏈接:http://www.cloudera.com/content/cloudera/en/products-and-services/cdh/hbase.html

  Hypertable

  Hypertable仿照Bigtable(谷歌的大規(guī)模擴展數(shù)據(jù)庫),擁有一種扁平的表結構,采用鍵前綴和塊數(shù)據(jù)壓縮。它與關系數(shù)據(jù)庫沒多少相似之處,除了這一點:它以采用行和列這種形式的信息表來表示數(shù)據(jù)。Hypertable中的行鍵是UTF-8字符串,不支持數(shù)據(jù)類型、連接或事務。Hypertable中的信息以大規(guī)模數(shù)據(jù)表的形式存儲,按行鍵排序,行鍵是唯一的、主要的鍵。Hypertable的其他功能包括:單元版本控制(時間戳)、列修飾符、命名空間(就像文件系統(tǒng)中的目錄層次結構),以及為RangeServer進程添加額外服務器時可實現(xiàn)“實時”擴展。

  相關鏈接:http://www.hypertable.org

  MongoDB

  開源文檔數(shù)據(jù)庫MongoDB用C++編寫而成,是一種NoSQL數(shù)據(jù)庫。功能包括:面向文檔的存儲(JSON式樣的文檔和動態(tài)模式)、支持全面索引(針對任何屬性)、復制和高可用性(跨局域網(wǎng)和廣域網(wǎng))、自動分片(橫向擴展)、查詢、快速就地更新以及映射/化簡。MongoDB還有靈活的聚合和數(shù)據(jù)處理、GridFS(存儲任何大小的文件)、MongoDB管理服務和專業(yè)支持。MongoDB的一大優(yōu)點就是嵌入的文檔和數(shù)組,它們減少了需要開銷很大的連接。此外,動態(tài)模式支持順暢多態(tài),文檔對應于許多編程語言中的原生數(shù)據(jù)類型。

  相關鏈接:https://www.mongodb.org

  Redis

  Redis用ANSI C編寫而成,是一種聯(lián)網(wǎng)的內(nèi)存中鍵值數(shù)據(jù)存儲系統(tǒng)。這是一種大受歡迎的鍵值數(shù)據(jù)存儲系統(tǒng),已經(jīng)與它有著密切關系的語言包括ActionScript、C、C++、C#、Clojure、Common Lisp、Dart、Erlang、Go、Haskell、Haxe、Io、Java、JavaScript(Node.js)、Lua、Objective-C、Perl、PHP、Pure Data、Python、R、Ruby、Scala、Smalltalk和Tcl。主要的功能特性包括:鍵值映射的字典數(shù)據(jù)模型、通過將整個數(shù)據(jù)集存儲到內(nèi)存中實現(xiàn)的持續(xù)性、主從復制以及通過內(nèi)存中存儲提升的性能。Redis還提供開發(fā)階段集群、IaaS和PaaS平臺中易于使用的特點,以及將Radis用作托管服務的功能(沒必要啟動數(shù)據(jù)庫的虛擬機實例)。

  相關鏈接:http://redislabs.com

  Riak

  這種數(shù)據(jù)庫是一種云存儲和分布式數(shù)據(jù)庫相結合的解決方案(Riak CS/Riak),目的在于在私有云和公有云中提供任何規(guī)模的云存儲。Riak具有諸多功能特性:與亞馬遜S3-API兼容、可了解每個租戶的情況(通過網(wǎng)絡輸入/輸出來了解)、支持元數(shù)據(jù)和大對象、多數(shù)據(jù)中心復制及更多功能。Riak中的數(shù)據(jù)在默認情況下具有私密性;訪問控制列表可用來進一步完善數(shù)據(jù)可見性。然而,目前并不支持對“靜態(tài)數(shù)據(jù)”進行加密;數(shù)據(jù)在獲取時沒有經(jīng)過任何壓縮(不過可以由外部應用程序來進行壓縮)。

  相關鏈接:http://docs.basho.com/riakcs/latest/

  八、開源配置工具

   主流開源云計算軟件大盤點

  Axemblr Provisionr

  這個Apache孵化器項目主要是一種跨多個云的虛擬機池管理工具。作為一項簡單的服務,Axemblr Provisionr可以管理幾十個或幾百個虛擬機組成的池。該項目專注于半自動化的工作流程、云移植性和配置管理。為了實現(xiàn)云移植性,API隱藏起來,并做了一些假設,比如平臺運行特定的操作系統(tǒng),擁有預安裝的程序包和庫、DNS設置和網(wǎng)絡配置。該項目的外部依賴項目前都有Apache兼容許可證,比如Activiti(Apache 2.0)、AWS SDK(Apache 2.0)、jclouds(Apache 2.0)和Google Guava(Apache 2.0)。Axemblr目前用于根據(jù)需要在企業(yè)內(nèi)部部署Hadoop集群,用于測試和質(zhì)量保證。

  相關鏈接:http://provisionr.incubator.apache.org

  Cobbler

  Cobbler倡導的口號就是化簡(reduce)、重復使用(reuse)、回收(recycle)。作為支持快速配置網(wǎng)絡環(huán)境的Linux安裝系統(tǒng),Cobbler依賴龐大的模板庫來配置及管理DNS和DHCP之類的服務。為了最大限度地重復使用代碼,kickstart和preseed之類的所有響應文件也都模板化。除了模塊庫外,Cobbler還有一大堆的代碼片段可以嵌入到模板中。目的在于,支持管理員易于使用,并且省去編寫新代碼的時間,讓管理員可以管理和響應。應用程序用Python編寫而成,總共只有大約1.5萬行代碼,就一款企業(yè)應用程序而言異常短小。不過,由于強大的功能特性和豐富的配置選項,又能夠與Puppet之類的配置管理應用程序聯(lián)系起來,Cobbler比其他一些更龐大的資源配置工具更像是一款管理員工具。

  相關鏈接:http://www.cobblerd.org

  JuJu

  Ubuntu的JuJu有一個討巧的主題:charm可通過charm商店來獲取。在你的云上運行JuJu就如同利用GUI或命令行接口來定義、配置、部署、管理、監(jiān)控服務,并將服務擴展到任何公有云或私有云一樣簡單。有了幾乎可以滿足各種要求的charm,通過插件添加新的配置功能就跟部署之前,搜索Ubuntu charm商店,然后將你所需要的charm拖到“畫布”(canvas)上、配置新功能來得一樣容易。charm可以通過服務彼此連接起來,已預先構建,知道與哪些charm兼容。JuJu通過Landscape提供了服務監(jiān)控、警報和額外智能,Ubuntu的這個系統(tǒng)管理工具可用于檢查、重啟和更新運行中的服務。

  相關鏈接:https://juju.ubuntu.com

  Salt Cloud

  雖然號稱使用簡單,但SaltStack在大小、功能多樣性和配置可能性方面類似OpenStack。這款系統(tǒng)和配置管理軟件擁有可高度配置的資源配置功能,支持大多數(shù)基礎設施、云和開發(fā)運營等環(huán)境。Salt Cloud的一些企業(yè)功能包括:通過其基礎設施自動化和云編排,推送拉取遠程執(zhí)行、為數(shù)據(jù)中心工作流程和任務編排詳細描述(overstate)、應用程序配置及持續(xù)部署、混合云配置及管理以及并行管理。SaltStack將一致性和簡單性作為賣點,尤其是憑借Salt聲稱的最低的管理成本和運營成本,單一的獨立式平臺以及根本不需要編程。它還提供了一種高效的配置管理系統(tǒng),根本不需要專有的管理工具、代碼或語言。它有單一的用戶界面和命令行、統(tǒng)一的用戶體驗以及易于部署和管理。

  相關鏈接:http://www.saltstack.com

  Dell Crowbar

  戴爾的Crowbar很惹人注目。戴爾的這種云計算框架最先于2011年在開源大會(OSCON)上開放源代碼,似乎仍然是很重要的框架。Crowbar讓用戶可以簡化在云端配置、部署及使用企業(yè)硬件的任務。戴爾Crowbar用戶可以在線移動硬件,快速高效地安裝和配置應用程序,并且安裝操作系統(tǒng),不必等工作人員架設和配置服務器。Crowbar便于硬件出現(xiàn)故障后快速恢復,還能夠安裝及配置應用程序和操作系統(tǒng),只需要一次。現(xiàn)在添加了Hadoop后,增添了支持多操作系統(tǒng)的功能。一種名為“barclamp”的模塊化概念儼然成形,可用于包裝部署基礎設施的單個層。這些barclamp讓其他應用程序可以通過插件插入到Crowbar框架,充當具有獨特生命周期的獨立模塊,提供其他barclamp可以使用的服務,并執(zhí)行其他眾多操作。

  相關鏈接:http://www.dell.com/learn/us/en/19/cloud-computing/crowbar-software-framework

  九、開源配置管理工具

   主流開源云計算軟件大盤點

  Ansible

  Ansible是一種模型驅(qū)動型配置管理工具,充分利用SSH,改善安全、簡化管理。除了配置管理外,它還能夠讓應用程序部署(甚至多層部署)、工作流程編排和云配置實現(xiàn)自動化,因而Ansible公司喜歡該工具被歸為“編排引擎”這一類。Ansible基于五大設計原則,包括易于使用(不需要編寫腳本或自定義代碼)、易于掌握(對管理員和開發(fā)者來說都是如此)、全面的自動化(讓你可以做到你環(huán)境中的幾乎一切都實現(xiàn)自動化)、高效率(因為它在OpenSSH上運行,因而不依賴內(nèi)存或處理器資源),以及安全性(它天生來得更安全,因為不需要代理、額外端口或根級守護程序)。與其他許多開源項目一樣,Ansible也有一款收費產(chǎn)品,使用一種名為Ansible Tower的Web用戶界面。

  相關鏈接:http://www.ansible.com/home

  CFEngine

  作為市面上最早的功能齊全的配置管理系統(tǒng)之一,CFEngine已推出了好幾個版本,就在操作系統(tǒng)由本地數(shù)據(jù)中心進入到云端的同時,它依然保持了重要地位。作為基礎設施自動化框架的核心,CFEngine還是一種建模和監(jiān)控合規(guī)引擎,它占用很少的資源就能夠運行。按照CFEngine的建議,識別初始預期狀態(tài)的幾個步驟包括如下:1)為你環(huán)境的預期狀態(tài)建模;2)先模擬配置變化,然后再提交;3)驗證預期狀態(tài),為自動自愈準備就緒;4)收集實際狀態(tài)與預期狀態(tài)的差異方面的報告。CFEngine有一個龐大的庫,里面可重復使用的數(shù)據(jù)驅(qū)動型模型將幫助用戶為預期狀態(tài)建模。這些基礎設施模式旨在可以跨整個企業(yè)重復使用。

  相關鏈接:https://cfengine.com

  Chef

  Chef既有一款開源產(chǎn)品,又有一款企業(yè)產(chǎn)品,這種功能強大的工具可用于全面的IT基礎設施配置管理。由于開源Chef同為這兩種產(chǎn)品的核心,共同的功能特性包括:一種靈活、可擴展的自動化平臺,可訪問800多本可重復使用的“食譜”(cookbook),并與領先的云服務提供商整合起來。Chef還提供企業(yè)平臺支持,包括Windows和Solaris,讓你可以創(chuàng)建、啟動和管理OpenStack云。它易于安裝(歸功于“一鍵式”O(jiān)mnibus安裝工具)、系統(tǒng)自動發(fā)現(xiàn)(歸功于Ohai)、基于文本的搜索功能以及支持多種環(huán)境。其他值得注意的功能包括“Knife”命令行接口、測試潛在變化的“模擬執(zhí)行”(Dry Run)模式,以及在單一Chef服務器上管理10000多個節(jié)點的功能。Chef企業(yè)版才有的功能特性包括:可作為主機托管服務來提供、經(jīng)過改進的管理控制臺、集中式活動和資源報告,另外還有“推送”(Push)指揮與控制客戶軟件運行。Chef企業(yè)版還包括多租戶模式、基于角色的訪問控制(RBAC)、高可用性安裝支持及驗證,以及使用LDAP或活動目錄的集中式驗證。

  相關鏈接:http://www.getchef.com

  Puppet

  Puppet最初是一種廣受歡迎的開發(fā)運維工具,如今已迅速成為一股潮流。Puppet用Ruby編寫而成,與Chef一樣,它同樣既有開源版,也有企業(yè)版。不過,雖然Chef為開源版和企業(yè)版都提供了相當豐富的功能特性,而Puppet將大部分功能特性放入到企業(yè)版。開源版隨帶的功能特性包括:資源配置(亞馬遜EC2和谷歌計算引擎),配置管理(操作系統(tǒng)和應用程序),外加Puppet Forge上的2000多個預構建配置。企業(yè)版擁有的功能特性則要多得多,除了開源版的功能外,還包括圖形化用戶界面、事件檢查工具(直觀地顯示基礎設施的變化)、得到支持的模塊和資源配置(VMware虛擬機)。另外還包括配置管理(發(fā)現(xiàn)和用戶帳戶)、編排、任務自動化以及基于角色的訪問控制(支持外部驗證)。Puppet 企業(yè)版還有一個統(tǒng)一的跨平臺安裝工具,可以安裝所有組件和支持服務。

  相關鏈接:http://puppetlabs.com

  Salt

  作為一款更龐大的企業(yè)就緒的應用軟件的一部分,Salt配置管理組件正如人們預料的那樣強大穩(wěn)健、功能齊全。基于遠程執(zhí)行核心而建,系統(tǒng)的執(zhí)行在“minion”節(jié)點上進行;minion節(jié)點收到來自中央Salt主節(jié)點的命令后,返回相應命令的結果。Salt支持同時配置成千上萬個主機的任務。基于主機“狀態(tài)”,根本不需要編程以編寫配置文件;配置文件很短小,易于理解,可以幫助識別每個主機的狀態(tài)。此外,對于確實習慣編程的那些人或想更大程度地控制及熟悉配置文件的管理員來說,可以利用任何語言來進行配置。

人物訪談