主流開源云計(jì)算軟件大盤點(diǎn)

責(zé)任編輯:editor005

作者:布加迪編譯

2015-08-13 14:32:39

摘自:51CTO

雖然市面上有數(shù)量眾多的商業(yè)軟件可用于構(gòu)建云基礎(chǔ)設(shè)施,但是在你開始花血汗錢之前,也許應(yīng)該看一下可供使用的開源方案。對(duì)于確實(shí)習(xí)慣編程的那些人或想更大程度地控制及熟悉配置文件的管理員來說,可以利用任何語言來進(jìn)行配置。

  開源云計(jì)算軟件的若干優(yōu)點(diǎn)

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

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

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

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

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

這樣的應(yīng)用程序和解決方案就包括如下: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及另外許多。

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

一、開源虛擬機(jī)管理程序

  Xen云平臺(tái)(XCP)

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

相關(guān)鏈接:http://www.xenproject.org

KVM

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

相關(guān)鏈接:http://www.linux-kvm.org

VirtualBox

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

相關(guān)鏈接:https://www.virtualbox.org

OpenVZ

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

相關(guān)鏈接:http://openvz.org/Main_Page

LXC

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

相關(guān)鏈接:https://linuxcontainers.org

二、開源云設(shè)備

  Bitnami

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

相關(guān)鏈接:https://bitnami.com

BoxGrinder

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

相關(guān)鏈接:http://boxgrinder.org

Oz

Oz是為了便于自動(dòng)安裝操作系統(tǒng)而開發(fā)的,它從用戶獲得首次安裝的極少輸入后,迅速推出一個(gè)完整的系統(tǒng)。Oz可以安裝操作系統(tǒng)、定制操作系統(tǒng),并生成程序包清單文件。不過,Oz方面有些地方需要手動(dòng)維護(hù)。就新的操作系統(tǒng)和版本而言,它們需要手動(dò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)的安裝就像它安裝在裸機(jī)系統(tǒng)上一樣。

相關(guān)鏈接:https://github.com/clalancette/oz/wiki

SUSE Studio

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

相關(guān)鏈接:https://susestudio.com

三、開源計(jì)算云(IaaS)

  Apache CloudStack

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

相關(guān)鏈接:http://cloudstack.apache.org

Eucalyptus

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

相關(guān)鏈接:https://www.eucalyptus.com

OpenNebula

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

相關(guān)鏈接:http://opennebula.org

OpenStack

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

相關(guān)鏈接:https://www.openstack.org

四、開源云存儲(chǔ)軟件

  GlusterFS

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

相關(guān)鏈接:http://www.gluster.org

Ceph

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

相關(guān)鏈接:http://ceph.com

OpenStack

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

相關(guān)鏈接:https://www.openstack.org

Sheepdog

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

相關(guān)鏈接:http://sheepdog.github.io/sheepdog/

五、開源平臺(tái)即服務(wù)(PaaS)

  Cloud Foundry

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

相關(guān)鏈接:http://cloudfoundry.org

Cloudify

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

相關(guān)鏈接:http://getcloudify.org

OpenShift

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

相關(guān)鏈接:https://www.openshift.com

Stackato

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

相關(guān)鏈接:http://www.activestate.com/stackato

WSO2 Stratus

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

相關(guān)鏈接:http://wso2.com/landing/stratos-donation-to-apache/

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

  Floodlight

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

相關(guān)鏈接:http://www.projectfloodlight.org

Indigo

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

相關(guān)鏈接:http://www.projectfloodlight.org/indigo/

OpenStack Networking“Neutron”

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

相關(guān)鏈接:https://wiki.openstack.org/wiki/Neutron

Open vSwitch

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

相關(guān)鏈接:http://openvswitch.org

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

  Apache Cassandra

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

相關(guān)鏈接:http://cassandra.apache.org

CouchDB

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

相關(guān)鏈接:http://couchdb.apache.org

HBase

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

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

Hypertable

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

相關(guān)鏈接:http://www.hypertable.org

MongoDB

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

相關(guān)鏈接:https://www.mongodb.org

Redis

Redis用ANSI C編寫而成,是一種聯(lián)網(wǎng)的內(nèi)存中鍵值數(shù)據(jù)存儲(chǔ)系統(tǒng)。這是一種大受歡迎的鍵值數(shù)據(jù)存儲(chǔ)系統(tǒng),已經(jīng)與它有著密切關(guān)系的語言包括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ù)模型、通過將整個(gè)數(shù)據(jù)集存儲(chǔ)到內(nèi)存中實(shí)現(xiàn)的持續(xù)性、主從復(fù)制以及通過內(nèi)存中存儲(chǔ)提升的性能。Redis還提供開發(fā)階段集群、IaaS和PaaS平臺(tái)中易于使用的特點(diǎn),以及將Radis用作托管服務(wù)的功能(沒必要啟動(dòng)數(shù)據(jù)庫的虛擬機(jī)實(shí)例)。

相關(guān)鏈接:http://redislabs.com

Riak

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

相關(guān)鏈接:http://docs.basho.com/riakcs/latest/

八、開源配置工具

  Axemblr Provisionr

這個(gè)Apache孵化器項(xiàng)目主要是一種跨多個(gè)云的虛擬機(jī)池管理工具。作為一項(xiàng)簡單的服務(wù),Axemblr Provisionr可以管理幾十個(gè)或幾百個(gè)虛擬機(jī)組成的池。該項(xiàng)目專注于半自動(dòng)化的工作流程、云移植性和配置管理。為了實(shí)現(xiàn)云移植性,API隱藏起來,并做了一些假設(shè),比如平臺(tái)運(yùn)行特定的操作系統(tǒng),擁有預(yù)安裝的程序包和庫、DNS設(shè)置和網(wǎng)絡(luò)配置。該項(xiàng)目的外部依賴項(xià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ì)量保證。

相關(guān)鏈接:http://provisionr.incubator.apache.org

Cobbler

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

相關(guān)鏈接:http://www.cobblerd.org

JuJu

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

相關(guān)鏈接:https://juju.ubuntu.com

Salt Cloud

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

相關(guān)鏈接:http://www.saltstack.com

Dell Crowbar

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

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

九、開源配置管理工具

  Ansible

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

相關(guān)鏈接:http://www.ansible.com/home

CFEngine

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

相關(guān)鏈接:https://cfengine.com

Chef

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

相關(guān)鏈接:http://www.getchef.com

Puppet

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

相關(guān)鏈接:http://puppetlabs.com

Salt

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

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2024 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)