歡迎光臨
每天分享高質量文章

容器化,原子化發行版以及 Linux 的未來 | Linux 中國

容器支持者認為未來屬於容器化作業系統,而其他人或許有不同看法。
— Swapnil Bhartiya


致謝
編譯自 | https://www.linux.com/blog/2018/4/containerization-atomic-distributions-and-future-linux 
 作者 | Swapnil Bhartiya
 譯者 | Andy Song (pinewall) ? ? ? 共計翻譯:16 篇 貢獻時間:67 天

容器支持者認為未來屬於容器化作業系統,而其他人或許有不同看法。

自從 Linus Torvalds 在 1991 年釋出 Linux 以來,Linux 已歷經漫長的歲月。它已經成為企業級領域的主流作業系統。同時,我們看到桌面級領域出現了很多改進和調整,但在過去的 25 年來,主流 Linux 發行版的樣式很大程度上沒有變化。基於軟體包管理的傳統樣式依然統治著桌面級和伺服器級市場。

但隨著 Google 釋出了基於 Linux 的 Chrome OS,情況出現了微妙的轉變,Chrome OS 採用映象樣式。Core OS (目前歸屬於 Red Hat) 受 Google 啟發推出了一款作業系統 Container Linux,主要面向企業級使用者。

Container Linux 改變了作業系統更新的方式,也改變了應用分發和更新的方式。這會是 Linux 發行版的未來嗎?這是否會取代基於軟體包的傳統發行版樣式呢?

三種樣式

SLE (SUSE Linux Enterprise) 的產品管理總監 Matthias Eckermann 認為目前存在 3 種樣式,而不是 2 種。Eckermann 提到:“除了傳統樣式(RHEL/SLE)和映象樣式(RedHat 的 Atomic Host),還存在第三種模型:事務樣式。SUSE CaaS 平臺[1] 及 SUSE MicroOS 就採用這種樣式。”

差異有哪些

Linux 使用者對傳統樣式非常熟悉,它由獨立的軟體包和共享庫組成。這種樣式有獨特的優勢,讓應用開發者無需將共享庫捆綁在應用中。由於庫不會多次引入,使得系統簡潔和輕便。這也讓使用者無需下載很多軟體包,節省了頻寬。發行版對軟體包全權負責,透過推送系統級別的更新,可以輕鬆地解決安全隱患。

RHEL (Red Hat Enterprise Linux)的產品管理總監 Ron Pacheco 表示,“傳統的打包方式繼續為我們提供精心構建和最佳化作業系統的機會,以便支援需要經過時間考驗的任務關鍵型工作負載。”

但傳統樣式也有一些弊端。應用開發者受限使用發行版包含的庫,使其無法從發行版不支援的新軟體中獲益。這也可能導致不同版本之間相互衝突。最終,傳統樣式給管理員增加了挑戰,使其難以讓軟體包一直處於最新版本狀態。

映象樣式

映象樣式應運而生。Eckermann 表示,“映象樣式解決了傳統樣式遇到的問題,它在每次迭代更新時替換整個作業系統,而不是單個的軟體包”。

Pacheco 表示,“當我們用映象作為作業系統的代名詞進行討論時,我們真正關心的是可程式設計式的開發和部署以及更好的整合式生命週期管理”,基於 RHEL 搭建的 OpenShift 被他用作示例。

Pacheco 認為基於映象的作業系統是一種延續,從手工打造並部署映象,到可大規模管理的高度自動化基礎設施;無論客戶使用哪種型別,都需要運行同樣的應用。他說,“你肯定不希望使用一個完全不同的部署樣式,這需要重做很多工作”。

映象樣式用新的庫和軟體包替代來整個作業系統,但也面臨一系列問題。在映象樣式中,需要重建映象才能適應特殊環境的需求。例如,使用者有特殊需求,需要安裝特定硬體的驅動或安裝底層監控功能,映象樣式無法滿足,需要重新設計功能以實現細粒度操作。

事務樣式

第三種樣式採用事務更新,基於傳統的軟體包更新,但將全部的軟體包視為一個映象,就像映象那樣在一次操作中更新全部軟體包。

Eckermann 表示,“由於安裝或回滾時操作物件是打包在一起的單一軟體包,使用者在需要時能夠做相應的調整,這就是差別所在。結合傳統樣式和映象樣式的優點,避免兩種樣式的缺點,事務樣式給使用者提供了額外的靈活性。”

Pacheco 表示,將精心構造的工作負載部署成映象的做法越來越成為主流,因為這種部署方式具有一致性和可靠性,而且可以彈性部署。“這正是我們使用者目前的做法,部署環境包括在預置裝置或公有/私有雲上建立並部署的虛擬機器,或在傳統的裸機上。”

Pacheco 建議我們將這幾種樣式視為作業系統角色的進化和擴充套件,而不是僅僅“使用場景的比較和對比”。

原子化更新的問世

Google 的 Chrome OS 和 Core OS 為我們普及了事務更新的概念,該模型也被 Red Hat 和 SUSE 採用。

Eckermann 表示,“我們必須認識到,用於容器主機的作業系統已經不再是關註點 —— 至少不是管理員的關註點。RedHat Atomic 主機和 SUSE CaaS 平臺都解決了該問題,實現方式在使用者看來很相似。”

SUSE CaaS 平臺、Red Hat Atomic Host和 Container Linux (前身是 Core OS)提供的不可變基礎設施Immutable infrastructure[2] 推廣了事務更新的使用。Red Hat 高階技術產品經理 Ben Breard 表示,“在事務樣式中,主機總是會變更到已確認正確的新狀態,這讓我們更有信心執行更新,進而實現更快速的功能流、安全優勢以及易於採用的操作樣式。”

這些新型作業系統使用 Linux 容器將應用與底層系統隔離,解除了傳統樣式中基礎設施更新的諸多限制。

Breard 補充道,“當編排層可以智慧處理更新、部署,甚至最終實現無縫操作時,我們才會真正意識到該樣式的威力和好處”。

展望未來

Linux 的未來會是什麼樣子?不同的人會給出不同的回答。容器支持者認為未來屬於容器化的作業系統,但依然擁有龐大市場的 Linux 供應商顯然不這麼認為。

當被問到原子化發行版是否會在很久以後將替換傳統發行版時,Eckermann 表示,“如果我回答肯定的,那麼表示我順應潮流;如果回答是否定的,意味著我還是站在傳統陣營。然而,我的回答是否定的,即 atomic 發行版在很久以後也不會替換傳統發行版,傳統負載和容器化負載將在資料中心、私有雲以及公有雲環境中共存。”

Pacheco 認為,從 Linux 的部署增長情況來看,一般情況下很難想象一種樣式替換另一種樣式。與其將多種樣式視為相互競爭的關係,不如將原子化發行版視為作業系統進化和部署的一部分。

此外,在一些使用案例中,我們需要同時使用多種 Linux 發行版。Eckermann 表示,“想一想銀行和保險公司中大量的 PL/1 和 Cobol 系統。再想一想記憶體資料庫和核心資料匯流排系統。”

這些應用大多數無法進行容器化。就我們目前來看,容器化不是解決所有問題的萬金油。總是會同時存在多種不同的技術。

Eckermann 相信,隨著時間的推移,大量新的開發和部署將採用容器化,但仍然有不錯的理由,促使我們在企業級環境中保留傳統的部署方式和應用。

Pacheco 認為,“使用者需要經歷業務、設計和文化的轉型,才能最大化基於容器的部署帶來的優勢。好訊息是業界已經認識到並開始大規模轉變,就像歷史上大型機轉變成 UNIX,UNIX 轉變成 x86,x86 轉變成虛擬化那樣”。

結論

很明顯,未來容器化負載的使用量會持續增長,也就意味著原子化發行版的需求量持續增長。與此同時,仍會有不少工作負載執行在傳統發行版中。重要的是,這兩類使用者都在新樣式上大規模投入,以便市場改變時可以做相應的策略改變。從外部觀察者的視角來看,未來屬於事務/原子化樣式。我們已經見證了資料中心的發展,我們花了很長時間完成了從每個伺服器一個應用到“函式即服務”模型的轉變。Linux 發行版進入原子化時代的日子也不會太遠了。


via: https://www.linux.com/blog/2018/4/containerization-atomic-distributions-and-future-linux

作者:SWAPNIL BHARTIYA[4] 選題:lujun9972 譯者:pinewall 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

贊(0)

分享創造快樂