容器將成為下一個“Linux”
【編者的話】隨著容器在使用、流行和複雜性方面的不斷增長,它們將與Linux作業系統一樣,很快成為不可或缺的開發工具。
Linux作業系統在過去的20年裡給資料中心帶來了革命性的變化,今天它是應用程式託管平臺無可爭議的領導者。很難想象,將任何關鍵任務的生產工作負載部署到Linux以外的任何平臺。
當Docker使Linux容器流行起來,這與幾年前在打包、部署和託管應用程式方面開始的革命何其相似。此後,整個行業的容器使用呈指數級增長,並且與日俱增。
正如我們無法想象將任何關鍵應用程式部署到非linux作業系統上一樣,容器也是如此:任何應用程式都必須是容器,以滿足未來web規模的需求(即安全性、可伸縮性、平臺無關性和易移植性)。這些容器現在是,未來也將是執行任何關鍵應用程式和工作負載的新一代“Linux”。
容器採用趨勢
根據Datadog於2018年6月更新的調查顯示,有一種趨勢是,25%的公司已經採用Docker,其餘公司正在迅速追趕。 ofollow,noindex" target="_blank">這裡 有詳細的調查資料。

容器和編排
Kubernetes、OpenShift、Apache Mesos和Docker Swarm對容器提供了極好的編排支援,使得管理一個數千個容器的平臺或基礎設施要容易得多。在編排工具提供的自動化功能的幫助下,一名工程師就可以管理容器化應用程式的異構部署。
Kubernetes正在統治Docker容器的編排世界,谷歌是它的最初建立者,CNCF是開源版本的當前所有者。Kubernetes在整個行業中也擁有最好的社群支援和極好的適應性。
為任何容器化應用程式提供編排支援的一些特性:
- 基於資源利用率的水平自動伸縮。
- 與雲基礎設施緊密整合時,應用程式例項可以無限伸縮。
- 應用程式例項的自愈。
- 線上升級。
- 金絲雀升級。
容器與微服務
作為編排工具,Kubernetes再次主導微服務部署領域,用於承載和執行容器支援的微服務,它是最著名、最受歡迎的平臺之一。
所有標識的微服務首先被轉換為Docker容器,然後轉到Kubernetes平臺進行部署,這使得它們在整個生命週期內快速部署並易於管理。
基於容器的微服務在伸縮和自愈場景下更容易,啟動和服務工作負載更快。
非常規應用中的容器採用
在採用容器的過程中發生了許多不可思議的事情;曾經被認為不可能在容器中執行的應用程式現在正在遷移到容器中,並且現在可以在容器化平臺中使用。
資料庫:
幾年前,資料庫被認為是保持在容器技術之外的東西,但今天我們有了 NuoDB ,它是一個容器和雲原生資料庫,專門設計和開發用於在容器上執行,以支援資料庫級別的WebScale功能。
Oracle 12c 現在可以在 Docker倉庫 的官方Docker映象中預先配置。
資料庫層容器化是令人由衷地興奮, 這將使應用程式更容易WebScale, 因為按需擴充套件資料庫 (部署在物理伺服器上) 的限制將消失,資料庫在容器內執行以及部署在業務流程引擎上, 將能夠在需要時輕鬆地與應用程式例項一起擴充套件。
電信行業中容器化的電信網路元件
電信行業向使用的可程式設計網路轉變的勢頭正在加快,這將幫助所有CSPs以虛擬化方式執行所有網路功能,而不是在傳統昂貴的硬體上執行這些功能,同時大幅降低運營成本。這也將使所有csp能夠在需求增加時以完全自動化的方式快速擴充套件其網路。然而,容器相對於vm的優點已經在應用程式中得到了驗證,因此整個行業都非常希望telco VNFs獲得相同的優點。
電信行業向使用SDN-NFV的可程式設計網路轉變的勢頭正在加快, 這將幫助所有CSPs顯著降低其運營成本, 同時以虛擬化的方式執行所有網路功能, 而不是在傳統昂貴的硬體執行。這也將使所有CSPs能夠隨著需求的增加, 以完全自動化的方式迅速擴充套件其網路。然而, 容器比虛擬機器的好處已經在應用程式世界中得到了證明, 因此整個行業對電信VNF也獲得同樣的益處有著非常高的興趣。
RedHat以及ONAP也在以下文件中對此進行了詳細介紹:
- RedHat
- ONAP
伴隨著這些趨勢, 在應用程式和虛擬化網路級別上,電信世界將被容器化平臺統治的日子不遠了。
基於容器的大資料平臺
在大資料世界中,HortonWorks的HDP 3.0資料平臺的新版本現在使用Docker容器來執行其內部元件(YARN容器、Web應用程式和HDP服務)。Hadoop叢集是一個自我管理的叢集,完全支援現代和標準的叢集應用程式,因此,大資料平臺能夠在容器上執行並由編排工具(叢集中的叢集!!)管理,在之前這是一個有爭議的話題。但是由於我們已經有了容器化服務的新版本,所以在不久的將來,我們將在Kubernetes平臺中執行Hadoop叢集也就不足為奇了。
雲和容器
隨著容器的普及,所有云服務提供商(AWS、Azure、GCE、Oracle、OpenStack等)也意識到他們必須提供並支援本地容器和Kubernetes編排服務。今天,我們看到幾乎所有的雲提供商都擁有自己的本地容器和編排服務/平臺。以下是雲端計算公司提供的一些本地容器平臺示例:
- AWS — KOPs
- 谷歌雲- GKE
- Azure - Azure Kubernetes服務
- RedHat OpenStack - RedHat OpenShift
- Oracle雲- Oracle Kubernetes引擎
同樣,這種方式為我們提供了一個清晰的趨勢,即使組織正在遷移到雲基礎設施,以取代其遺留的本地資料中心,容器仍然是部署和執行應用程式的首選。
基於容器的私有云部署
當我們談論雲和容器時,已經有云在容器上運行了。
OpenStack無疑是私有云領域的贏家,整個私有云託管世界由OpenStack統治, 為全球各地的組織提供雲端計算的強大功能。
然而,現在OpenStack的新版本可以以一種容器化的方式部署。這使得整個私有云部署並執行在容器中,令人難以置信。
隨著容器採用率的指數級增長,以及軟體行業和各個產品部門的根本性變化,容器現在是、未來也將是承載和執行各種工作負載的新Linux,這一說法變得更加現實。
原文連結: Containers Are and Will Be the New Linux
譯者:Mr.lzc,軟體工程師、DevOpsDays深圳核心組織者,目前供職於華為,從事雲端儲存工作,以Cloud Native方式構建雲檔案系統服務,專注於K8s、微服務領域。