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