有些東西在給OpenStack帶來了二次飛躍的動力,這不僅僅是企業(yè)客戶大型公有云的反彈效應(yīng)。
一方面,OpenStack正在變得更精細(xì)和更“優(yōu)雅”(這在最新的Ocata版本中有所展現(xiàn)。這個版本有一個相對較短的開發(fā)周期,比通常的節(jié)奏提前兩個月,未來的“Pike”版本將恢復(fù)到OpenStack已經(jīng)堅持多年的六個月發(fā)布節(jié)奏)。
Ocata版本的一個重大變化是,OpenStack的Nova計算部分(稱為Cells)的水平擴(kuò)展機制已獲得V2更新,不僅可以用于primetime,而且從Ocata開始默認(rèn)與Nova一起運行。本質(zhì)上,Cells允許Nova計算控制器的多個實例(包括其數(shù)據(jù)庫和隊列)分布在單個集群中,并聯(lián)合管理。 Cells由Rackspace開發(fā),自2012年8月開始投入使用,于2012年正式開發(fā)用于OpenStack的“Grizzly”版本,并可用于在數(shù)據(jù)中心和區(qū)域內(nèi),或者跨區(qū)域聯(lián)合集群化的Nova控制器。
Nova現(xiàn)在還包括一個稱為放置和資源調(diào)度程序的功能 ——它還沒有一個正式的名字。OpenStack基金會執(zhí)行董事Jonathan Bryce表示,這個調(diào)度程序可能最終被釋放并且用于控制OpenStack堆棧其他部分的某些方面。這是一種管理包括云服務(wù)器、存儲設(shè)備、網(wǎng)絡(luò)設(shè)備等資產(chǎn)的新方法——為放置添加智能。例如,它跟蹤設(shè)備的種類及其容量和性能,你可以通過一組API請求在特定資源集合上部署工作負(fù)載,此調(diào)度程序可以發(fā)現(xiàn)這一請求,并通過Nova實現(xiàn)。
第一代和第二代云。
“我們的想法是做第二代云,更容易運行,更具成本效益,讓更多的人愿意部署,從而建立一個良性循環(huán)。”Bryce說, “但是第二代云的另一個屬性是它們能做更多的事情。當(dāng)OpenStack剛剛開始時,它僅僅是基于自助服務(wù)和彈性配置的基本虛擬化,F(xiàn)在它是云原生應(yīng)用程序,也包括SAP和網(wǎng)絡(luò)功能虛擬化工作負(fù)載,F(xiàn)在私有云的成本較低,也做得更多。因此,有一個更智能的調(diào)度程序,確保把NFV工作負(fù)載放到具有高性能網(wǎng)絡(luò)設(shè)備的服務(wù)器上,或者把數(shù)據(jù)分析工作負(fù)載放到具有高性能I / O的服務(wù)器上,從而使得新云能力極強,能夠運行這些新的工作負(fù)載。”
這也是為什么OpenStack的使用在新市場呈爆炸式發(fā)展,特別是中國——在那里沒有成熟的虛擬化玩家,許多公司都是新建安裝。
OpenStack已有七年,成為了一個相當(dāng)成熟的平臺,這得益于數(shù)千軟件工程師的辛勤工作和他們雇主的開明。好奇OpenStack是否像其他開源基礎(chǔ)架構(gòu)組件(如Linux內(nèi)核和包圍它的組件)一樣足夠成熟,是合情合理的。
OpenStack擁有數(shù)以千計的企業(yè)客戶。
“仍有很多事情要做,”Bryce說。“OpenStack有一些非常原始的核心功能,如虛擬化和網(wǎng)絡(luò)化,這些對于運行于任何平臺的工作負(fù)載和應(yīng)用程序來說都是必要的。這些功能很關(guān)鍵,已經(jīng)相當(dāng)穩(wěn)定和成熟,F(xiàn)在令人興奮的工作集中于如何利用和整合基礎(chǔ)設(shè)施以滿足新的工作負(fù)載。”
例如,OpenStack社區(qū)在容器方面取得了很多進(jìn)展。不僅OpenStack本身被容器化以更好地部署和管理,而且容器被添加在虛擬化或裸機的OpenStack云里,用來管理其他在Openstack中運行的應(yīng)用程序。
“當(dāng)通過容器在可編程的基礎(chǔ)設(shè)施之上實現(xiàn)動態(tài)應(yīng)用程序管理時,你能獲得兩個方面的最佳效果。”Bryce說。“但為了實現(xiàn)這一目標(biāo),需要兩者之間的緊密融合。”
正如10年前在x86平臺上流行的基于虛擬機管理程序的服務(wù)器虛擬化一樣,在網(wǎng)絡(luò)和存儲支持容器環(huán)境方面,有許多人哭泣和咬牙切齒。因此,OpenStack將Neutron虛擬網(wǎng)絡(luò)與Cinder塊存儲和Kubernetes容器調(diào)度程序相結(jié)合,或者將Nova計算與Cinder塊存儲和Docker容器運行時相結(jié)合。Kuryr項目提供了Docker和Neutron之間的鏈接,因此名為“courier”,此外一個名為Fuxi的子項目以類似的方式將Cinder塊存儲和Manila共享文件系統(tǒng)連接到Docker。