Docker確確實實改變了世界!

語言: CN / TW / HK

開發人員很快明白了容器用於構建雲原生應用程式的價值,以及Docker命令列工具比他們通過PaaS獲得的所有花裡胡哨的東西都要好。

因為Kubernetes的統治,如果說Docker已死,倒不如說Docker確確實實改變了世界!

作者:Scott McCarty    編譯:沈建苗

2013年,Docker風光無限。Docker因其在將容器帶入到主流方面起到的關鍵作用而備受關注,並在許多方面取代PaaS,成為當時的熱點(Heroku有人記得嗎?)。如今,該公司因推出Docker Desktop的新模式再度受到關注,新模式需要大企業購買這些工具的付費訂閱版。這則宣佈在業界引起了強烈的反響,這讓我想起了Docker在普及我們所知道、喜愛、如今廣為使用的模式:容器方面所發揮的重要作用。

Docker沒有發明容器,而是通過開源工具和可重用的映像使這項技術普及開來。有了Docker,開發人員可以真正只需構建一次軟體,即可在本地或生產伺服器上執行。

Docker命令列工具取代了使用多年的Web介面,這可能是廣大開發人員真正想要的。但要真正瞭解Docker的影響,有必要回顧Docker容器技術驚豔亮相前的那段時期。

尋找下一大技術

到2009年,使用虛擬化的價值得到了充分理解,虛擬化技術得到了廣泛部署。大多陣列織已經獲得了虛擬化的好處,或制定了實現目標的路線圖。營銷界膩味了虛擬化。人們渴望IT和軟體開發領域的下一個創新。 這個創新以 Heroku 的面目示人。實際上,當時PaaS、尤其是Heroku變得非常流行,以至於看起來PaaS將風靡全球。

那時,Heroku大行其道。您要去這個入口網站開發應用程式,將它們作為服務來交付?有什麼理由不喜歡它? 為什麼您不在Heroku上開發應用程式?

結果證明,不使用Heroku和PaaS平臺有幾個充分的理由。比如說,基於Heroku構建的應用程式不可移植,它們僅在Heroku中可用。如果開發人員想要協作開發,不得不在PaaS平臺上遠端工作。與Netflix不一樣,開發人員喜歡在本地進行開發。如果開發人員想在其本地系統上開發,仍然需要自己手動搭建環境。

此外,雖然Heroku模式在您使用開箱即用工具的情況下非常強大,但底層卻很複雜。一旦您的團隊構建了比簡單的Web應用程式複雜點的東西,或者他們出於安全或效能的原因需要定製基礎架構,Heroku就成了一個棘手的非常“現實”的技術問題。

Heroku有利也有弊。但當時IT界盛行的風潮是,許多人沒有意識到像Heroku這樣的平臺確實有其一席之地,但不是適合處理每項任務的工具,就貿然投入其中。

Docker的影響

另一方面,容器解決了PaaS面臨的許多挑戰,而Docker這家公司讓開發人員、IT經理和業務經理看到並明白了這一點。事實上,Docker出現時,其價值顯而易見:Heroku上所有困難的事在Docker上很容易,Heroku上所有容易的事在Docker上也很容易。 有了 Docker,您可以迅速輕鬆地啟動預先構建的服務,但您還可以輕鬆地在本地開發,定製服務以便服務滿足您的具體需求。

這倒不是說Docker很完美。它實際上利用了上世紀70年代Unix中首次流行開來的使用者體驗(UX)!Docker只是在Linux終端中執行的一個命令,這與大多數PaaS平臺上漂亮的圖形介面相去甚遠。但是Docker命令列介面(CLI)確實優雅。事實上,我認為Docker CLI 尤其向世人表明了這點:如果我們為CLI的開發賦予現代感十足的UX,它可以改變世界。

Docker以及容器為開發雲原生應用程式提供了底層技術。面對高度分散式架構以及DevOps和CI/CD(持續整合和持續交付)模式,Docker以及容器照樣可以正常使用。如今為了滿足新的和持續的客戶需求,在沒有迴歸(即錯誤和安全問題等)的情況下實現改進,需要DevOps和CI/CD模式。

容器使開發人員能夠快速改變應用程式,而不破壞使用者所依賴的功能。此外,圍繞容器形成的生態系統(包括看似完美無缺的Kubernetes編排平臺)使組織得以有效地擴充套件和管理不斷擴大的容器集合。

開發人員很快明白了容器的價值。運營團隊很快就明白了,矽谷的投資者也明白了。但是要讓通常觀賞精美演示版的經理、CIO和CEO相信一款命令列工具比通過PaaS獲得的所有這些花裡胡哨的東西都要好,還需要下一番工夫。

置身於容器化世界

到了2021 年,命令列工具仍在掀起動靜。至少可以說,這相當了不起。在這個容器CLI市場,似乎還有兩個玩家生存的空間。

現在,由於一路上使用容器技術,開發人員可以比以前更輕鬆地在本地或雲端工作。CIO和CEO可以期待更短的開發週期、更低的故障風險,甚至在整個生命週期內管理應用程式的更低成本。

Docker並不完美,容器也不完美。相比虛擬機器,將應用程式遷移到容器中需要做更多的工作,但其好處在應用程式的整個生命週期都有所體現,因此值得投入資源和精力。對於剛開發的新應用程式尤其如此,但它同樣適用於平移式(lift-and-shift)遷移,甚至適用於重構工作。

Docker已將容器技術放在了首要的位置,取代PaaS成為了主流;僅憑這個原因,Docker確確實實改變了世界。

文章來源:

https://www.infoworld.com/article/3639596/docker-really-did-change-the-world.html

推薦閱讀 點選標題可跳轉

《Docker是什麼?》

《Kubernetes是什麼?》

《Kubernetes和Docker到底有啥關係?》

《教你如何快捷的查詢選擇網路倉庫映象tag》

《Docker映象進階:瞭解其背後的技術原理》

《教你如何修改執行中的容器埠對映》

《k8s學習筆記:介紹&上手》

《k8s學習筆記:縮擴容&更新》

《Docker 基礎用法和命令幫助》

《在K8S上搭建Redis叢集》

《灰度部署、滾動部署、藍綠部署》

《PM2實踐指南》

《Docker垃圾清理》

《Kubernetes(k8s)底層網路原理刨析》

《容器環境下Node.js的記憶體管理》

《MySQL 快速建立千萬級測試資料》

《Linux 與 Unix 到底有什麼不同?》

《淺談幾種常見 RAID 的異同》

《Git 筆記-程式設計師都要掌握的 Git》

《老司機必須懂的MySQL規範》

《Docker中Image、Container與Volume的遷移》

《漫畫|如何用Kubernetes搞定CICD》

《寫給前端的Docker實戰教程》

《Linux 作業系統知識地圖2.0,我看行》

《16個概念帶你入門 Kubernetes》

《程式設計師因接外包坐牢456天,長文敘述心酸真實經歷》

《IT 行業老鳥,有話對你說》

《HTTPS 為什麼是安全的? 說一下他的底層實現原理?

免責宣告:本文內容來源於網路,所載內容僅供參考。轉載僅為學習和交流之目的,如無意中侵犯您的合法權益,請及時聯絡Docker中文社群!