解讀2014之Docker篇:才氣、勇氣、運氣

wp5x 9年前發布 | 29K 次閱讀 Docker

編者按

2014年,整個IT領域發生了許多深刻而又復雜的變化,InfoQ策劃了“解讀2014”年終技術盤點系列文章,希望能夠給讀者清晰地梳理出技術領域在這一年的發展變化,回顧過去,繼續前行。

毫無疑問,Docker已經成為2014年最熱門的技術之一,它被愛好者冠以云計算新星、下一代虛擬機等稱號,可見大家對其的期望之高。2014年,Docker的發展可謂是一路凱歌,從年初的B輪融資到年末的 DockerCon歐洲大會,Docker在這一年里順風順水,就連微軟、谷歌、AWS這樣的巨頭也敬它三分。

InfoQ從2014年5月開始重點關注Docker,先后策劃了深入淺出源碼解讀CoreOS實戰Docker周報等系列專欄,共產出了百余篇新聞與文章,同時還建有兩個千人的QQ群以供讀者學習交流。在這一年里,作為負責Docker專欄的技術編輯,我密切關注了 Docker的每一次融資、收購、合作,也親身見證了一個技術的發展之路。本文作為Docker專欄的年終總結,分析了過去一年Docker的發展、模式、應用,并結合自己的理解展望了2015年Docker的發展以及與它相關的技術變革。

另本文的標題來自熱播無胸版電視劇《武媚娘傳奇》張公公之口。

發展

2014年是Docker的起步之年,這一年里Docker又是融資,又是收購,又是辦大會,又是與巨頭合作,迅速獲得了資本以及云廠商的認可。記得在6月的一段時間里,每天早上起來只要一打開朋友圈,就會看到關于Docker的爆炸性新聞,想想也是醉了。先撇開Docker的優勢不談,我們來回顧下過去一年Docker的幾個重要的發展節點。

  1. Docker 1.0發布。6月10日,Docker團隊宣布發布Docker 1.0版本,從第一個版本到1.0版本的發布,Docker大約經歷了15個月的時間,共收到了超過460位貢獻者的8741條改進建議。1.0版本的發布也就意味著 Docker可用于生產環境,從發布特性中可以看到,Docker當時重點在關注穩定性、擴展性、兼容性等方面的問題,并沒有提及安全事宜。同時從數據中可以看到社區對Docker的貢獻。
  2. Docker出售dotCloud。8月4日,Docker宣布出售其平臺即業務服務dotCloud,并稱接下來將專注于容器業務。CEO Ben表示他們已經看到Docker的快速增長,希望把所有的精力和資源都集中在這項業務上 。從這件事情上可以看出Docker公司的決心,把成敗都押在Docker上,何嘗不是一種魄力。當然,那時Docker有足夠多的用戶,他們也很有信心。
  3. 微軟全面擁抱Docker。10月,微軟宣布下一個版本的Windows Server將支持Docker,同時還發布了Windows 10客戶端的技術預覽版。Windows Server主要是面向企業市場,顯然,微軟已經意識到容器技術的發展趨勢以及其對企業的意義。比較有意思的是,微軟早在之前就開發了自己的容器技術(Drawbridge),而Windows Server卻選擇支持Docker,可見Docker的勢頭之猛。
  4. AWS加碼押注Docker 。在AWS re:Invent 2014大會上,AWS推出了高性能容器管理服務EC2 Container服務,用戶可以在AWS上使用容器輕松地運行和管理分布式應用。AWS是云計算的老大哥,在其EC2上早就支持Docker,這次的容器服務瞄準的是集群服務,也是第一家將Docker應用于集群服務的公有云,AWS果然是IaaS的帶路人和領頭羊。
  5. Docker發布新的跨容器的分布式應用編排服務。12月4日,Docker宣布發布跨容器的分布式應用編排服務,編排服務可以幫助開發者創建并管理新一代的可移植的分布式應用程序。之前Docker關注的都是單個或者少量的容器,所以我們也經常看到官方用詞“Engine”,而編排服務的發布意味著Docker正式進軍集群服務,徹底平臺化。通過三個新的編排服務(MachineSwarmCompose),用戶可以迅速構建Docker集群環境并部署應用,至此,Docker為2014年畫上了圓滿的句號。

模式

正如熱播電視劇《武媚娘傳奇》中所說,一個才人的上位需有才氣、勇氣、運氣,Docker在這一年里能有如此快的發展也與此道理大同小異。才氣不多說,從Docker一出現大家就很認可它帶來的顛覆性的優勢,現在流行打標簽,如果要給Docker寫標簽,我認為應該有幾個詞:容器、虛擬化、輕量、可移植、分布式。談到勇氣,不得不提Docker的創始人Solomon(dotCloud 的創始人),在PaaS市場舉步維艱的情況下,他敢于將自己的核心引擎開源,并讓團隊的核心成員參與開源項目,以及后來直接把dotCloud賣掉,把全部精力都投入到Docker的開發上,可謂魄力十足。運氣又名天時,近幾年,DevOps、微服務、云計算等技術理念如日中天,而Docker可以全部和這些技術集成,并且都能為之一顫。

官方公布的數據來看,截止到2014年11 月,Docker的貢獻者已經超過700人,與去年相比增長52%;Pull Request數量為5200個,增長37%;GitHub上相關的項目已達18000個,增長177%;相關的倉庫數量已達65000個,增長 348%;Docker的下載量有6700萬之多,增長2336%。

一年的時間里,Docker的生態系統發展迅猛,知名的云計算公司以及軟件、操作系統、系統集成廠商、配置管理軟件、大數據廠商以及開源軟件都在向 Docker靠攏,不管是在哪個領域,Docker都在“Doing the old thing the new way”。Docker相關的生態圈可以參考下圖,圖片來自DockerCon歐洲,需要注意的是圖中沒有列出國內的云計算公司。

應用

前面提到過,Docker可以和很多的概念聯系到一起,生態圈如此之大,那可以做的事情肯定也很多。但是,現在有多少公司/開發者在使用 Docker了?這個問題真是得打個大大的問號,從平時的采訪以及QQ群中讀者的問題來看,絕大部分人對Docker的使用還停留在觀望狀態,并且將 Docker應用于生產環境的公司少之又少。記得剛開始追蹤Docker的時候,我把英文站的一篇新聞中描述Docker發展的詞主觀的翻譯為了“吹捧”,我認為媒體、社區、廠商對Docker炒作的聲音遠大于需求驅動,看似火熱而又令人心動的變革其實并不如外表看起來的那么紅火。不過,從一個技術的發展角度來看,如此情況也在情理之中。

Docker的應用和它本身的優勢密切相關,系統集成廠商Flux7曾總結過Docker的一些應用場景,雖然Docker目前的實際應用人數并不多,但也不乏最佳實踐。開發方面,開發者可以使用Docker搭建開發環境,借助Docker可移植的特性,開發者可以將自己的環境分享給開發以及相關的測試同事,省去了因為環境搭建而耗費的時間。同時,由于Docker可以快速創建并啟動一個或多個容器,所以它可以和Jenkins一起來進行持續集成(CI),相關的開源項目有DroneStrider

很少有人提及Docker對SaaS帶來的影響,從普通用戶的角度來看,Docker可以為他們解決很多苦惱的技術問題。舉個例子,之前用戶想賣東西,可能就是入駐淘寶這樣的平臺,一是需要依靠大平臺的流量,二是自己根本無法搞定一套電商程序的安裝以及維護。有了Docker后,用戶拿到的就是鏡像,通過幾個來回的命令就可以完成安裝。所以我認為假以時日,類似Wordpress、Drupal這樣的開源軟件都會通過鏡像的方式交付給用戶,用戶也會在選擇SaaS平臺還是自己搭建方面有更多的主動權。同樣,得益于Docker,SaaS平臺也許會向PaaS過渡。

PaaS方面,Docker已經扎根新一代的PaaS,如果把Azure、Heroku等公有的PaaS看為第一代,允許用戶自建PaaS的Cloud Foundry和OpenShift就應該是第二代,那以Docker為首的平臺就應該是第三代,主要代表有DeisFlynnTsuru。目前第三代PaaS也已經成熟,其中Deis和Flynn都已經發布1.0版本,借助Docker,這些平臺可以占用更小的資源。部署方面,新一代PaaS平臺也可以借助Docker實現從開發環境到PaaS平臺的無縫遷移,可謂從里到外,Docker都是得力幫手。

IaaS方面,巨頭AWS已經推出基于Docker的容器服務,老二Azure也已經全面支持Docker,并和官方建立了合作關系。放眼國內,阿里云、騰訊云、UCloud、青云等公司都已經支持Docker,更進一步的支持看似也沒有。同時,新一代的基于Docker的IaaS也在緊鑼旗鼓的設計中(此處省去很多創業公司),Docker可以提高資源利用率,降低云成本,所以也有很提出了CaaS(容器即服務)的概念。沒有人能夠知道在這樣的時代Docker到底會帶來什么樣的變革,所以面對如此火熱的技術,IaaS廠商撲上去也容易理解。

2015年

11月底,CoreOS發布了自己的容器引擎Rocket,Docker 有了名義上的第一個競爭對手。新的一年,容器之爭才剛剛開始,其實微軟、谷歌都有自己的容器技術,亞馬遜應該也有。如果容器會帶來歷史性的變革,那容器的戰爭是早晚的事。CoreOS發布Rocket時稱Docker已經忘記初心,并且開始沖擊生態系統中的其它軟件,于是便另起爐灶。現在過去一個多月了,還在Stage 0階段,在社區方面獲得的支持遠不如Docker剛開始的時候,所以我并不看好。單從引擎這一點來看,類似Rocket的其它容器引擎并不是沒有機會,因為Docker也有自己的問題(比如安全),新的一年,更是著重考驗它們逼格的時候。

DockerCon歐洲上,Docker發布新的跨容器的分布式應用編排服務,旨在簡化分布式應用的部署。分布式應用可以保證服務的穩定性和可擴展性,Docker重新定義了分布式應用之道:我們可以根據需求隨意收縮分布式應用節點。之前,Docker教你怎么玩好一個容器,而現在Docker會教你如何玩好成千上萬個容器,并在這么多容器上部署你的應用。當你在幾百臺服務器上部署幾萬個容器的時候,KubernetesMesos這些調度框架的作用就顯現出來了,所以分布式應用相關的開源軟件也是新一年的風向標。

回到國內,2015年Docker會逐漸落地,經過去年一年的發展,Docker已經相對穩定,研究和使用的人越來越多,并且中文資料也開始多了起來。現有的云計算廠商應該會重點關注Docker,并可能在其底層架構中使用Docker,與Docker相關的IaaS和PaaS也會迎來一個創業小高潮,相關的開發者服務商也會提供對Docker的支持。

也許是看武媚娘看多了,每每去思考Docker發展的時候,我都會想Docker又何嘗不是下一個“武媚娘”了?如果是,那“武代李唐”的預言會不會再次上演?這一次李唐們會如何做?好戲還在后頭。

轉自:http://www.infoq.com/cn/articles/2014-review-docker

 本文由用戶 wp5x 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!