雲端核心上熱搜,一窺「雲原生」關鍵技術

因應數位轉型與數位韌性趨勢,雲原生(Cloud Native) 一詞繼 2013 年之後又再度躍上檯面成為火熱議題,原因在於雲原生架構的彈性與擴充性,替現今各產業的數位轉型方案帶來許多優勢,但究竟什麼是雲原生?相信各產業對它皆是霧裡看花。

雲原生其實是一「軟體開發與應用」的概念, 2013 年由 Pivotal 軟體公司 ((2019 年底被 VMware 收購)的 Matt Stine 提出,內容涵蓋 DevOps 、持續交付、微服務(Microservices)敏捷基礎設施等要素,而容器化封裝、自動化管理、微服務之間的安全串接,是雲原生系統必須具備的三大特徵。

然隨著時代演進,雲原生運算基金會 (Cloud Native Computing Foundation, CNCF) 於 2018 年將雲原生重新定義:「雲原生技術有利於各組織在公有雲、私有雲和混合雲等新型動態環境中,構建和運行可彈性拓展的應用」,並且直接聲明代表技術包含容器、微服務、服務網格、不可變基礎設施,以及開放式 API。這些技術的特性包含可啟用彈性、可管理且可觀察的鬆散結合系統,且能與健全的自動化結合,可讓工程師即時預測、隨時變更,且節省資源。

簡言之,雲原生是軟體開發與佈署的模式,有利於建立在雲端環境中,目的為讓開發至維運流程更有效率且更容易調整。

華碩雲端數位轉型事業處暨技術服務處總經理潘育群。

揭開雲原生神秘面紗,雲端專家在線解密

然這樣的架構,究竟對現今數位轉型與數位韌性趨勢有何樣的優勢呢?

為此,我們特別邀請到曾任國家通訊傳播委員會 (NCC) 電信技術中心 (TTC) 的國家資安前瞻計畫主持人,現任華碩雲端數位轉型事業處總經理 潘育群 (Peter Pan) 先生來替我們講解雲原生的概念與好處,他將從過往於學、研與產業界在網路服務架構與管理IaaS、PaaS、SaaS IT 產品開發與維運,資訊安全等經驗角度,深入淺出的帶領大家認識雲原生 (Cloud Native)。其中,Peter 將從雲原生的定義至演進歷史始做引導和介紹,讓大家理解雲原生的特性與原理,接著利用應用場合的闡述,刻劃雲原生架構的優勢與影響。

問:什麼是雲原生?雲原生的定義是什麼?
Peter:雲原生顧名思義,為雲而生的「程式與基礎架構」,以應用為核心,所以能適應隨著業務量的變化,動態有彈性的提供 IT 運算資源。因此以雲原生機制所開發配置的應用系統,其工作負載可以在公有雲、私有雲與混合雲之間動態的進行工作負載的配置。從效益角度更進一步來說,軟體的功能開發模組要能夠獨立分割,且要降低軟體在進行功能或資安面更新需求時的成本,部署則要能做到自動化管理,因此導入 DevOps 的開發方法,即以開發 (Development) 與維運 (Operations) 為出發點,避免兩者間因思考點不同,產生意見與執行上的衝突,DevOps 便是為了使整體開發工作能兼顧速度與品質,而產生的合作方式,從應用微服務的規劃開始,充份利用其擴展性與自由度,建立起規模輕量且獨立部署的雲端原生架構,能讓應用程式運行時互不影響,且能免除單一服務出錯而影響其他服務的問題,使超載負荷與程式故障率降低,運作更敏捷,並運用基礎架構導入容器,無伺服器觀念的開發方法,來達到快速建置/測試/部署與維運的目的。

問:雲原生概念的演進?
Peter:簡單可區分為遠古時代跟雲端時代,前者做法是從地端觀念,傳統的開發方式,在預先設定的 IT 資源內執行並提供服務;後者則是因應需求持續推演,從最開始的 Cloud Ready 到 Cloud Friendly,接著 Cloud Resilient ,而 Cloud Native(雲原生)則是滿足前三者後所達成的最終目標,它以微服務的架構提供服務,功能模組之間使用 API 串接,也同時兼顧零信任的資安標準做到認證與權限控管功能。

Cloud Ready 的概念是先達到模組之間無狀態化、做到相依性的管理,比方一個團隊中有三種不同能力的人,一個擅長畫圖、一個擅長撰文、另一個擅長演講,接著因應能力將他們分工,當今天僅需畫圖專長的人,則我們只需找畫圖的人即可,不需動用到全團隊,這便是「無狀態化」,而相依性管理則指三種不同能力,但是同一窗口整合管理,舉凡現在的 K8s 即為類似服務。Cloud Friendly 則是要達到同步執行,程式開發、整合、版本發布與執行自動化,就像執行任務時,會希望撰文跟畫圖的人能同時進行,避免一方等另一方的狀況,旨在提升工作效率,

Cloud Resilient 則強調應用容錯、雲端環境檢測、主動系統錯誤偵測 (failure testing),就像圖畫畫錯時,圖畫的內容可以即時的被修正或抽換。

問:雲原生的應用?會遇到什麼樣的挑戰?
Peter:雲原生的應用適用於一開始是以小型的應用出發,彼此之間是鬆散耦合的關係,比方金融業的數位轉帳功能、線上查帳系統等,隨著應用被認可與擴大,進而建立商業價值。目前以商業應用服務大量的採用雲原生,舉凡金融業巨擎倚靠雲原生技術打造的新中臺架構,或台灣永續金質獎常勝軍的金控公司用微服務開發的新一代核心系統等等,皆為指標性的成功案例。而論雲原生應用的挑戰,其一是鑑於雲原生架構開發,重視架構模組化及服務的獨立性,使它和傳統的架構頗具差異,所以開發者的觀念需要改變,並具備容器的相關知識;另一項挑戰則是資安,大多數現有的資安產品都不是為了雲原生架構所產出的,所以遭遇攻擊時欠缺防備機制,這使得雲端應用更具挑戰,需在開發階段即考量資安的管理與防護,且需另外在 DevOps 平台中,適時的讓資安檢測程序介入並且自動化執行,比方軟體需新增功能,則該程式可毋須停用,在更新後便能立即使用不影響作業,其持續開發、持續部署的特性,讓即便不同開發者間的創作,都可透過自動檢測資安機制,確認執行與應用階段能安全無虞,再來則是 API 串接的安全性、服務網格的管理等,皆是需要通盤考量的挑戰面向。

問:雲原生對於數位轉型的重要性與影響?
Peter:企業數位轉型,通常主管也背負著企業新的營運目標是否能達成,轉型的過程中,也要隨著業務的回饋,能夠即時調整對應真實的狀況,這時需要利用雲端運算來達到即時彈性的效益。雲原生的特性在面臨這樣的需求時,就能滿足數位轉型過程中,動態的調整以符合營運目標。另外自動化維運與擴充可以省去大量的人力成本,縮短時間。

另外,數位轉型最大的驅動力是大量數據分析,提供更多的商業角度,協助企業管理者進行決策,雲原生架構可以因應數據量的變動,更快的調整資源,即時有效的處理數據,舉例來說:某 IoT 應用需要從多張影像中辨識出超速或闖紅燈的車輛,但視覺系統可能不足以負荷龐大的資料量,然在雲原生架構下,可隨時彈性部署或擴充視覺系統的功能及需求,讓影像辨識的能力及速度大幅提升;另一案例是知名車輛共享平台大廠,其應用程式生產環境中有多達 1,000 個以上的服務,每週部署數千次,藉由該廠的服務規模,可得知雲原生架構可讓他們快速回應市場狀況,即時更新各式小型區域的複雜應用,毋需全盤重新部署,且能視個別需求調整服務。

問:華碩雲端強調的雲原生概念是什麼?
Peter:華碩雲端以務實的角度,提供容器化與持續整合與持續部署 CI/CD 註1服務,即上程式的流程自動化,將原有的 IT 環境符合雲原生的程式執行,接著將既有的服務在更新的過程中朝向符合微服務的架構,將應用程式拆成各自獨立的功能模組,華碩雲端所提供的容器化平台也通過 CNCF 的認證。另外在雲原生中因為 API 使用與服務網格註2的形成,華碩雲端同時提供了資安管理機制,包含大量紀錄 (log) 的儲存與管理。從數位韌性的角度來看,雲原生服務系統與資料備份也是華碩雲端所重視的,不僅欲達成雲端應用的部署彈性與擴充性,更為完善資料安全的防護與管理,雲原生概念的應用是華碩雲端發展產品及服務的核心及任務,並致力於統合相同理念的夥伴與戰友,一同實踐雲原生架構及雲原生資料保護的理想與價值,近期更與華碩集團中的台智雲合作,提供多樣的雲原生服務。

為雲而生,致力成雲原生資料保護的專家
隨著全球 COVID-19 疫情與新常態,企業已逐年加速數位轉型並深植數位韌性,根據 iThome 2022 CIO 大調查,三大產業於 2022 年的 IT 預算規模破億,金融、服務和高科技業紛紛加碼雲端投資,微服務促使醫療業擁抱 DevOps , ESG 成 CIO 新焦點,更加速企業上雲腳步,雲原生技術儼然成為 IT 現代新主流。

從各大企業投資趨勢以及開發人員運用雲原生情況,可觀察出此不可逆趨勢,雲原生憑藉其靈活性、可擴展性以及可管理性,迅速擴張並影響了雲端開發環境與流程,不僅藉此帶動另一波因應容器、微服務等相關生態系,更進一步帶動企業數位轉型的效率與可行性。

華碩雲端提倡雲原生資料保護,旨在運用雲原生架構與微服務的特性,協助企業加速數位轉型與強化數位韌性體質,讓企業在評估上雲可行性的同時,多一層資料保護、備份與管理的安全性價值,不僅消除企業上雲時對資安層面的困擾及疑慮、大幅降低 IT 管理人力及時間成本,更讓企業組織在新型態的多元環境中,享有更具擴充性與整合彈性的應用,並透過容器化的雲端技術,達到動態調度,面向真正的微服務架構。

註1:CI (Continuous Integration),即是「持續整合」; CD (Continuous Deployment),即是「持續部署」,何謂 CICD ,簡言之就是將上程式的流程自動化,自動 build code、執行 unit test、自動更新線上服務…等等,所有反覆步驟都轉為自動化執行。(參考來源: IT 邦幫忙)。
註2:服務網格: Service mesh ,彼此功能獨立,但是因為相依性,讓不同功能的容器項目可以做服務串接。