OpenStack對Docker來說大材小用嗎?
【原文編者的話】:
作為一款每天都在向成熟演變的、開源的計算資源調(diào)度與配置整合引擎,OpenStack的核心能力是向用戶按需交付虛擬計算能力,它的雄心不止于Docker。
OpenStack和Docker都被認(rèn)為具備讓IT更具靈活性的能力。紅帽的Neil Levine認(rèn)為,OpenStack目前正在努力通過將靜態(tài)IT資源變成彈性基礎(chǔ)設(shè)施來實現(xiàn)這樣的功能,而Docker則通過協(xié)調(diào)開發(fā)、測試和生產(chǎn)資源來實現(xiàn)同樣的目標(biāo)。
盡管Docker的部署正在增長,但OpenStack在某種程度上還顯得有點不溫不火。許多人的看法是,OpenStack的潛在用戶一直都對OpenStack保持著關(guān)注,不過由于復(fù)雜性等諸多原因,OpenStack跨越式發(fā)展的時代還沒有到來。
Docker目前可能是唯一能夠?qū)penStack聚集起來的人氣轉(zhuǎn)變?yōu)樯a(chǎn)力的項目。“Docker+OpenStack”的組合是否適合我們的企業(yè),在很大程度上取決于企業(yè)希望交付什么樣的能力。如果僅僅是Docker,那么OpenStack就可能被大材小用了。
一套交付虛擬機的開源解決方案
OpenStack是一套用于交付虛擬計算能力的運營模式。
一些人給OpenStack下了一個非常寬泛的定義(OpenStack是一套用于為公有云和私有云創(chuàng)建和管理云計算平臺的軟件工具)。但是,如果我們忽視Cinder、Heat和Magnum等輔助服務(wù),那么OpenStack的核心價值將成為——匯聚帶虛擬層功能的計算機池,以及向用戶按需交付虛擬機。
這并非是一件小事情。如果沒有OpenStack,那么單臺計算機上的虛擬層將一事無成,因為它們沒有辦法以程序方式(或其他方式)向用戶提供自己的能力。
在OpenStack或亞馬遜EC2等云系統(tǒng)出現(xiàn)之前,用戶通常只能向IT提交需求清單。隨后,IT管理員會使用GUI或命令行創(chuàng)建一個虛擬機,然后與用戶共享憑證。OpenStack等系統(tǒng)在很有大程度上讓這***程更加流暢,讓IT能夠以程序的方式向用戶交付他們需要的能力。這一點非常重要。
花生醬Docker遇上果醬OpenStack
作為容器領(lǐng)域的寵兒,Docker與之前所述的IaaS(基礎(chǔ)設(shè)施即服務(wù))中的虛擬機非常相似。
一臺Docker主機實際上是用戶所需的計算能力單元,而非容器本身。Docker解決了我們一旦獲得了主機后如何利用主機開展工作的問題,但是它們實際上在一開始并沒有幫助我們獲得主機。
Docker機器提供了一個客戶端工具,可以讓我們從IaaS提供商(例如EC2、OpenStack或vSphere)那里請求Docker主機,但這遠(yuǎn)非一個完整的解決方案。在某種程度上,這源于Docker沒有租戶模式的事實。
通過虛擬層,每個虛擬機都是一個租戶。但是在Docker中,Docker主機是一個租戶。我們通常都不希望多個用戶共享一個Docker主機,因為這樣他們會看到彼此的容器。因此企業(yè)通常會在Docker的底層部署一個云系統(tǒng)以增加租戶。這導(dǎo)致堆??雌饋硐袷牵河布?>虛擬層 > Docker主機 > 容器。
目前常用的方法是采用OpenStack,將它作為企業(yè)平臺以便向用戶按需交付他們所需要的能力。換句話說,用戶先通過OpenStack請求Docker主機,然后使用Docker在Docker主機中運行容器。到目前為止,一切都比較順利。
如果你需要的只是Docker……
當(dāng)我們開始分析需要交付什么樣的能力時,事情就會變得更為復(fù)雜。
當(dāng)企業(yè)希望使用Docker,那么他們需要從數(shù)據(jù)中心那里獲得Docker主機。OpenStack可以做這樣的工作。而除了這一工作外,它們還可以向企業(yè)中的其他團(tuán)隊交付各種不同的能力。
VMware的高管Jared Rosoff告訴我,如果企業(yè)IT團(tuán)隊只需要Docker容器被交付,那么OpenStack或是類似的編排工具可能就會被大材小用了。
對于這類使用案例,我們實際上需要一個新的平臺。該平臺能夠讓企業(yè)在數(shù)據(jù)中心內(nèi)的所有電腦上安裝同一軟件;向開發(fā)者提供接口,在需要時讓開發(fā)者以編程方式創(chuàng)建Docker,然后用Docker在這些主機中創(chuàng)建容器。
谷歌正在通過其Container Engine(容器引擎)為此類案例提供服務(wù)。亞馬遜也正在通過其EC2 Container Service(容器服務(wù))做類似的事情。開發(fā)者可以使用這些API為他們的數(shù)據(jù)中心提供Docker兼容能力。至于Docker,Docker技術(shù)背后的公司似乎也正在努力解決這一問題,將關(guān)注點放在主機本身上。
盡管我們可能不需要創(chuàng)建一個大型的OpenStack云去管理Docker實例,但是如果我們希望交付的僅僅是Docker主機而非虛擬機,那么咨詢一下OpenStack應(yīng)該發(fā)揮什么作用也是值得的。
此外,我們看到谷歌和亞馬遜正在著手解決這一問題,不知道OpenStack或者其支持者們什么時候著手做同樣的工作?由于VMware在虛擬化工具方面長期占據(jù)著統(tǒng)治優(yōu)勢,因此VMware是一個具有明顯優(yōu)勢的候選者。盡管如此,能夠率先解決這一問題、并且能夠以傳統(tǒng)IT所熟悉的接口方式緩解用戶對未來疑慮的公司,不僅能夠在此次戰(zhàn)役中勝出,還會大獲全勝。
原文鏈接:https://www.ustack.com/news/openstack-is-overkill-for-docker/?belong=industry-news