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