對于開源應用程序容器初創公司Docker而言,去年可謂是大好年份。Docker可以幫助應用程序在任何內部環境或云計算環境中高效地運行,不管使用什么樣的運行時系統(runtime)。
Docker一路高歌猛進,其項目在2014年6月發布了1.0穩定版本,當時適逢首屆DockerCon大會在舊金山召開,Docker社區儼然一副日益壯大的態勢。
在2014年,該公司宣布了與微軟、紅帽、谷歌、亞馬遜網絡服務和VMware等業界巨頭達成了一系列合作伙伴關系和整合項目。到年底,Docker聲稱有71379多款應用程序已準備好支持Docker。
基本上準備就緒
Docker的發展勢頭似乎不可阻擋;知名調研機構加特納集團(Gartner)近期的一份報告證實了這一觀點;該報告表明,這項還很新興的技術基本上已為企業做好了準備,不過請注意,重點應放在基本上。
但容器領域并非Docker一家獨大。
首先,讓Docker準備好在生產環境下運行需要更龐大的生態系統伸出援助之手。雖然用Docker容器封裝的應用程序具有良好的可移植性,但是它實際上就待在那里。復制、可擴展性、彈性和安全性都需要其他公司的工具給予幫助。
許多公司都希望借Docker的勢頭大有作為,它們之間的競爭非常激烈。加特納集團的上述報告指出,SELinux和AppArmor是任何準備走Docker這條路的IT部門都應該考慮采用的額外安全層。Asigra已推出了面向容器的專用備份解決方案。谷歌計算引擎、亞馬遜網絡服務和微軟Azure都在竭力證明自己擁有最強大的原生工具,可用于管理、擴展、調度或更新Docker容器。(多年來,谷歌在其數據中心使用自家的Linux容器技術。它積極支持Docker社區:將源代碼移交給Kubernetes這個容器管理項目就是佐證。)
隨便你說出一種功能、需求、工具集或是應用程序,Docker生態系統里面都可能有廠商在已經致力于此。
失去重點?
但是形勢一片大好的應用程序容器領域也存在問題:Docker不希望生態系統的其他人分得一杯羹,至少不是完全。這家公司一直在不遺余力地擴建平臺,增添了更多的容器編排和管理功能。這招來了容器社區的一通批評,容器社區認為Docker這家公司忽視了Docker這個項目當初得以大獲成功的輕量級特性。換句話說,Docker需要適應現有的工具鏈,而不是成為另一個系列的不定因素。
實際上,Docker在2014年年底陷入了很尷尬的境地,當時大受歡迎的、超輕量級Linux內核初創公司CoreOS(它一向態度非常明確地支持Docker平臺)炮轟Docker失去了重點,并發布了自己的容器運行時系統:Rocket。
Docker回應稱他們不同意Rocket公告中“令人質疑的論調”,這種回應不是很有說服力,只是讓大家更相信CoreOS的觀點。
Docker賴以成名的地方是讓容器變得更簡單、更有效,而不是“發明輪子”:自2008年以來,Linux容器(LXC)一直是Linux內核的一部分,而LXC的身世甚至可以進一步追溯到OpenVZ和Solaris容器等技術,甚至可以追溯到1979年和chroot命令。
可此可見,自Docker為這個概念重新注入活力以來,Rocket可能是第一個主要的替代容器,但它不會是最后一個替代容器,沒有什么阻止得了其他公司在這個概念的基礎上開發出自家技術。
虛擬化需求
重要的是記住這點:Docker并不適合每一種使用場合。VMware和Docker似乎是一對怪異的合作伙伴,畢竟前者銷售虛擬化軟件,而后者可以大大減少你需要的虛擬機數量,但要考慮到這一點:Docker非常適合用于封裝跨不同環境運行的新型應用程序,但不是每個應用程序都非常適合這項任務。
比如說,盡管微軟承諾與Docker社區合作,但Windows應用程序在Docker環境下運行起來不是非常高效,而是需要變通方法。
換句話說,VMware等公司仍然可以發揮其作用。在未來很長一段時間,虛擬機在大多數數據中心仍然會有一席之地,盡管Docker和之類的容器為少花錢多辦事提供了一條途徑。(Joyent等一些公司提供了管理VMware/容器混合環境的工具。)
即使一些公司認為容器適合自己,但除了Docker外,容器方面還是有很多的選擇。
英文原文鏈接:http://www.networkworld.com/article/2881554/network-storage/the-world-of-containers-doesnt-end-with-docker.html?phint=newt%3Dnetworkworld_cloud_computing_alert&phint=idg_eid%3D475e06c8cf190e1e94ee321fa5df89c8#tk.NWWNLE_nlt_cloud_security_2015-02-10