編者按:通過(guò)多年的發(fā)展,VMWare在虛擬化市場(chǎng)處于領(lǐng)軍地位,很多企業(yè)部署了VMWare虛擬化方案,隨著OpenStack云計(jì)算平臺(tái)的快速崛起,很多企業(yè)都面臨一個(gè)問(wèn)題:能否、以及如何整合VMWare和OpenStack來(lái)最佳化已有的投資和對(duì)接未來(lái)的趨勢(shì)?來(lái)自RackSpace的Kenneth Hui從不同角度分享了他的思考,而且給出了VMware vSphere與OpenStack整合的推薦方案。
在過(guò)去12個(gè)月中,“OpenStack 目前已經(jīng)在風(fēng)口浪尖之上” 這句話我們已經(jīng)從運(yùn)營(yíng)商或分析師口中聽到了?可事實(shí)上,很多公司仍在評(píng)估OpenStack并且試圖確定如何將OpenStack與公司的IT策略整合。這也符合云計(jì)算等前沿技術(shù)的發(fā)展規(guī)律,個(gè)人的觀點(diǎn)是:OpenStack正在經(jīng)歷由技術(shù)創(chuàng)新、實(shí)踐向主流應(yīng)用普及的發(fā)展過(guò)程。
我也和很多在早期就開始評(píng)估或在小型項(xiàng)目中應(yīng)用OpenStack的公司談過(guò),他們的大多數(shù)如今還是VMware的忠實(shí)客戶,并且運(yùn)行的也都是傳統(tǒng)應(yīng)用,他們非常明白OpenStack不可忽視,但是他們很難真正理解OpenStack的真正價(jià)值,也很難理解它是如何影響他們的vSphere環(huán)境的。我們談話中最常出現(xiàn)的問(wèn)題如下:
OpenStack作為一個(gè)開源的虛擬機(jī)管理器,它能否替代我當(dāng)前的ESXi 服務(wù)器么?在OpenStack和vSphere之間,有沒(méi)有一些特色功能的差異?如高可用性、vMotion,分布式資源調(diào)度等。我們能否或者應(yīng)否將OpenStack與vSphere混合使用?有沒(méi)有一些原因讓我們同時(shí)運(yùn)行OpenStack和vSphere?
我對(duì)于這些問(wèn)題的答案通常從三個(gè)方面來(lái)說(shuō)明問(wèn)題的答案:
最開始對(duì)于我個(gè)人來(lái)說(shuō),當(dāng)我與客戶談起vSphere和OpenStack時(shí),重點(diǎn)要強(qiáng)調(diào)的就是傳統(tǒng)應(yīng)用架構(gòu)與云計(jì)算架構(gòu)的設(shè)計(jì)理念的不同。在這里,我想把重點(diǎn)放在基于虛擬化技術(shù)的傳統(tǒng)應(yīng)用架構(gòu)上來(lái),如ESX虛擬機(jī)管理器和vSphere,他們作為虛擬化技術(shù)的突出代表,可以在少數(shù)大型服務(wù)器之上虛擬化出很多小型服務(wù)器。這種工作機(jī)制在應(yīng)用是單一架構(gòu)時(shí)表現(xiàn)得相當(dāng)不錯(cuò),如Oracle或者M(jìn)icrosoft Exchange。今天,每一個(gè)這種傳統(tǒng)類型應(yīng)用都包裹在一個(gè)單獨(dú)的虛擬機(jī)之中,只能通過(guò)ESXi虛擬機(jī)管理器擴(kuò)展應(yīng)用規(guī)模。在傳統(tǒng)架構(gòu)下,高可用的實(shí)現(xiàn)可以通過(guò)集群應(yīng)用來(lái)實(shí)現(xiàn),比如Oracle的Real Application Clusters;然而這同時(shí)也是非常復(fù)雜且昂貴的,并且大多數(shù)應(yīng)用不支持集群式部署。大多數(shù)VMware用戶則會(huì)選擇將應(yīng)用服務(wù)器作為虛擬機(jī)運(yùn)行在vSphere集群之上,依賴于vSphere的高可用性和vMotion來(lái)提供基礎(chǔ)架構(gòu)的恢復(fù)和冗余。誠(chéng)然這些解決辦法都可以實(shí)現(xiàn)高可用,但是他們都需要特定的部署架構(gòu),如依賴共享存儲(chǔ)等,這也一定程度地給架構(gòu)的擴(kuò)展性帶來(lái)挑戰(zhàn)。
云計(jì)算,較比傳統(tǒng)虛擬化技術(shù)而言,更加適合不同類型的應(yīng)用,如MongoDB和Hadoop。 像OpenStack這樣的云平臺(tái),在最初就被設(shè)計(jì)成適應(yīng)分布式應(yīng)用的架構(gòu),應(yīng)用的組件在OpenStack平臺(tái)中跨越了多個(gè)物理或虛擬設(shè)備。這些類型的應(yīng)用也被設(shè)計(jì)成隨著規(guī)模的增加,可以通過(guò)添加應(yīng)用實(shí)例或者重新平衡應(yīng)用實(shí)例間的負(fù)載;另一個(gè)云計(jì)算平臺(tái)背后的設(shè)計(jì)原則是,鑒于應(yīng)用的分布式特性,應(yīng)用彈性控制權(quán)是掌握在應(yīng)用自身手里而不在底層基礎(chǔ)架構(gòu)平臺(tái)手中。OpenStack這種設(shè)計(jì)常常被VMware領(lǐng)域的同學(xué)們所誤解為是它的確定或者不成熟的地方,“缺乏”如vSphere 高可用這種功能被看作是OpenStack還沒(méi)有在生產(chǎn)級(jí)領(lǐng)域準(zhǔn)備好。
但是,這是傳統(tǒng)應(yīng)用架構(gòu)與云計(jì)算架構(gòu)的設(shè)計(jì)理念不同所帶來(lái)的誤解。在云上運(yùn)行的分布式應(yīng)用(業(yè)內(nèi)稱此類型應(yīng)用為“原生云應(yīng)用”)已經(jīng)降低了應(yīng)用部署花費(fèi)和可用性的門檻。通過(guò)將應(yīng)用的彈性化需求轉(zhuǎn)移,云平臺(tái)不再需要共享所有資源的架構(gòu)如應(yīng)用共享存儲(chǔ)。這種改變促進(jìn)了用戶對(duì)構(gòu)建高可擴(kuò)展性云平臺(tái)的需求,不單單是基礎(chǔ)架構(gòu)層,架構(gòu)需要設(shè)計(jì)成包含多層以更加適合下一代大規(guī)模應(yīng)用的部署。
消費(fèi)模式
一旦客戶了解了以上兩種架構(gòu)設(shè)計(jì)原則的不同,我們就可以開始討論不同架構(gòu)的消費(fèi)模式問(wèn)題了。這里也將區(qū)分這兩種消費(fèi)模式的不同。比如:
除了在我們自己的數(shù)據(jù)中心上運(yùn)行裸機(jī)服務(wù)器和虛擬化技術(shù),公司可以應(yīng)用主機(jī)托管產(chǎn)品,如Rackspace的專用vCenter產(chǎn)品或在VMware的vCloud混合云產(chǎn)品。這兩者都是建立在VMware技術(shù)基礎(chǔ)之上,為用戶提供虛擬化解決方案。兩者的設(shè)計(jì)架構(gòu)都較適用于那些不需要塊數(shù)部署的、不依賴虛擬化基礎(chǔ)設(shè)施提供彈性和可擴(kuò)展性的傳統(tǒng)型應(yīng)用。
相比之下,云計(jì)算型架構(gòu)的消費(fèi)模式通常開始于公有云的使用,將來(lái)向私有云部署上擴(kuò)展。在這里,我們關(guān)注的重點(diǎn)仍是通過(guò)常用商用硬件能夠?qū)崿F(xiàn)快速資源供給、高可擴(kuò)展、適應(yīng)下一代應(yīng)用的云架構(gòu)。
vSphere與OpenStack整合
到目前為止我們應(yīng)該很清楚了,VMware vSphere與OpenStack兩者任何一個(gè)都無(wú)法滿足多種應(yīng)用類型。Rackspace就有一些用戶,由于他們應(yīng)用的分布式本質(zhì),用戶已經(jīng)將應(yīng)用放到基于OpenStack的共有云或私有云之上了。相反,大多數(shù)用戶都運(yùn)營(yíng)著傳統(tǒng)型應(yīng)用,這些應(yīng)用通常運(yùn)行在裸機(jī)或在虛擬化架構(gòu)之上,并且它們并不那么容易地去遷移到如OpenStack這樣的云架構(gòu)之上。對(duì)于這些用戶,共存、非替代可能是應(yīng)用OpenStack的正確之道。這條混合之路通常伴隨三種解決方案,如下:
孤島型架構(gòu)是用戶選擇最多的。通常,這種方案涉及到保存在vSphere上的現(xiàn)有遺留傳統(tǒng)應(yīng)用和在獨(dú)立OpenStack云上建立新應(yīng)用的抉擇。雖然這是最最無(wú)痛的融合OpenStack的解決方案,但是它保持了IT基礎(chǔ)架構(gòu)的孤島劣勢(shì),并且增加了運(yùn)維和復(fù)雜性,通常我們需要兩個(gè)獨(dú)立團(tuán)隊(duì)去維護(hù)這兩套獨(dú)立系統(tǒng),這也會(huì)帶來(lái)額外的開銷。
另一種解決方案是基于VMware已完成的工作將vSphere與OpenStack相集成。這種方案類似于孤島型解決方案,傳統(tǒng)型應(yīng)用仍然運(yùn)行在vSphere之上,而新的下一代應(yīng)用則運(yùn)行在新的虛擬機(jī)管理器之上,如KVM或在XEN。在這種情況下,OpenStack成為多虛擬機(jī)管理器的控制平臺(tái),它將允許新創(chuàng)建的應(yīng)用被分配到最適合他們的虛擬機(jī)管理平臺(tái)之上。這種架構(gòu)的主要缺點(diǎn)是vSphere與OpenStack整合這種方案非常新,這帶來(lái)了很多問(wèn)題,比如兩平臺(tái)的整合邊緣過(guò)于粗糙仍需改進(jìn),比如平臺(tái)的資源如何調(diào)度等問(wèn)題仍然需要解決。
上圖是Rackspace給出的OpenStack與vSphere混合解決方案。在分離管理平臺(tái)這方面,這種架構(gòu)非常像孤島型架構(gòu),此外,它還保證不同類型應(yīng)用可以被部署到合適的虛擬機(jī)管理平臺(tái)之上。
這里的目標(biāo)是保持架構(gòu)的獨(dú)立,整合兩個(gè)環(huán)境的運(yùn)維團(tuán)隊(duì)使他們可以共同工作來(lái)打造一個(gè)集成的平臺(tái)。這其中的一個(gè)關(guān)鍵是應(yīng)用技術(shù),如Rackspace的RackConnect把這些基礎(chǔ)架構(gòu)連接起來(lái),使每個(gè)架構(gòu)都可以與其他架構(gòu)協(xié)同工作。這里舉一個(gè)例子,一個(gè)應(yīng)用運(yùn)行在基于OpenStack的Rackspace私有云之上,通過(guò)RackConnect與運(yùn)行在vSphere集群上的Oracle數(shù)據(jù)庫(kù)相連接。