眾所皆知,自農曆年以來武漢肺炎(COVID-19)快速地擴散感染,造成民眾恐慌,產業紛紛啟動防疫因應在家工作(Work From Home)新措施,才開始體認到IT資源實際上無法完整支援,例如系統存取回應速度過慢導致效率低落,欲解決此問題,台灣微軟雲端平台事業部副總經理李啓後認為,可評估部署到雲端平台的可能性,此時新世代的雲端原生應用勢必成為首選。
他引述微軟內部的調查報告,既有的客戶至少八成以上皆有採用雲端平台;根據IDC提供的數據,在2022以前,企業至少45%以上會採用Kubernetes(K8S)部署雲端原生架構,幾乎已成為各產業大勢所趨的發展方向。
其實本土企業也正在積極發展中,特別是高科技製造業,積極求新求變,儘管今年上半年度疫情重創全球經濟,本土許多高科技製造業卻能逆勢上揚,其中的因素之一即在於數位轉型。「近幾年相當熱門的K8S調度工具與容器環境對台灣企業而言,最大的意義在於驅動商業模式轉型,重要性較其他國家更高。像是人工智慧資料模型、App,皆可遠端更新,甚至是經過定期巡檢,在故障發生之前即可觸發預測性回復。」李啓後說。
單一平台控管分散式部署架構
不論是邊緣運算裝置、連網裝置、IC設計的從業者,先一步理解商業價值者,即可超前搶佔市場競爭優勢。現階段有能力提供遠端更新服務,主要即為Docker容器化之後發揮的效益。因此不單純只是IT部門的轉型,對台灣眾多製造業而言,更可實現現代化商業模式應用場景。
經過微軟多年市場教育,許多企業內部已有發展原型或測試驗證專案,現在的問題是技術普及後,商業模式的改變。各家企業都注意到此潮流,只是速度不一,畢竟本土產業幾十年來製造業思維更重視最大程度降低成本開支,而非投資創新,在數位化時代可能改以租賃或服務模式提供,可說是相當大的改變。
台灣是全球製造重鎮,可能接收到來自全球的訂單需求,例如發展人工智慧邊緣伺服器等,國際IT大廠的雲端平台皆採以容器化與微服務所打造,使得本土製造業也必須得學習微軟提出的容器環境,目的是為了驗證自家製造生產的硬體可運行。
傳統三層式應用架構,確實可以直接打包封裝遷移部署到雲端平台,比較新的方法是App演進到微服務架構,運行在容器叢集環境,基於雲端服務執行控管。這也就是既有應用系統現代化最佳的做法,亦可藉此延長使用年限。
以往熟知的應用系統與雲端原生最大的差別之處即在於管理。相較於市場上可以找到的管理工具,微軟較特別的是可落實端到端的控管,讓企業專注在發展商業模式,至於爆量存取的狀況,則由Azure負責擴充,或隨著存取量降低而縮減。企業用戶可藉由日前推出的Azure Arc,打造內部自建、邊緣與多雲的分散式部署環境。
AKS協同Openshift輔助DevOps控管
微軟針對企業端設計的Kubernetes on Azure,新推出的Azure Arc可同時控管地端與雲端,中介層有Azure Kubernetes Service(AKS)、Azure Container Instances,以及協同Red Hat提供的Openshift,輔助DevOps團隊控管。
李啓後說明,許多企業通常會採用不同雲端服務供應商,以免過度仰仗單一技術遭綁定。台灣具備全球製造的優勢,微軟認為邊緣端的部署建置較雲端更為重要,Azure Arc即是於此背景下所推出,包含SQL Server、PostgreSQL,在任何的角落皆可納管。通常不同技術供應商皆有專屬的控管工具,IT管理者得同時操作多種介面,進入到混合雲之後,企業更是需要單一控管平台協助分散式部署的基礎架構。
至於AKS,Kubernetes共同創辦人暨微軟開源及雲端平台副總裁Brendan Burns說明,該服務是基於開源專案所發展,提供7×24小時託管服務,以及叢集自動檢測、修復服務、自動擴展等功能。就K8S叢集操作來看,Azure有能力以可靠的方式,提供Kubernetes API服務,同時不會干擾或要求客戶與客戶的團隊參與叢集操作,該服務不僅僅可讓客戶免於操作,還提供安全性保障,最新的K8S建構與Azure Security Center的整合,以及Active Directory身分驗證等工具的整合,可協助控管存取叢集的用戶。
K8S API抽象化操作流程自動執行
現代部署模式以DevOps為主流,跨部門的協同工作,以因應現代多樣化發展的技術工具,可以多人共同更新運行在容器環境的微服務架構。容器環境基於API整合溝通,新型態的應用模式例如開放銀行(Open Banking),提供核心的帳務系統得以藉由API呼叫取得資料。雲端原生應用的特性是容器環境,微軟可完整控管,開發人員可盡情發揮所長,不需要分心研究網路傳輸與安全性相關問題。
資訊系統的發展至今,從實體大型主機演進到虛擬伺服器,如今再次演進到容器化,實際上,前者較偏重於硬體資源的虛擬化,啟用時必須先經過開機步驟,完成後才可執行應用程式;容器化則是同屬於作業系統層,承載的應用程式立即可用。
李啓後進一步提到,早期容器開始被嘗試實作時,主要部署在Hypervisor平台上的虛擬主機,目前主流的做法是在作業系統上增設Docker Engine,也就是虛擬作業系統環境,底層的硬體與Host OS,可以是地端的硬體或雲端平台上的虛擬主機,只要找得到相對應的Docker Engine,即可創建應用程式可執行的沙箱環境。
至於負責調度的K8S工具,則是以嶄新的形式重新提供了抽象層。Brendan Burns說明,K8S API服務也可以被視為基礎架構之上的抽象層,適合提供開發者建構與描述部署到雲端平台或本地部署的應用程式。無論是Azure、本地資料中心、其他公有雲平台上運行,利用K8S API建構應用程式,可提高程式碼的可移植性。「當人們使用雲端服務時,實際上不必考慮服務背後如何運作,這意味著服務的用戶不必擔心應用服務擴展出問題、版本未能及時升級、甚至是程式碼出錯率過高等問題,藉由K8S抽象化提供服務,可加快開發專案的速度,讓開發者專注於基於API建立整合運行模式。」