重要的事情說無數遍:容器就是Linux
如今,Linux仍然處於開源軟體開發的核心。因為所有的應用和計算都需要一個作業系統作為基礎。隨著Linux逐漸成為主流而且能夠免費獲得,提供給所有開發人員使用,它已成為技術普及的中心。因此,Linux正在推動目前企業IT的創新。
通常,非凡的創新都是迭代的。正如Linux隨著時間的推移變得越來越強大,現在已經成為推動資料中心和雲端計算發展的主要創新引擎和作業系統一樣,某些最著名的外圍開源開發技術也是這樣一步步走來的,例如Mozilla Firefox、Apache HTTP伺服器、BIND等,它們推動了網際網路骨幹的進步。最近,Linux容器和Kubernetes已成為混合雲架構的最前沿技術。
每個Linux發行版都由許多軟體包組成,其中大多數軟體包都是作為開源專案開發的,並且擁有它們自己的開發人員社群。雖然所有發行版都有許多共同的軟體包,尤其是核心更是如此,但每個發行版都會自行決定它們將包含哪些軟體包,以及使用哪些工具來處理各種各樣的事情,例如安裝、開發、管理。這就是為什麼發行版(特別是像紅帽公司這樣執行任務關鍵型環境的企業所提供的商業發行版)對於開發人員和運營人員而言,往往有其自己的外觀和感覺。
如果不借助開源開發過程中的創新,我們到現在都還不會處於混合雲世界中。雖說如此,但企業實際上需要可獲得支援的、可靠的、更安全的、可預測的軟體。因為你把你的業務都押在這個平臺上了。
當紅帽企業版Linux首次做出承諾,表示將在部署紅帽企業版Linux應用的每個平臺上都提供專門硬體認證、長期生命週期支援以及安全性修復服務時,它就滿足了市場對一致性和長壽命的要求,而之前這些特性都是嚴重缺失的,但卻是企業不可或缺的。我們這樣看待Linux:它從一個用於開發過程的社群現象,轉變為一個用於生產負載的企業現象。
成千上萬的硬體平臺(例如伺服器、網路、儲存器)和應用已透過了紅帽企業版Linux的認證,從而使得容器化的紅帽企業版Linux應用成為這一現有基礎的自然延伸。
數十年來,生產型Linux部署執行著數百萬種現有的應用。只有在這樣的基礎之上,我們才可能轉向新一代的應用和體系結構,而這些應用和體系結構執行著我們的業務並遍佈於各種環境,例如物理機、虛擬機器、公有云和私有云等。
鑑於這一基礎性作用,對於公司而言,他們必須把平臺選擇建立在長期可支援性基礎上,並且還必須能夠支援快速創新。企業需要在兩個方面實現平衡:一方面是快速行動的能力,另一方面則是對其平臺所要求的財務、運營、安全、支援和組織機構承諾保持長期觀點。
容器也不例外。在用於生產級商業環境中時,它們需要滿足所有上述要求。特別是,應當考慮到如下極大潛力:多容器應用可能在更廣泛的場景中蔓延,這些場景既包括各種各樣基於硬體的系統,也包括多種公有云環境。
隨著雲端計算成為企業IT架構不可或缺的一部分,Linux容器和Kubernetes正在成為構建更新型、更靈活服務過程中的許多努力的基礎,同時也在推動從現有IT投資中獲得更大的價值。
每個應用容器都包含Linux發行版的一部分,並且位於Linux核心之上,而Linux核心又是Linux主機作業系統的核心。因此,選擇具有最廣泛生態系統和最大商業可行性的適當Linux產品是轉向Linux容器化應用過程中的第一步,也是最關鍵的一步。
如果企業打算為執行其基於容器的應用而建立和管理自己的Linux作業系統,那他們也必須為其Linux版本構建廣泛的硬體和軟體認證,並且還需要建立一支強大的員工隊伍,負責工程、安全和支援等工作。容器平臺提供商要想成為一家商業Linux提供商,他們將面臨一項非常艱鉅而昂貴的任務。
在決定選擇哪種基於Linux容器及Kubernetes的技術時,最終客戶需要對其選擇的平臺進行這方面的評估。企業需要評估自己的核心能力以及他們的容器技術提供商的能力,而且還需要決定成為作業系統供應商是不是這些能力之一。對大多數企業而言,最終答案往往是否定的。
現在已經成為各種Kubernetes發行版基礎的Linux容器具有上述Linux OS完全相同的屬性和要求。我們選擇紅帽企業版Linux作為我們的容器基礎,為客戶運營、管理和保護其基礎架構提供了一個共同基礎,同時也為他們帶來了共同的開發環境。這使得他們能夠以一致的方式開發、執行和維護容器應用,無論是在企業內部、雲端或者是在多雲環境中。
我們來看看這樣一個例子。假設你正在利用容器在公有云上構建一套應用。預設為採用公有云提供商的Linux容器作業系統。但是,在順利構建、部署和執行該應用之後,如果您希望將該應用遷移到另一個雲中或者遷移回企業內部,或者甚至與可能執行在另一個雲中的微服務進行互動,你又該怎麼辦呢?你現在是從一個雲供應商那裡獲取作業系統,然後企圖在另一個雲供應商那裡執行它。如果你應用程式崩潰了或遇到效能問題,哪家公司為您提供支援?顯而易見的答案:“兩不管。”你唯一的選擇是,針對每個公有云的操作環境來構建、測試和開發你的應用的多個版本,或者採用一套在所有這些操作環境中都得到支援的Linux容器庫。
隨著公有云提供商開始隨同Linux容器一起提供商業Kubernetes,在其他公有云中他們是否支援以及是否能夠支援這些容器?答案是:非常可疑。
在大多數企業環境中,工作負載既執行於內部的裸機器上,也執行於虛擬機器上,同時也跨越多個公有云執行。為了滿足這種情況,我們現在甚至看到一些使用Kubernetes和Linux容器的企業內部公有云。
硬體購買既複雜又昂貴——Linux發行版市場中的新進入者需要多長時間才能獲得各種認證,以確保它們能夠順利在該硬體上執行?他們是否能夠支援並認證客戶選擇開箱即用地執行的任何硬體?
他們是否能夠利用與他們容器和裸機發行版相同的Linux基礎來構建相容的Linux虛擬機器,以便使選擇了他們容器發行版的客戶能夠針對其應用(這些應用需要作為虛擬機器來執行),為開發人員和操作人員都提供通用的東西?他們是否能夠構建出與其容器Linux發行版相容的通用裸機Linux發行版?
與前面一樣,所有這些問題的答案都很可能是否定的。或者,即使能夠滿足這些要求,至少也需要花費相當長的時間才能滿足。
當某些傳統硬體供應商也試圖進入新一代軟體基礎架構領域時,他們將遇到與我們上面討論過的雲提供商所面臨的相同問題。
對於專有基礎設施軟體提供商而言也是如此,他們也可能試圖成為Linux和Linux容器市場的新進入者。他們也將同樣面臨成為一家商業Linux發行版提供商所要面對的挑戰和要求,因為這是一個正在迅速轉向基於Linux的混合雲基礎架構世界。
出於所有這些原因,紅帽公司在過去15年發展紅帽企業版Linux過程中,一直專注於獲得最大範圍的硬體和雲認證。如今,紅帽企業版Linux能夠在每個主要雲端執行,同時具有業內最廣泛的內部部署硬體配置。
企業在將其應用向下一代計算轉移過程中需要容器和Kubernetes。對於那些可能需要在無法確定的時間到來之時,在裸機器和虛擬機器上執行的工作負載而言,他們也需要這些基於容器的應用成為其現有應用基礎架構的一部分。
您無法將您為其他基於Linux的應用所做的選擇分離出去,因為容器就是Linux。
本文是紅帽產品與技術總裁Paul Cormier新撰寫三部曲系列文章中的第一篇,該系列將討論企業Kubernetes環境中開源專案與開源產品的現實情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31547898/viewspace-2212387/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 重要的事情說一遍,短影片系統的流量源於熱門
- [重要的事情說三遍]Strata + Hadoop World北京大會開始招募講師啦!Hadoop
- [重要的事情說三遍]Strata + Hadoop World北京大會演講議題招募中!Hadoop
- L1-021 重要的話說三遍 分數 5
- mark 比寫程式更重要的事情
- 說說資料庫排行榜的事情資料庫
- 思路與心態是SEO最重要的事情
- 安裝Ubuntu前三件重要的事情Ubuntu
- postgresql資料庫重要引數說明SQL資料庫
- Docker重要容器命令Docker
- 智慧|智慧倉儲就是無人倉庫嗎?正確理解很重要
- 使用 Docker 容器應該避免的 10 個事情Docker
- 企業裡比雲端計算還重要的事情
- QT5容器遍歷QT
- 插曲:Kafka的生產者原理及重要引數說明Kafka
- 火遍全球最終也會無人問津,過氣遊戲的下場就是這樣遊戲
- 從淘汰Oracle資料庫的事情說起Oracle資料庫
- 誰說PDF無法登上 Linux 的小船Linux
- 從 Hello World 容器進階是件困難的事情
- 技術人員,請注意那些被你忽略的重要事情
- 技術人員 請注意那些被你忽略的重要事情
- Paxos協議其實說的就是Paxos協議
- linux核心引數優化重要項Linux優化
- 如何做到專注且不錯過重要事情
- Ubuntu 中的 root 使用者:你應該知道的重要事情Ubuntu
- java環境變數配置好了,就是無法載入主類Java變數
- vector容器1(新增元素,遍歷元素)
- 為什麼說Linux桌面已經不重要了Linux
- 說說在 Python 中如何遍歷字典Python
- 安全性對於嵌入式Linux來說是最重要的Linux
- linux 的display變數的具體說明!Linux變數
- Laravel框架的基石就是一個功能強大的 IoC 容器Laravel框架
- Linux中重定向應注意的事情Linux
- 說一說 React 和 Redux 你知道或者不知道的一些事情ReactRedux
- linux常用核心引數說明Linux
- Linux SHELL if 命令引數說明Linux
- Qt foreach關鍵字遍歷容器QT
- Istio Mixer元件和服務的重要說明元件