隨著各產業的數位轉型計畫持續發展,雲端運算技術已逐漸成為數位營運業務的共通基礎架構。當前主流的作法是採用容器化方式部署微服務架構,再由API介接整合提供應用服務。
對於偏好使用開源陣營技術的企業組織來說,Kubernetes具備完整生態系與社群、一致的開放API、靈活性,因而吸引國內外大型企業廣泛採用,藉此部署與管控容器化工作負載。
根據VMware最新發布的2023年Kubernetes狀態報告(The State of Kubernetes 2023)調查,其詢問752名開發者與IT人員,深入探討了Kubernetes對業務成功的影響。該調查報告統計,90%的受訪者同意包括Kubernetes在內的雲原生技術正在改變業務運營方式;91%認為Kubernetes使整個組織受益,例如採用雲原生來降低成本並加快開發速度。該報告指出,其中攸關營運效率的指標,主要反映在IT維運效率提高64%、開發者生產力提升60%。尤其開發者的生產力更是直接影響數位化成果,藉由降低複雜度並減少無效率的工作,能提供更快速的產出過程並縮短上市時間(Time to Market),進而減少實現價值的時間(Time to Value)。Kubernetes可提供的優勢,首要是提高了資源利用率(50%),其次是縮短軟體開發週期(41%),第三是應用系統的容器化(37%)。此外,37%受訪者認同Kubernetes已向高階管理層展示出IT部門不再只是成本中心,還可望推動企業營收再突破。
雲平台是Kubernetes 首選部署模式
企業把營運業務逐漸遷移到Kubernetes控管的容器環境,勢必也將面臨部署與維運方面的挑戰。從VMware發布的2023年Kubernetes狀態報告中可發現,主因是來自企業IT對於新興技術的經驗不足,若能選用易於上手的Kubernetes管理工具,將有助於降低維運複雜度性、達到隨需部署應用服務的目標。
該調查報告詢問了受訪者企業目前部署Kubernetes模式,有44%的答覆為混合雲,44%是採用雲端服務,10%的受訪者表示只在本地部署。至於下個階段的計畫,超過一半的受訪者(53%)預計將增加或擴大多個公有雲服務供應商的資源用量,而計畫擴展本地部署的受訪者為37%,選擇單一公共雲擴展為36%。
雖然雲平台是Kubernetes首選部署模式,但是有57%受訪者認為,IT團隊經驗和專業知識的不足,是當前最大的挑戰。顯見IT人員面對雲平台應用發展趨勢,在實務層面不僅遭遇操作困難,同時也無法跟上Kubernetes技術更迭的速度;其次的挑戰是整合難度高,第三大挑戰是應用程式的彈性遷移,佔比為21%。值得留意的是,Kubernetes受歡迎的特性之一即為應用程式可彈性遷移,但在調查報告中卻也被IT人員視為主要挑戰,較可能的因素是許多應用程式採用雲平台專屬的服務或API,降低了隨需遷移的彈性。
雲原生容器生態系統的調度工具
Kubernetes設計結構的基本單元稱為「Pod」。每個Pod包含一個或多個容器,以保證運行在相同主機、共享資源。每個Pod都擁有唯一的IP位址,讓應用程式使用相同連接埠,以便Kubernetes API以輪詢排程方式將流量負載平衡到匹配的Pod。
儘管Kubernetes與容器環境成為實踐雲原生應用不可或缺的技術,但因當前的容器生態系統仍然持續快速發展中,使得企業IT架構和IT管理者建構管理雲原生應用的穩定性難度變高。畢竟容器化運行環境並非為單一技術,而是整個生態系統各自發展的組成元件。
Gartner日前發布的CTO導航雲原生容器生態系統指南(A CTO’s Guide to Navigating the Cloud-Native Container Ecosystem)說明了雲原生容器生態系統,範疇涵蓋:安全性與合規、DevOps工具鏈、API調解(Mediation)、容器化基礎設施、可觀測性(Observability)、FinOps(雲端維運財務管理)等六大領域。
容器化平台架構由多種元件所組成,以讓程式碼打包封裝的映像檔(Image)運行。最常見的容器引擎是Containerd(源自Docker)和CRI-O。此外,開源社群討論度較高的新興技術,例如WebAssembly(Wasm),屬於已經完成編譯的二進位(Binary)檔案,當瀏覽器載入WebAssembly程式後,可更快地被轉換成組合語言,藉此改善動態語言JavaScript可能發生記憶體占用、效能不彰的問題,甚至是取代容器。
容器調度與管理工具可說是IT人員必備,藉此運用YAML或JSON文件描述應用配置方法,例如容器映像檔存放位置、網路配置、運行日誌儲存路徑等。當前最受歡迎、支援度最廣泛的調度與管理工具當屬雲原生運算基金會(CNCF)主導的Kubernetes,公有雲服務供應商諸如Amazon Web Services(AWS)、Microsoft Azure、Google等在自家平台上,皆已基於Kubernetes提供立即可用的服務項目;Red Hat、SUSE(Rancher)、VMware也同樣基於Kubernetes發展容器管理工具,讓IT或DevOps團隊可評估選用來建置、部署與維運容器環境。
實戰演練逐步增進跨領域技能
從國際軟體巨擘一致看重Kubernetes的態勢,不難看出當前IT技術主流趨勢。前述VMware發布的2023年Kubernetes狀態報告中亦指出,當前企業選用的Kubernetes方案中,以EKS(Amazon Elastic Kubernetes Service)占比51%為最高,其次依序是AKS(Azure Kubernetes Service)占比48%、Red Hat OpenShift占比37%、VMware Tanzu占比29%、GKS(Google Kubernetes Engine)占比26%。
寬橋技術佈道師陳思永引述2019年Gartner與三大公有雲服務供應商共同建立的最佳實踐框架,從最基礎的持續整合與持續部署(CI/CD)開始,到容器化運行環境,以及微服務的探索(Discovery)、路由、API閘道器和後端資料連接,整個框架都依賴於生態鏈的共同搭建。這意味著,要達成營運目標,並不只是建立一個Kubernetes平台那麼簡單,還需要學習並掌握所有相關的IT基礎架構知識。
對於專注於開發業務邏輯的開發者來說,大多不會關心底層的運作方式。他們在開發完成後,引導外部流量進來的方式,將會經過API閘道器的南北向傳輸,以及服務之間的東西向溝通。因此,這些都是接手Kubernetes維運的工程師必須要先行掌握的技能。 運行微服務架構的容器系統,技術範疇則涵蓋了自動化、API閘道器、服務遞送機制、結構與非結構資料系統,以及組態設定等。除了學習和加強這些知識,陳思永認為,更重要的是需要在實際的環境中進行演練,這樣才能讓IT人員有效地吸收和消化新知,並將之轉化為自身的技能。