應用系統架構典範轉移 K8S催生雲端原生起跑

2020-05-30
在數位化趨勢浪潮下,企業採用雲端平台來建構現代化應用系統的數量正逐年增長。根據IDC發布的2020台灣ICT市場十大趨勢指出,2019年全球已有八成的企業導入混合/多雲環境,台灣則有46%的企業正在試行,並且預測到2022年,全球將有45%企業把應用程式部署在容器化的多雲環境,屆時台灣亦有74%的企業採行混合/多雲的環境部署。整體架構中,Kubernetes(K8S)將成為跨多雲部署及管理容器的主要平台互通標準。

 

在國際間大力推動雲端原生(Cloud Native)平台的雲端原生運算基金會(CNCF),自2015年成立時就已聲名大噪,主流的公有雲服務供應商AWS、Google Cloud、Microsoft Azure、IBM Cloud等皆全數加入,此外VMware、Red Hat、Oracle等國際知名大廠亦為白金會員,共同推動跨叢集自動部署、擴充資源、執行的應用程式容器化平台,實現雲端應用服務的可移植性,無須被單一供應商所綁定。

產業競爭加劇驅動雲端原生應用興起

雲端原生有利於企業在公有雲、私有雲、混合雲/多雲的動態環境中,建構可彈性擴展的應用程式,相關的技術包含容器(Container)、Service Mesh、微服務(Microservice)、不可變基礎架構(Immutable Infrastructure)、宣告式API(Declarative API)。這些技術可建構容錯、易於監看與管理的鬆散耦合系統,基於自動化手段,雲端原生技術可讓DevOps團隊更容易操作應用服務頻繁的改版與變更,加深資訊科技與營運業務關聯性,滿足企業對於IT帶來創新商業模式的期待。

CNCF推動的開源技術項目成熟度等級,區分為初級(Sandbox)、孵化(Incubating)與畢業(Graduated),定義的標準包括採用率、壽命以及是否可在線上營運環境實作,K8S即是2018年從CNCF畢業的多個開源項目之一。

台灣紅帽軟體(Red Hat)解決方案架構師孫翊軒引述CNCF去年(2019)提出全球的研究報告指出,相較於2018年,企業營運業務採用容器部署的數量,以250個單位的統計使用量成長28%。由此來看,IT產業的確開始部署大量容器環境。

反觀台灣,前述提及IDC針對台灣IT產業的統計報告中大約46%企業開始進行混合/多雲應用的試行,特別是競爭相當嚴峻的金融業與電信業,幾乎各家皆有發展計畫。金融業面對的是金融科技(FinTech),也開始運用雲端服務,2019年開始實施開放銀行(Open Banking),先行以平台提供API串接,2020年則是純網銀將上線營運,對於銀行業而言,雲端服務已是大勢所趨,緊接著再延伸到保險業,現階段正在積極進行的是核心應用系統瘦身計畫。

在產業競爭的多方因素下,金融業必須積極發展雲端原生的應用服務。至於電信業,歷經慘烈的促銷方案大戰之後,開始推陳出新各式服務。台灣的現況相較於亞太區,過去的資訊系統發展較為穩定,尤其是法規方面,金融與電信的IT相關法規相當嚴謹欠缺彈性,雖確保穩定性卻喪失創新能力,隨著金融與電信產業積極的鬆綁轉型,後續勢必會帶動其他產業跟進。

K8S保障容器化應用運行的可用性 

容器環境擁有底層資源控管、隔離執行程序的能力,隨著應用系統演進到微服務架構而被廣泛採用,實際上,容器技術在開源陣營發展已久,例如過去的FreeBSD jail、Solaris Zones、LXC(Linux容器),以及如今最夯的Docker,技術本質不變,只是開發與部署應用方法較以往不同。

Kubernetes共同創辦人暨微軟開源及雲端平台副總裁Brendan Burns在公開演講中曾說明,開發者生態系統中,最重要的是把不同映像檔的依存關係從底層核心中分離。若既有在虛擬主機安裝Binary code,或兩個應用之間共用原始碼倉庫(Repository),運行模式勢必會存在諸多的依存關係,使得管理上變得較為棘手;同樣的,應用程式與作業系統核心之間存在著緊密的依存關係,若想在不影響應用程式的前提下執行作業系統升級或安裝修補更新程式,亦有相當大的風險。容器的特性正可打破這種依存關係,同時仍可呼叫Binary code、Library,進而將其封裝到完全密閉的環境中,讓不同應用程式可在相同作業系統上運行而不互相干擾。

此外,容器的另一個重要作用是可以確保地端主機中運行的應用程式發布到雲端平台後,仍維持相同的方式運行,不僅可藉此大幅提高應用程式的可靠度,亦解決採用特定版本作業系統所開發的應用程式,部署到其他版本時可能引發的相容性問題。

不過,Brendan Burns認為,容器並非幫助開發者實現各種新型態應用的唯一技術,實際上,現代應用程式能否受歡迎,還須取決於可靠度、可擴充性,或是由多台主機組成的分散式系統的穩定度,這也正是K8S興起的主因。

K8S建立在以開發者為中心的功能與容器基礎之上,提供API方式建構應用服務的複製、相互溝通等機制。服務與Pod是K8S的基本概念,前者實際上是把流量定向到各種不同容器的負載平衡器,後者則是被調度到同一台主機上協同運行的一組容器,用以交付應用程式。為了確保版本更新時不至於Crash導致停機,K8S同時得強化部署能力,藉由監控運行狀態防止出錯。

地端與雲端銜接混搭蔚為主流

在IT資源有限的狀況下,企業逐階段朝向數位化發展策略,多數是新的開發專案採雲端原生,既有三層式架構的應用系統則開始部分拆解成微服務,部署到雲端平台。考量企業在應用演進過程中勢必會有一段時間為雲端與地端並行,三大主流公有雲服務供應商紛紛提出地端版的應用模式,例如Google Cloud Anthos、微軟Azure Stack、AWS主機Outposts。

自建部署的Red Hat Openshift,攜手微軟共同推出Azure Red Hat OpenShift,以K8S搭建地端與雲端之間的橋樑,讓開發人員可直接訂閱Azure Machine Learning等服務來建構現代雲端原生應用,從而提高生產力。

引領Hypervisor虛擬技術被廣泛採用的VMware vSphere,甫發布的第7版,開始納入K8S API重新建構,提供虛擬主機與容器同時並行。VMware副總經理暨技術長吳子強不諱言,二年前VMware就已經決定朝整合的方向發展,當時K8S技術的普遍採用程度持續升高,幾乎各家國際大廠都將其納入自家技術平台,使得K8S成為市場上共識的標準。

VMware在全球至少有八成的市佔率,隨著容器環境應用興起,儘管部署環境多了一種選項,全球啟用虛擬主機的數量仍舊持續增長。VMware確實已有客戶從地端遷移到公有雲,從結果來看,各家公有雲的業績都蒸蒸日上,如此說來,地端虛擬化產品的業績理當下滑,實際上卻非如此,VMware也隨之成長,吳子強觀察,這意味著整體IT規模持續在增長,背後的驅動力,正是新型態應用仰賴IT來提供,需求較以往更加殷切。


 


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!