做者:張磊前端
戳此查看全文:極客時間《深刻剖析Kubernetes》
後端
在上一篇文章中,我說到,伴隨着PaaS概念的逐步普及,以Cloud Foundry爲表明的經典PaaS項目,開始進入基礎設施領域的視野,平臺化和PaaS化成了這個生態中的一個最爲重要的進化趨勢。服務器
就在對開源PaaS項目落地的不斷嘗試中,這個領域的從業者們發現了PaaS中最爲棘手也最亟待解決的一個問題:究竟如何給應用打包?運維
遺憾的是,不管是Cloud Foundry、OpenShift,仍是Clodify,面對這個問題都沒能給出一個完美的答案,反而在競爭中走向了碎片化的歧途。post
而就在這時,一個並不引人矚目的PaaS創業公司dotCloud,卻選擇了開源自家的一個容器項目Docker。更出人意料的是,就是這樣一個普通到不能再普通的技術,卻開啓了一個名爲「Docker」的全新時代。網站
你可能會有疑問,Docker項目的崛起,是否是偶然呢?雲計算
事實上,這個以「鯨魚」爲註冊商標的技術創業公司,最重要的戰略之一就是:堅持把「開發者」羣體放在至高無上的位置。spa
相比於其餘正在企業級市場裏廝殺得頭破血流的經典PaaS項目們,Docker項目的推廣策略從一開始就呈現出一副「憨態可掬」的親人姿態,把每一位後端技術人員(而不是他們的老闆)做爲主要的傳播對象。設計
簡潔的UI,有趣的demo,「1分鐘部署一個WordPress網站」「3分鐘部署一個Nginx集羣」,這種同開發者之間與生俱來的親近關係,使Docker項目迅速成爲了全世界Meetup上最受歡迎的一顆新星。對象
在過去的很長一段時間裏,相較於前端和互聯網技術社區,服務器端技術社區一直是一個相對沉悶而小衆的圈子。在這裏,從事Linux內核開發的極客們自帶「不合羣」的「光環」,後端開發者們啃着多年不變的TCP/IP發着牢騷,運維更是天生註定的幕後英雄。
而Docker項目,卻給後端開發者提供了走向聚光燈的機會。就好比Cgroups和Namespace這種已經存在多年卻不多被人們關心的特性,在2014年和2015年居然頻繁入選各大技術會議的分享議題,就由於聽衆們想要知道Docker這個東西究竟是怎麼一回事兒。
而Docker項目之因此能得到如此高的關注,一方面正如前面我所說的那樣,它解決了應用打包和發佈這一困擾運維人員多年的技術難題;而另外一方面,就是由於它第一次把一個純後端的技術概念,經過很是友好的設計和封裝,交到了最廣大的開發者羣體手裏。
在這種獨特的氛圍烘托下,你不須要精通TCP/IP,也無需深諳Linux內核原理,哪怕只是一個前端或者網站的PHP工程師,都會對如何把本身的代碼打包成一個隨處能夠運行的Docker鏡像充滿好奇和興趣。
這種受衆羣體的變革,正是Docker這樣一個後端開源項目取得巨大成功的關鍵。這也是經典PaaS項目想作卻沒有作好的一件事情:PaaS的最終用戶和受益者,必定是爲這個PaaS編寫應用的開發者們,而在Docker項目開源以前,PaaS與開發者之間的關係卻從未如此緊密過。
解決了應用打包這個根本性的問題,同開發者與生俱來的的親密關係,再加上PaaS概念已經深刻人心的完美契機,成爲Docker這個技術上看似平淡無奇的項目一舉走紅的重要緣由。
一時之間,「容器化」取代「PaaS化」成爲了基礎設施領域最煊赫一時的關鍵詞,一個以「容器」爲中心的、全新的雲計算市場,正呼之欲出。而做爲這個生態的一手締造者,此時的dotCloud公司忽然宣佈將公司名稱改成「Docker」。
這個舉動,在當時頗受質疑。在你們印象中,Docker只是一個開源項目的名字。但是如今,這個單詞卻成了Docker公司的註冊商標,任何人在商業活動中使用這個單詞,以及鯨魚的Logo,都會馬上受到法律警告。
那麼,Docker公司這個舉動到底賣的什麼藥?這個問題,我不妨後面再作解讀,由於相較於這件「小事兒」,Docker公司在2014年發佈Swarm項目纔是真正的「大事兒」。
那麼,Docker公司爲何必定要發佈Swarm項目呢?
經過我對Docker項目崛起背後緣由的分析,你應該能發現這樣一個有意思的事實:雖然經過「容器」這個概念完成了對經典PaaS項目的「降維打擊」,可是Docker項目和Docker公司,兜兜轉轉了一年多,卻仍是回到了PaaS項目本來深耕了多年的那個戰場:如何讓開發者把應用部署在個人項目上。
沒錯,Docker項目從發佈之初就全面發力,從技術、社區、商業、市場全方位爭取到的開發者羣體,其實是爲此後吸引整個生態到自家「PaaS」上的一個鋪墊。只不過這時,「PaaS」的定義已經全然不是Cloud Foundry描述的那個樣子,而是變成了一套以Docker容器爲技術核心,以Docker鏡像爲打包標準的、全新的「容器化」思路。
這,正是Docker項目從一開始悉心運做「容器化」理念和經營整個Docker生態的主要目的。
而Swarm項目,正是接下來承接Docker公司全部這些努力的關鍵所在。
戳此查看:第一階段初出茅廬
戳此查看:第三階段羣雄並起
戳此查看全文:極客時間《深刻剖析Kubernetes》