容器歷史

cucytoman發表於2019-09-25

https://mritd.me/2019/06/26/podman-history...

一、緣起

1.1、鴻蒙

在上古時期,天地初開,一群稱之為 “運維” 的人們每天在一種叫作 “伺服器” 的神祕盒子中創造屬於他們的世界;他們在這個世界中每日勞作,一遍又一遍的寫入他們的歷史,比如搭建一個 nginx、佈署一個 java web 應用…

大多數人其實並沒有那麼聰明,他們所 “創造” 的事實上可能是有人已經創造過的東西,他們可能每天都在做著重複的勞動;久而久之,一些人厭倦了、疲憊了…又過了一段時間,一些功力深厚的老前輩創造了一些批量佈署工具來幫助人們做一些重複性的勞動,這些工具被起名為 “Asible”、”Chef”、”Puppet” 等等…

而隨著時代的發展,”世界” 變得越來越複雜,運維們需要處理的事情越來越多,比如各種網路、磁碟環境的隔離,各種應用服務的高可用…在時代的洪流下,運維們急需要一種簡單高效的佈署工具,既能有一定的隔離性,又能方便使用,並且最大程度降低重複勞動來提升效率。

1.2、創世

在時代洪流的衝擊下,一位名為 “Solomon Hykes” 的人異軍突起,他創造了一個稱之為 Docker 的工具,Docker 被創造以後就以滅世之威向運維們展示了它的強大;一個戰鬥力只有 5 的運維只需要學習 Docker 很短時間就可以完成資深運維們才能完成的事情,在某些情況下以前需要 1 天才能完成的工作使用 Docker 後幾分鐘就可以完成;此時運維們已經意識到 “新的時代” 開啟了,接下來 Docker 開源並被整個運維界人們使用,Docker 也不斷地完善增加各種各樣的功能,此後世界正式進入 “容器紀元”。

二、紛爭

2.1、發展

隨著 Docker 的日益成熟,一些人開始在 Docker 之上創造更加強大的工具,一些人開始在 Docker 之下為其提供更穩定的執行環境…

其中一個叫作 Google 的公司在 Docker 之上建立了名為 “Kuberentes” 的工具,Kubernetes 操縱 Docker 完成更加複雜的任務;Kubernetes 的出現更加印證了 Docker 的強大,以及 “容器紀元” 的發展正確性。

2.2、野心

當然這是一個充滿利益的世界,Google 公司創造 Kubernetes 是可以為他們帶來利益的,比如他們可以讓 Kubernetes 深度適配他們的雲平臺,以此來增加雲平臺的銷量等;此時 Docker 創始人也成立了一個公司,提供 Docker 的付費服務以及深度定製等;不過值得一提的是 Docker 公司提供的付費服務始終沒有 Kubernetes 為 Google 公司帶來的利益高,所以在利益的驅使下,Docker 公司開始動起了歪心思: 創造一個 Kubernetes 的替代品,利用使用者粘度複製 Kubernetes 的成功,從 Google 嘴裡搶下這塊蛋糕!此時 Docker 公司只想把蛋糕搶過來,但是他們根本沒有在意到暗中一群人創造了一個叫 “rkt” 的東西也在妄圖奪走他們嘴裡的蛋糕。

2.3、衝突

在一段時間的沉默後,Docker 公司又創造了 “Swarm” 這個工具,妄圖奪走 Google 公司利用 Kubernetes 贏來的蛋糕;當然,Google 這個公司極其龐大,人數眾多,而且在這個社會有很大的影響地位…

終於,巨人甦醒了,Google 聯合了 Redhat、Microsoft、IBM、Intel、Cisco 等公司決定對這個愛動歪腦筋的 Docker 公司進行制裁;當然制裁的手段不能過於暴力,那樣會讓別人落下把柄,成為別人的笑料,被人所不恥;最總他們決定製訂規範,成立組織,明確規定 Docker 的角色,以及它應當擁有的能力,這些規範包括但不限於 CRI、CNI 等;自此之後各大公司宣佈他們容器相關的工具只相容 CRI 等相關標準,無論是 Docker 還是 rkt 等工具,只要實現了這些標準,就可以配合這些容器工具進行使用

三、成敗

自此之後,Docker 跌下神壇,各路大神紛紛創造滿足 CRI 等規範的工具用來取代 Docker,Docker 丟失了往日一家獨大的場面,最終為了順應時代發展,拆分自己成為模組化元件;這些模組化元件被放置在 mobyproject 中方便其他人重複利用。

時至今日,雖然 Docker 已經不負以前,但是仍然是容器化首選工具,因為 Docker 是一個完整的產品,它可以提供除了滿足 CRI 等標準以外更加方便的功能;但是制裁並非沒有結果,Google 公司藉此創造了 cri-o 用來滿足 CRI 標準,其他公司也相應建立了對應的 CRI 實現;為了進一步分化 Docker 勢力,一個叫作 Podman 的工具被建立,它以 cri-o 為基礎,相容大部份 Docker 命令的方式開始搶奪 Dcoker 使用者;到目前為止 Podman 已經可以在大部份功能上替代 Docker。

轉載請註明出處,本文采用 CC4.0 協議授權


本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章