采用企業(yè)級 Kubernetes 平臺的三大原因
當下,企業(yè)正加快上云步伐,以提高自身運營效率、靈活性與敏捷性,同時簡化并降低基礎設施中的復雜性與運營成本。這種向云端遷移的整體趨勢,也加速了企業(yè)內(nèi)部對自動化方案的采用,讓容器、DevOps及敏捷工作方式成為新的運營常態(tài)。
為什么容器能夠橫空出世,并快速征服整個世界?簡而言之,容器屬于軟件的可執(zhí)行單元,應用程序代碼連同庫及依賴項被一并打包起來,確保能夠以通用方式在筆記本電腦乃至云端的幾乎任何位置快速運行。
但如今的企業(yè)往往掌握著成千上萬個容器,運營團隊自然需要規(guī)劃并自動處理容器部署、相關網(wǎng)絡、可擴展性與可用性問題。為此,在這些可擴展IT基礎設施當中,對容器進行編排就成了一種前提性要求。這方面,Kubernetes憑借出色的表現(xiàn)向企業(yè)IT部門證明了自己的價值。
Kubernetes能夠在企業(yè)內(nèi)部自動部署、管理并擴展容器化應用程序。Kubernetes已經(jīng)迅速成為開源軟件歷史上增長最快、應用最廣的容器化平臺。CIO、CTO以及開發(fā)者們之所以選擇Kubernetes,看重的就是它廣泛的功能、龐大且不斷增長的開源支持工具生態(tài)系統(tǒng),以及在多種云服務及云供應商之間的支持及可移植性。那么,為什么要選擇企業(yè)級Kubernetes平臺,而不是自行組裝開源Kubernetes工具?
提供盡可能多的靈活性與敏捷性
混合云計算方案允許企業(yè)將公有云及私有云計算模式的優(yōu)勢結合起來,將工作負載與最佳負載選項相匹配,并根據(jù)需求在二者之間靈活移動。以此為基礎,我們可以靈活地提升并擴展容量,無需在時間、供電及其他成本項目上追加前期投資。而作為一項關鍵要素,這種靈活性必須能夠在企業(yè)需要時快速轉移工作負載,又不給IT部門帶來過于沉重的負擔。
隨著云服務供應商從純CPU計算、內(nèi)存及存儲轉向其他增值性服務,例如容器化、人工智能與機器學習平臺,企業(yè)開始采用更廣泛的專有連接及特定于云平臺的API調(diào)用機制。但與此同時,可移植性與鎖定問題也開始進一步凸顯。
在本質上,Kubernetes是一套由大量虛擬機組成容器集群。Kubernetes的核心思路是將機器、存儲及網(wǎng)絡從其物理實現(xiàn)當中分離出來,并建立起一套可在不同云之間往來移植的中立性環(huán)境。全面的Kubernetes平臺將幫助企業(yè)管理大量IT服務,并在整個容器及應用程序生命周期之內(nèi),提供盡可能多的靈活性與敏捷性。企業(yè)可以在其中選擇最符合業(yè)務訴求的平臺,并規(guī)避平臺鎖定乃至供應商鎖定等問題。
節(jié)約寶貴的部署周期
容器化技術能夠將軟件代碼及其所有相關庫與依賴項捆綁至統(tǒng)一的程序包當中,借此建立起統(tǒng)一的運行環(huán)境,幫助IT團隊節(jié)約下以往浪費在代碼開發(fā)及生產(chǎn)部署方面的精力。也正是憑借著這一點,才讓容器化技術成為傳統(tǒng)虛擬化技術的替代方案,并受到各類用戶在軟件開發(fā)與部署場景中的高度關注。容器中僅包含運行軟件代碼所必需的內(nèi)容,因此可以降低生產(chǎn)成本并優(yōu)化平臺效率。但標準的企業(yè)工作負載往往由大量容器組成,這種容器結構很可能快速復雜化、繁瑣化,占用大量管理時間而且極易出錯。
如今,對容器化環(huán)境的管理及編排已經(jīng)成為一大核心需求。Kubernetes平臺使企業(yè)得以使用多家云服務商,并在無需重新構建基礎設施的前提下,根據(jù)需求快速提升承載容量。這不僅節(jié)約了寶貴的部署周期,同時也極大提高了企業(yè)交付新服務的能力。
提供更穩(wěn)定、更安全的環(huán)境
Kubernetes的一大優(yōu)勢,在于提供更穩(wěn)定、更安全的環(huán)境,同時降低產(chǎn)生代碼錯誤及bug的可能性。在傳統(tǒng)軟件部署模式中,通常是在單一操作系統(tǒng)(OS)的單一實例上部署多個應用程序,這種方式目前仍常見于數(shù)據(jù)中心內(nèi)的虛擬機與裸機部署場景。
當出于安全性及穩(wěn)定性的考量而需要對操作系統(tǒng)進行更新,或者修復時,軟件庫也會同時進行更新或升級。這可能導致多個應用程序出現(xiàn)穩(wěn)定性問題:計算機上多個應用程序所依賴的庫一旦更新,則有可能與服務器上運行的應用程序發(fā)生兼容性沖突。此外,更新或升級還可能導致關鍵應用程序無法啟動甚至意外崩潰。
由于應用程序工作負載存在停機風險,IT部門必須不斷在操作系統(tǒng)的安全性方面做出權衡,借此換取應用程序穩(wěn)定性;反之亦然。容器化應用程序則將所有依賴項捆綁在一起,將它們從底層操作系統(tǒng)中抽象出來。這樣,IT部門就能更自信地對操作系統(tǒng)進行修復和升級,確保對容器化應用程序的影響降低最低,最終加快整個更新周期的執(zhí)行速度。
同樣的,容器化應用程序中的庫和軟件也能更快完成更新和升級,使得應用程序能夠在內(nèi)部快速完成bug修復、安全補丁安裝甚至是新功能發(fā)布。
綜合來看,使用Kubernetes能夠編排不同容器版本,包括已修復的容器版本與未修復的容器版本,在不同主機之間快速移動容器,加快上述優(yōu)勢的實現(xiàn)速度。Red Hat的OpenShift平臺就使用Kubernetes作為底層代碼,并經(jīng)過嚴格的測試、強化與補充,確保在跨云環(huán)境場景下始終保持良好的穩(wěn)定性與一致性。
總結
企業(yè)應首先確定Kubernetes的優(yōu)勢是否足以支撐由此帶來的額外復雜因素。如果決定過渡至Kubernetes,請優(yōu)先選擇企業(yè)級Kubernetes平臺,借此實現(xiàn)統(tǒng)一、敏捷、穩(wěn)定、安全的容器與云服務運行效果。這種在不同云環(huán)境之間無縫遷移的能力,將幫助企業(yè)在快速變化的業(yè)務市場上更具敏捷性優(yōu)勢。
企業(yè)可以將企業(yè)級Kubernetes平臺視為面向混合云環(huán)境的操作系統(tǒng)。無論選擇哪家云服務商,企業(yè)級Kubernetes平臺都能助力企業(yè)以最有效的方式管理、運行并增強應用程序,而且不損害IT生態(tài)系統(tǒng)的穩(wěn)定性與安全性,從而受益企業(yè)內(nèi)部以及外部客戶,以更快、更靈活的方式運用應用程序與服務。