虛擬化技術的昨天、今天和明天
本文會分別討論Docker和OS虛擬化。然后解密作者深入分析數據之后發現的虛擬化領域正在和沒有發生的事情。
我在Docker(前身是dotCloud,后來改名為Docker)創建之后的這幾年里,通過和Docker員工以及包括Ben Golub和創始人Solomon Hykes在內的核心主管們收獲了很多,然后根據我的感想寫下了這篇文章。
除了直接和Docker團隊溝通并深入討論,我還在前四天里完成了一些面試。這些面試包括針對Docker技術的一系列標準問題和探討,包括但不限于如下問題:
- 目前你如何使用Docker虛擬化技術?
- 將來你打算如何使用Docker技術?
- 目前你的開發團隊的配置和搭建使用什么工具(比如,Net、Java、Python、Node.js等)?
- Docker是否能幫助你更快速地開發? </ul>
OS級別虛擬化的歷史
首先,讓我們回顧一下虛擬化的發展史,然后深入探討其現狀,展望未來的可能發展方向,并且介紹這四天里我從跟不同團隊的面試和討論中得到的一些信息。缺點
OS級別虛擬化是虛擬化應用程序,它允許軟件安裝在完整的文件系統之上,正如基于hypervisor的虛擬化服務器一樣,但是通過使用OS級別虛擬化的宿主OS能夠大幅提高安裝速度和整體性能。這樣能夠減少內核系統以及宿主上相應虛擬客戶端的額外消耗。自從1960年開始就有了虛擬化的概念,當時IBM在Cambridge科研中心大力投入研究該方向。相關開發一直在推進,但是真正的突破性進展是1999年VMware推出的虛擬化平臺,最終將虛擬化成功推向了市場。正是在Vmware助力下,才開創出了hypervisor級別虛擬化的巨大市場。
但是OS級別虛擬化,這也正是Docker的基礎,并沒有在剛出現時就迅速火起來。這些年,OS級別虛擬化領域涌現了很多產品,但是都沒有像Docker這樣具有劃時代的意義。Docker在2013年發布,快速發展到今天,還有很多日益增長的開發需求和使用場景。
虛擬化開發的時間軸
Docker在正確的時間點,將OS級別虛擬化引入到開發者社區,滿足了當前Web開發的需求,提供了一種新的方式來實現應用程序的高效持續交付。Docker是使用最為廣泛的OS級別虛擬化工具之一,可以實現不可變基礎架構,持續構建,集成和部署環境,并且作為通用虛擬化環境來按開發所需消費資源。
虛擬化現狀
目前Docker在OS級別虛擬化市場里占有絕大部分份額。讓我們來看看幾天前Docker社區統計數據。The Stats: Docker on Github -> https://github.com/docker/dockerWatchers: 2017 Starred: 22941 Forks: 5617
16,472 Commits 3 Branches 102 Releases 983 Contributors</pre>
從這些數據中可以看出,Docker社區非常活躍。也可以仔細看看fork并決定pull請求,接受相關數據,可以看出整個codebase非常健康。之前曾經有人質疑Docker管理開源社區的能力,質疑是否能在推進產品開發的同時保持一致性,口碑和產品質量,事實證明這些質疑都不攻自破了。
現在基于過去四天里的面試情況探討下現狀。和我交談的17個人都知道Docker是什么。這和前幾年的情況相比有了很大的改善。
和我交談的17個人中,15個人的團隊在其環境中已經使用,或者正在嘗試使用Docker。
17個人中的13個人說它們嚴重擔憂Docker的安全性。這些人所在的團隊都在嘗試找到在生產環境使用Docker的方法,而不是只滿足于在開發環境中使用Docker。
17個人想要用或者正在用Docker的方式都不太一樣。但是也有一些共同點。
Docker使用中最大的相似之處在于將其作為構建開發測試環境或者測試服務器的平臺。可能是常規數據庫服務器或者簡單的分布式數據庫,比如 Cassandra或Riak,可以很容易得構建出完全一樣的數據庫,然后銷毀并在測試和開發需要時重建。一些Docker完成的構建只是用來模擬測試所需的分布式數據庫環境。注意,我聽到并看到這些可能是因為我之前在Basho工作過,接觸過其他分布式系統程序員,公司和圍繞這一技術的研究。這個領域仍然很有意思并且很有效。
第二種Docker最常見的用法是在持續交付鏈里使用Docker。使得持續集成和交付流程更加不可變,可重復并且可靠,這是Docker和這些需求的最佳切入點。能夠在幾秒內生成環境,隨后銷毀,一段時間后再創建,這使得持續交付更為強大,并且比之前任何時候都更為可行。
一些不太常見的用法,也仍然是Docker的核心用法,是在面試的時候談到的:內存內緩存服務器,網絡虛擬化和分布式系統。虛擬化的未來
路徑
之前歷史部分介紹了Docker的核心用法,這里我們看看收購的情況。Docker收購情況可以側面反應Docker公司的未來方向。最近的收購包括:Kitematic、SocketPlan、Koality和Orchard。
從高層策略看,通過購買Kitematic和SocketPlane,Docker會進一步推進虛擬化,就像時髦的說法“虛擬化所有事物”一樣。這兩個公司都會幫助Docker擴展OS虛擬化,走向擁有可編程能力的網絡環境的系統級虛擬化。這些能力都能夠幫助企業走出以前遺留的IT環境,開創更多的可能性。
Docker收購了Koality來進一步強化已有的核心能力。Koality提供可并行的持續集成,部署和相關服務。這使得Docker能夠提供更多與之相關的重量級服務。
另一個收購是Orchard(orchardup.com)。這是家實時提供云上Docker宿主的創業公司。這次收購的目的和Koality類似。它加強了Docker的某個已有能力。也帶來了兩種分支的可能性:基于web的SaaS以及在防火墻后提供產品,這可能也是Koality的收購有助于的領域。
威脅向量
即使從很多角度看Docker的未來之路已經很清晰,但是還是有些角度并不十分明朗。比如,現在有很多競爭對手慢慢出現,最大的威脅來自Google,它對Docker不感興趣,于是自行構建了與Docker競爭的工具。如果Google大力進入OS級別虛擬化領域,將會是 Docker強大的對手。
另一個威脅是,現在還看不出的一些威脅。類似Mesos這樣的工具可能會在流行起來之后決定不再使用Docker,而關注于其他虛擬化途徑。同樣地,可能什么時候,Mesos會覺得Docker能帶來的虛擬化級別的價值比不上維護Docker的花費。
目前該領域無形的威脅相當多。沒有什么好辦法來定位這些威脅,然后和Docker的開發人員深入討論它們。從某種角度來說,開發人員熱愛有能力做某些事情的感覺,但是他們喜歡嘗試很多工具,這就讓一些后來者有居上的可能性。簡單地說,對于Docker并沒有什么神奇的忠誠度,開發人員會選擇能夠幫助他們更快更容易完成開發工作的任何工具。
另一個可預見的威脅是可能被傳統軟件公司,比如Oracle,Microsoft或者其他公司收購。這無疑會動搖產品的OSS方面并且減緩開發的進度,也可能會增加很多企業級功能。這也是可能發生的一種情況。
小結
Docker有兩大威脅:直接的競爭對以及潛在的更高級的另一種級別虛擬化。另一大威脅是Docker本身被收購,當然這可能意味著企業級功能的大幅增加。在Docker公司和技術演進的道路上,用法和功能一定會持續增長。現在這樣的速度在領先的技術創業公司里能夠有保證,但是如果作為中型或大型企業的一部分,速度肯定會放緩。
給你的問題
本文總結了我對Docker的看法,我也很想聽到讀者可能注意到的有關Docker的另一些信息。你是否關注過網絡,其他級別的虛擬化,機器部署,集成或交付,或者該領域的其他部分?在推ter上告訴我你的想法。當然,如果你對本文觀點有不同意見也一定告訴我。
原文鏈接:The Question of Docker, The Future of OS Virtualization(翻譯:崔婧雯)
===========================
譯者介紹
崔婧雯,現就職于IBM,高級軟件工程師,負責IBM WebSphere業務流程管理軟件的系統測試工作。曾就職于VMware從事桌面虛擬化產品的質量保證工作。對虛擬化,中間件技術,業務流程管理有濃厚的興趣。
來自:http://dockone.io/article/541本文由用戶 dgbm 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!