OpenStack與ZStack深度對比:架構(gòu)、部署、計算存儲與網(wǎng)絡(luò)、運(yùn)維監(jiān)控等

OpenStack從2010年開源至今,已經(jīng)走過8個年頭,其正在進(jìn)入主流企業(yè)市場,但該項目依然面臨較難部署和管理的老問題。有一點(diǎn)是毫無疑問的,那就是OpenStack保持著高速增長的態(tài)勢,超過585家企業(yè),接近4萬人通過各種方式支持著這個超過2000萬行的開源項目的持續(xù)發(fā)展。

ZStack項目初始于2015年,相對OpenStack要年輕很多,由于其具有易用、穩(wěn)定、靈活、超高性能等特點(diǎn),迅速成為市場的新寵兒,其功能在不斷的完善,其性能在不斷的加強(qiáng)。發(fā)展以及成熟的速度遠(yuǎn)快于OpenStack,其市場認(rèn)可程度不弱于OpenStack。

介紹

OpenStack是一個開源的云計算管理平臺項目,由幾個主要的組件組合起來完成具體工作。OpenStack支持幾乎所有類型的云環(huán)境,項目目標(biāo)是提供實(shí)施簡單、可大規(guī)模擴(kuò)展、豐富、標(biāo)準(zhǔn)統(tǒng)一的云計算管理平臺。OpenStack通過各種互補(bǔ)的服務(wù)提供了基礎(chǔ)設(shè)施即服務(wù)(IaaS)的解決方案,每個服務(wù)提供API以進(jìn)行集成。開源于2010年,當(dāng)前最新版本Queens。

ZStack是下一代開源的云計算IaaS(基礎(chǔ)架構(gòu)即服務(wù))軟件。它主要面向的是未來的智能數(shù)據(jù)中心,通過提供全完善的API來管理包括計算、存儲和網(wǎng)絡(luò)在內(nèi)的數(shù)據(jù)中心的各種資源。ZStack具有易用、穩(wěn)定、靈活、超高性能等特點(diǎn)。分為商業(yè)版以及開源社區(qū)版本。起步于2015年,當(dāng)前最新版本2.5.1。

架構(gòu)

OpenStack架構(gòu)圖如下圖。以前有個朋友吐槽說,這是一群小蜘蛛在結(jié)網(wǎng),雖然有序,但每一個小蜘蛛的網(wǎng)都不盡相同。當(dāng)這些網(wǎng)連起來的時候,就會讓人看的眼花繚亂。因?yàn)槊恳淮蔚恼埱笕蝿?wù)都需要在各個子系統(tǒng)之間來回協(xié)調(diào),任何一處出問題,都將導(dǎo)致創(chuàng)建失敗。比如當(dāng)創(chuàng)建虛擬機(jī)的時候,需要從認(rèn)證,計算,網(wǎng)絡(luò),鏡像,存儲等環(huán)節(jié)都走通,否則就不要想創(chuàng)建一個健康運(yùn)行的虛擬機(jī)。下面的圖展示出了OpenStack的主要的幾個組件的調(diào)用關(guān)系。

OpenStack與ZStack深度對比:架構(gòu)、部署、計算存儲與網(wǎng)絡(luò)、運(yùn)維監(jiān)控等

消息隊列在OpenStack整個架構(gòu)中扮演著至關(guān)重要的作用,正是因?yàn)镺penStack部署的靈活性、模塊的松耦合、架構(gòu)的扁平化,反而使OpenStack更加依賴于消息隊列,所以消息隊列收發(fā)消息的性能和消息隊列的HA能力直接影響OpenStack的性能。最典型的場景就是如果當(dāng)大量的監(jiān)控數(shù)據(jù)充斥著消息隊列時,平臺性能將呈現(xiàn)直線下滑。下圖展示出了OpenStack中消息隊列關(guān)系。

OpenStack與ZStack深度對比:架構(gòu)、部署、計算存儲與網(wǎng)絡(luò)、運(yùn)維監(jiān)控等

OpenStack相比,ZStack服務(wù)之間的交互調(diào)用要簡單很多,消息隊列為核心,所有服務(wù)交互都通過消息隊列,結(jié)構(gòu)拓?fù)涑尸F(xiàn)星狀,簡單直接,因而核心出問題就會影響到大多數(shù)的功能。但全異步架構(gòu)以及無狀態(tài)服務(wù)大大加強(qiáng)了平臺的健壯。ZStack的強(qiáng)一致性使其很簡單就可以實(shí)現(xiàn)HA,而無需像OpenStack那樣必須借助第三方工具實(shí)現(xiàn)HA高可用。下圖展示了ZStack的星形拓?fù)浣Y(jié)構(gòu)。

OpenStack與ZStack深度對比:架構(gòu)、部署、計算存儲與網(wǎng)絡(luò)、運(yùn)維監(jiān)控等

部署

安裝一直是OpenStack的幾大難題之一,尤其是對剛接觸到OpenStack的新人而言。這也客觀上提高了大家學(xué)習(xí)OpenStack云計算的技術(shù)門檻。筆者13年開始接觸OpenStack,有幸在公司申請到三臺高配的物理服務(wù)器一個月的使用權(quán)限。作為一個OpenStack小白,當(dāng)時的規(guī)劃是一星期的安裝,一星期的架構(gòu)學(xué)習(xí),兩星期的綜合學(xué)習(xí),最后變成一個月都是在安裝。想想,直到現(xiàn)在都是滿眼心酸淚。當(dāng)然這都是早時期,現(xiàn)在針對部署與安裝也有了很多工具,比如puppet,ansible,容器化的kolla。雖然這些工具也大大簡化了OpenStack的部署安裝,但是依然卻無法解決openstack運(yùn)維的復(fù)雜度,更不用說后續(xù)新版本的升級。

安裝部署以及升級對ZStack而言,從來都是簡單,快速,無感。ZStack自定義了ISO,封裝了網(wǎng)絡(luò)配置以及ZStack服務(wù)管理的命令,哪怕是一個運(yùn)維小白也能夠很快安裝好一個ZSack平臺,不需要太長的學(xué)習(xí)周期。同時官方文檔以及案例都很齊全,有任何問題只要在官方群里留言都能獲取ZStack一線工程師快速的恢復(fù)。

計算、存儲與網(wǎng)絡(luò)

OpenStack的計算,存儲,網(wǎng)絡(luò)組件分別是nova,cinder,neutron。其中nova作為最早期的項目,其成熟度已經(jīng)很高,穩(wěn)定性已經(jīng)大大加強(qiáng),功能也在不停的擴(kuò)展。比如GPU支持,裸機(jī)管理,heat編排,容器編排,大數(shù)據(jù)計算等。cinder作為核心的塊存儲模塊在openstack中提供著至關(guān)重要的角色,后端支持ceph,lvm,glusterfs,nfs以及各種商業(yè)存儲,配置比較麻煩,需要更改配置文件,調(diào)試,重啟服務(wù),甚至是更改代碼去適配對應(yīng)的存儲。至于云主機(jī)默認(rèn)是不支持增量快照的,只支持全量備份功能,針對傳統(tǒng)的系統(tǒng)盤龐大的情況,會影響效率,浪費(fèi)磁盤空間。

neutron是網(wǎng)絡(luò)管理模塊,底層支持flat,vlan,vxlan,gre等網(wǎng)絡(luò)模式。neutron支持多種高級特性,比如vpn功能,負(fù)載均衡功能,HA功能,DVR功能??捎眯赃€是比較強(qiáng)的,而且針對很多廠商的網(wǎng)絡(luò)設(shè)備都有plugin支持。當(dāng)然,neutron的效率,復(fù)雜性也是容易讓人詬病的,至今,已經(jīng)有多次的代碼重構(gòu)。當(dāng)然,重構(gòu)也不僅僅是因?yàn)榇a混亂復(fù)雜以及效率低的問題,同時也是為了能夠與openstack的其他項目,如容器的kuryr等項目更好的結(jié)合使用。

相對而言ZStack就會簡單容易很多。ZStack在一鍵安裝之后,無論是計算,存儲還是網(wǎng)絡(luò),都只要在頁面控制臺點(diǎn)擊操作相應(yīng)的資源,不涉及到任何后端復(fù)雜配置修改。配置修改實(shí)時生效,也不需要重啟任何服務(wù)。ZStack計算節(jié)點(diǎn)頁面添加,擁有動態(tài)擴(kuò)容,實(shí)時監(jiān)控,自動愈合等多種特性,無需過多的人工參與。不管是開源的ceph,glusterf,nfs還是商業(yè)的Fusionstor,san光釬存儲,頁面直接添加。云主機(jī)與云盤都支持增量快照,全量備份功能,這一點(diǎn)與OpenStack完全相反。

ZStack的網(wǎng)絡(luò)模型是二層+三層,二層決定了是novlan,vlan,vxlan的類型,三層決定了是扁平,路由,vpc的類型。網(wǎng)絡(luò)靈活配置。同時,物理網(wǎng)卡支持復(fù)用,可以創(chuàng)建多個同種類型的二層網(wǎng)絡(luò)。支持分布式網(wǎng)絡(luò),可以緩解dns的壓力與優(yōu)化東西向的流量,云路由網(wǎng)絡(luò)以及vpc網(wǎng)絡(luò)是使用優(yōu)化過的vyos作為平臺路由器,配置簡單,支持多種高級特性,可以支持熱遷移,支持分布式,穩(wěn)定性以及性能都不錯。雖然不支持HA功能,但是自愈能力強(qiáng)。vyos本質(zhì)上是虛擬機(jī),因此會占一定的宿主機(jī)資源,性能與物理設(shè)備相比較而言會有部分損耗。

運(yùn)維監(jiān)控

早期的OpenStack云平臺監(jiān)控項目Ceilometer被一分為四(Ceilometer、Gnocchi、Aodh、Panko),各司其職!其中Ceilometer負(fù)責(zé)采集計量數(shù)據(jù)并加工預(yù)處理;Gnocchi主要用來提供資源索引和存儲時序計量數(shù)據(jù);Aodh主要提供預(yù)警和計量通知服務(wù);Panko主要提供事件存儲服務(wù)。促成Ceilometer分裂的主要原因是性能開銷很大,并且隨著時間的推移性能瓶頸會愈加明顯直至奔潰。至于底層運(yùn)維監(jiān)控可以使用zabbix,也可以集成到現(xiàn)有的ceilometer體系中。至今,OpenStack已經(jīng)發(fā)展到Queens版本,監(jiān)控依然是其性能瓶頸之一。dashboard默認(rèn)沒有集成監(jiān)控與告警,需要額外的自定義開發(fā)。

ZStack的監(jiān)控方案采用開源prometheus和influxdb,監(jiān)控信息存儲在prometheus數(shù)據(jù)庫,告警則使用prometheus自帶的alertmanager,至于事件以及審計等信息存儲在influxdb與mysql數(shù)據(jù)庫中。平臺擁有大多數(shù)的監(jiān)控項,支持自定義告警項添加,但暫時還未支持模板方式批量添加監(jiān)控告警項。借助于prometheus的高效率的函數(shù)計算以及匯聚,zstack也提供了監(jiān)控大屏和監(jiān)控top5的功能,有助于實(shí)時分析平臺的資源使用情況。當(dāng)然,openstack也可以借助prometheus或者zabbix實(shí)現(xiàn)類似的功能。

其他

OpenStack是當(dāng)前最流行,同時也是目前最為流行的開源云操作系統(tǒng)框架。OpenStack提供的不僅僅提供IAAS的服務(wù),同時也提供PAAS服務(wù),不管其孵化項目是否成熟,但至少擁有了一個開放,廉價的解決方案,比如數(shù)據(jù)庫服務(wù),容器服務(wù),大數(shù)據(jù)處理,裸機(jī)管理,計費(fèi)管理等項目。國內(nèi)的也有公有云等借助或者借鑒OpenStack,而實(shí)現(xiàn)了自身的安全穩(wěn)定的公有云平臺。而也有專業(yè)的OpenStack廠商實(shí)現(xiàn)了私有云或混合云平臺。近幾年來,OpenStack借助國家去IOE的策略,已經(jīng)遍布多家銀行,政企以及運(yùn)營商。

相對OpenStack,ZStack依然很年輕。其核心以是私有云與混合云為主,主要提供IAAS服務(wù),核心代碼開源,提供企業(yè)版本。幾乎每個月都會發(fā)布一個新版本,但是升級基本不會存在任何問題,一句命令全部搞定,這一點(diǎn)是OpenStack遠(yuǎn)遠(yuǎn)比不上的。盡管如此,當(dāng)前在某些方面,ZStack還是無法替代openstack相比,比如容器服務(wù),數(shù)據(jù)庫服務(wù),大數(shù)據(jù)管理等。至于以后ZStack是否會添加新功能,那要等以后再說。

總結(jié)

本文主要是從運(yùn)維管理,計算,存儲,網(wǎng)絡(luò)等方面對OpenStack與ZStack進(jìn)行了簡單的對比,兩者各有優(yōu)劣。筆者認(rèn)為,OpenStack適合有研發(fā)能力,有較高的運(yùn)維能力,有PAAS甚至是SAAS需要的組織。ZStack能夠提供一整套安全可靠,方便快捷的私有云或者混合云環(huán)境,ZStack更加適合資源有限,沒有辦法投入太多在研發(fā)以及運(yùn)維上的組織。當(dāng)然,這也并不是絕對的,利用ZStack或者OpenStack實(shí)現(xiàn)私有云都不乏案例。至于是選擇OpenStack還是ZStack還是要結(jié)合真實(shí)的需求。

作者:祝祥 新鈦云服運(yùn)維架構(gòu)師

十年運(yùn)維經(jīng)驗(yàn),曾任刻通云運(yùn)維工程師、微燭云和某互聯(lián)網(wǎng)金融平臺首席運(yùn)維架構(gòu)師。擁有OpenStack、CCIE、阿里云、ZStack等技術(shù)認(rèn)證。有上萬臺云主機(jī),PB級別分布式存儲運(yùn)維經(jīng)驗(yàn)。熟悉各種虛擬化技術(shù),軟硬件,網(wǎng)絡(luò),容器編排等技術(shù),擁有python開發(fā)經(jīng)驗(yàn)。熱愛各種開源技術(shù)。

極客網(wǎng)企業(yè)會員

免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯誤、不確或遺漏,概不負(fù)任何法律責(zé)任。任何單位或個人認(rèn)為本網(wǎng)站中的網(wǎng)頁或鏈接內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時,應(yīng)及時向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。

2018-07-31
OpenStack與ZStack深度對比:架構(gòu)、部署、計算存儲與網(wǎng)絡(luò)、運(yùn)維監(jiān)控等
OpenStack從2010年開源至今,已經(jīng)走過8個年頭,其正在進(jìn)入主流企業(yè)市場,但該項目依然面臨較難部署和管理的老問題。

長按掃碼 閱讀全文