完美世界手游官网隐藏任务 www.gytoi.icu

圖0:開發者可能低估了容器部署的復雜性

上一篇文章中,我認為,在談論 Kubernetes 時,炒作成分可能已經大于實際采用。對該文章的回應不一而足,從有關容器的基本問題,到非常堅定的觀點:許多人已經在運行多集群、多云容器化的基礎設施。關于后一種觀點,根據我的經驗,小型的、更敏捷的公司往往低估了大型企業對變革的緩慢反應背后的復雜性(在拆解大集團的緩慢動作方面, Ian Miell 在《為什么大集團行動這么慢?》一文中做了絕佳解讀)。因此,本文將嘗試解決以下三件事:

  • 一些非技術人員可能還想了解容器是什么,因此本文嘗試簡化相關基本定義
  • 很多公司已經成功采用容器技術,就此提出這些公司的共有屬性是什么
  • 解釋為什么遷移到容器只是面臨的 IT 問題的冰山一角

問題:應用在 VMware 的容器中運行,它是云原生的嗎?

很遺憾地說,不一定。我們要記住,容器只是一個可以在基礎架構上運行的軟件包,并且(至少)有兩種類型的容器。

自從 LXC(2008) 或者可以說是之前的 Solaris Zones 時代以來,系統容器就已經存在很長時間。簡單來說,這些就是行為類似于虛擬機的小型、高效的單元。它們可以支持多個可執行應用程序、提供隔離功能,同時還有系統管理員可以安全使用的其他功能,例如易管理性。如果希望在不徹底改變 IT 實踐的情況下實現容器化,這對傳統應用程序是非常理想的,而且好處很簡單:與虛擬機相比,每臺服務器的應用程序密度提高了 10 倍以上。

應用程序容器只有一個要執行的應用程序。這是 Docker 圖像格式(與 Docker Engine,Docker Swarm 或 Docker Inc. 不同)和 OCI 的世界,也是大多數人在提到“容器”一詞時所指的世界。從 IT 角度來看,這帶來的好處是,運行微服務應用程序的應用程序容器可以實現云原生的全部優勢:高交付速度、幾乎無限的可擴展性和更高的彈性。這些戲劇性的成果需要重大的文化和技術轉變,稍后會詳細提及。

容器只是外表,更廣泛地講,只會做被告知要做的事情;微服務是編寫軟件應用程序的架構方法;云原生是一種提供應用程序的方法?;卮鵯懊嫻奈侍猓號灼鐘兇試?、忽略商業產出以追求理想,可能不是好的實踐,所以,如果有一個 VMware 環境可用,那對現狀而言已經足夠云原生了( 從這個角度來看,VMware 收購 Heptio 對于未來的用例而言是很有趣的)。 最重要的是,想通過最簡單的項目(也就是容器)來解決前述一大串問題的想法是常見的錯誤。

IT 中沒有雷神之錘

我最近和一家英國大型金融服務公司的云服務部門負責人見面,他告訴我,公司的前任 CIO 因為未能實現“直接無服務”戰略而不得不離職?!爸苯游薹瘛閉鉸約粗苯釉焦坪腿萜韉母錈際?,從而在公司運轉良好的私有數據中心直接運行無服務技術。 CIO 不得不離開并不意外:在任何工作中,都需要使用合適的工具來完成合適的工作,特別是當這些工作很復雜的時候。在云中,這意味著,在大多數情況下,用戶可能會在私有服務器、私有云或公有云的任意組合上綜合使用裸機、虛擬機、容器和無服務器。

毫無疑問,據我所知,成功的 IT 轉型過程的第一步是:不要過度簡化本就十分龐雜的 IT 革命或進化(?evolution)。相反,從整體上理解它,并根據業務成果和目標進行判斷。能努力做到這一點已經很好,但并非所有公司都擁有成為云原生純粹主義者的資源。即使不完全實現云原生,只是采取較小的步驟,也有明顯的好處,例如允許更多時間去分析技術的影響,或實現更好的風險管理。(來自容器公司 Cloud 66 的這篇文章很好地描述了將單個 APP 遷移到容器的短期效率和長期洞察。)

已知和未知問題

但最終,如果容器只是容納了更多的單個應用程序,用戶就不會對容器革命感到如此興奮了。一個在容器中運行的微服務應用程序,是在多個基板上編排的,而這一切都基于云原生原則 – 后者才是值得奮斗的東西。大多數人想要的是一個可以快速又可靠地擴展、運行資源少、能夠快速適應客戶和競爭動態并可以自我修復的應用程序。

再次重申,容器只是其中的一部分而已??悸且幌錄際醴矯嫻奶粽劍罕嗯湃綰尾僮??而網絡又當如何?狀態服務又當如何?云原生管道工具呢?

更重要的是文化方面的挑戰:在推行開發實踐時,需要改變什么東西?如何才能找到并留住合適的人才?如何重新培養年長的成員、在新人和老人之間架起橋梁?風險平衡又將如何變化?

開源已經融入戰略

事實證明,云和開源的興起已經相互聯系起來,這也帶來了一些有趣的現象,正如我在之前的文章中探討的那樣。在容器中,這種協同作用似乎比以往更加劇烈。 Kubernetes 和許多相關的開源項目,包括云原生計算基金會(CNCF) ,背后的主宰都是 Linux 基金會的一部分。CNCF 基金會章程明確了自身意圖:旨在促進和維持一種開源的、廠商中立的項目的生態系統。因此,自 2014 年成立以來,通過大量開源項目的交叉混合, CNCF 基金會在管理復雜的云原生堆棧方面變得越來越輕車熟路(參見基金會年度報告中的一些有趣數據)。簡單來說,使用容器本地化方法的次數越多,用到的開源項目也就越多。

另一方面,開源軟件包構成了大量免費和專有應用程序 – 雖然整個應用程序可能是專有的,但團隊實際編寫的內容占比可能非常低。正如開源安全狀態報告所示,開源項目的使用與數字化變革是緊密結合的,因此對業務越來越關鍵;但是,只有 17% 的維護人員將安全專業知識排在高優先級,這意味著很多這些軟件包都存在運維風險。

另一個方面是社區:使用更多的開源使得組織成為社區的利益相關者,因此這些組織應該與相關社區保持聯系,以了解可以如何做出貢獻、如何參與到項目路線圖中并盡可能快地響應安全警報問題。

結語

總結一下,關于加入容器浪潮的“簡單”決定將固有并明顯地增加組織從開源軟件中的獲益能力和曝光能力。該軟件可能會也可能不會得到大型贊助商的支持,可能會在很大程度上由志愿者維護,并且可能會有一個充滿活力的社區 – 所有這些人都需要依賴這些項目的用戶參與。

換句話說,容器是數字化轉型的關鍵部分,但只是其中一部分。數字化轉型的一部分問題將會在毫無預期的情況下出現在軟件交付系統中,如果與開源的開放性、成熟性和責任正確組合的話,整個數字化轉型可以為應用程序提供優質的東西。

余下全文(1/3)

本文最初發表在www.infoq.cn,文章內容屬作者個人觀點,不代表本站立場。

分享這篇文章:

請關注我們:

發表評論

電子郵件地址不會被公開。 必填項已用*標注