李榮
容器現在是無所不在,它們已經快速地改變了IT格局。關于容器你需要知道一些什么呢?
因為容器給企業帶來的巨大的價值和大量好處,快速地改變了IT格局,幾乎所有最新的業務創新,都有容器化貢獻的部分因素,甚至是主要因素。
在現代化應用架構中,能夠快速把變更交付到生產環境的能力,讓你比競爭對手更勝一籌。容器通過使用微服務架構,幫助開發團隊開發功能、減少失敗和更快恢復,從而加快交付速度。容器化還讓應用軟件能夠快速啟動、按需自動擴展云資源。還有,DevOps通過靈活性、移動性和有效性讓產品可以盡快進入市場,從而將容器化所能帶來的好處最大化。
在DevOps中,雖然速度、敏捷和靈活是容器化的主要保障,安全則是一個重要的因素。這就導致了DevSecOps的出現,它到貫穿容器化應用的整個生命周期,始終將安全融合到應用的開發中。默認情況下,容器化大大地增強了安全性,因為它將應用和宿主機與其他的容器化應用相互隔離。
是容器
容器是單體式應用程序所遺留問題的解決方案。雖然單體式有它的優點,但是它阻礙了組織以敏捷的方式快速前進,而容器則讓你能夠將單體式分解成微服務。
本質上來說,容器只是一些輕量化組件的應用集,比如軟件依賴、庫和配置文件等,然后運行在一個隔離的環境之中,這個隔離的環境又是運行在傳統操作系統之上的,或者為了可移植性和靈活性而運行在虛擬化環境之上。
容器通過利用像cgroup、內核命名空間和SELinux這樣的內核技術來實現隔離,容器跟宿主機共用一個內核,因此比虛擬機占用更少的資源。
容器的優勢
這種架構所帶來的敏捷性是虛擬機所不可能做到的。此外,在計算和內存資源方面,容器支持更靈活的模型,而且它支持突發資源模式,因此應用程序可以在需要的時候,在限定的范圍內,使用更多的資源。換句話來說,容器提供的擴展性和靈活性,是在虛擬機上運行的應用程序中所無法實現的。
容器讓在公有云或者私有云上部署和分享應用變得非常容易。更重要的是,它所提供的連貫性,幫助運維和開發團隊降低了在跨平臺部署過程中的復雜度。
容器還可以實現一套通用的構建組件,可以在開發的任何階段拿來復用,從而可以重建出一樣的環境供開發、測試、預備和生產使用,將“一次編寫、到處執行”的概念加以擴展。
和虛擬化相比,容器使實現靈活性、連貫性和快速部署應用的能力變得更加簡單———這是DevOps的主要原則。
Docker因素
Docker已經變成了容器的代名詞。Docker讓容器技術發生徹底變革并得以推廣普及,雖然早在Docker之前容器技術就已經存在。這些容器技術包括AIX工作負載分區、Solaris容器以及Linux容器(LXC),后者被用來在一臺Linux宿主機上運行多個Linux環境。
Kubernetes效應
Kubernetes如今已被廣泛認為是編排引擎中的領導者。在過去的幾年里,Kubernetes的普及加上容器技術的應用日趨成熟,為運維、開發以及安全團隊可以擁抱日益變革的行業,創造了一個理想的環境。
Kubernetes為容器的管理提供了完整全面的解決方案。它可以在一個集群中運行容器,從而實現類似自動擴展云資源這樣的功能,這些云資源包括:自動的、分布式的事件驅動的應用需求。這就保證了“免費的”高可用性(比如,開發和運維都不需要花太大的勁就可以實現)。
此外,在OpenShift和類似Kubernetes這樣的企業的幫助下,容器的應用變得更加的容易。
Kubernetes集群容器會替代虛擬機嗎
KubeVirt和類似的開源項目很大程度上表明容器將會取代虛擬機。KubeVirt通過將虛擬機轉化成容器,把虛擬機帶入到容器化的工作流中,因此他們就可以利用容器化應用的優勢。
現在,容器和虛擬機更多的是互補關系,而不是相互競爭的關系。容器在虛擬機上面運行,因此增加了可用性,特別是對于那些要求有持久性的應用。同時容器可以利用虛擬化技術的優勢,讓硬件基礎設施(如:內存和網絡)的管理更加便捷。
Windows容器
微軟和開源社區方面都對Windows容器的成功實現做了大量推動。Kubernetes操作器Operator加速了Windows容器的應用進程。還有像OpenShift這樣的產品現在可以啟用Windows工作節點來運行Windows容器。
Windows的容器化創造出巨大的誘人的可能性。特別是對于使用混合環境的企業。在Kubernetes集群上運行你最關鍵的應用程序,是成功實現混合云或多種云環境的目標邁出的一大步。
容器的未來
容器在IT行業日新月異的變革中扮演著重要的角色,因為企業在向著快速、敏捷的交付軟件及解決方案的方向前進,以此來超越競爭對手。
容器會繼續存在下去。在不久的將來,其他的使用場景,比如邊緣計算中的無服務器將會浮現出來,并且更深地影響我們對數字設備來回傳輸數據速度的認知。唯一在這種變化中存活下來的方式,就是去應用他們。