快速攻略混合多雲管理平台 Anthos,實踐現代化應用程式的開發與部署

根據麥肯錫公司調查報告,有高達 71% 的 CIO 將「增加靈活性並縮短服務上線時間」視為首要目標。然而在過去傳統做法中,應用程式的開發及發佈會受限於以下缺點,導致拖延產品上線時間:

  1. 被孤立的應用程式營運團隊及工具:例如,一個用於地端環境,一個則是用於各類雲環境中
  2. 不頻繁的發佈加上交付週期長,增加產品部署的風險與複雜度
  3. 在產品開發過程中,未偵測到可靠性及安全性相關問題
  4. 隨著新增的應用程式、團隊及更新愈多,缺乏擴展性、可視性及治理。

因此,近年來企業逐漸擁抱容器化技術,並採用一致、政策合規的平台,如 Google Cloud Anthos,協助 IT 人員快速創造更安全可靠且具有更多功能的應用程式。然而,要加速應用程式的研發速度,除了使用 Anthos 平台之外,還需要搭配調整舊有的應用程式開發、發佈的工具和方法,導入現代化的應用程式開發與部署。

而 Google 多年來致力於打造可以大規模運行的服務,包括擬定應用程式開發及發佈的原則、SRE 概念,並創造 Kubernetes 開源技術。透過 Anthos 平台,企業 IT 人員可使用橫跨本地及雲端環境的應用程式開發及發佈工具。接著文章就來談談,如何運用 Google Cloud 應用程式管理平台 Anthos,強化應用程式的開發及部署。

混合多雲管理 Anthos 平台:快速、安全且可靠的 CI/CD 原則

1. 自動化的建構、測試及部署

首先,持續整合(CI)及持續部署(CD)使得 IT 人員能擺脫傳統軟體發佈週期的限制,使發佈週期可配合您的需求。應用程式部署人員可透過全代管工具做到輕鬆擴展、維護及更新,將新的程式碼快速地推播給用戶。我們提供能與您現有工具整合的使用指南,包括原始碼控管(​​source control)、Artifact repository 及問題管理等,讓您在本地端及各種雲端環境都能輕鬆使用

2. 政策導向的安全性防護(Policy-based security)

「安全性」應奠基於集中管理的政策上,並由自動化工具來執行,而 Anthos 藉由打造一個能橫跨所有環境的通用管理層,來簡化上述原則的執行過程。例如,Anthos Config Management 可在不同的環境中執行安全性及治理政策,使得 IT 人員無需更動程式碼,便能增添或更新政策。同時,Anthos 也支援二進位授權等機制,保護您軟體供應鏈的安全,確保您建置的程式碼就是您部署的程式碼。

有了政策導向的安全性,開發人員可專注打造產品及功能,便無需在每次組織政策及合規標準變動時都更新程式碼

3. 主動可靠性測試(Proactive reliability testing)

CI/CD 透過測試化工具進行檢查,使得 IT 人員在開發及測試階段便能進行檢查及預防問題,而不需要分散心力來解決正式環境中的問題 (左移測試,shift-left),有別於過去只能在功能上線後才發現問題。GCP 提供的 CI/CD 支援自動推出及版本回復功能,且擁有一致的 Anthos ,使技術人員能透過與正式環境相似的開發及測試環境,在產品上線前即時發現相容性問題。

4. CI/CD 用戶及工具

在考慮現代 CI/CD 管道的組成時,需考慮組織裡的三個角色:開發人員(Developer)、部署測試人員(Operator)及資安管理人員。以下圖解各個角色可使用的工具以及彼此間的互動方式:

icon/enlarge

開發人員:

開發人員可使用 git repository(git 儲存庫)來進行程式碼管理,包括儲存應用程式、設定檔程式碼,並檢視程式碼的變更紀錄。開發人員也可以使用如 Gitlab 等持續整合(CI)工具。該服務能測試及驗證程式碼,並能建構出可用於部署環境的 artifact(V像是用於 Kubernetes 的容器映像檔)。最後,您的開發人員也可使用 Container Registry 來儲存 CI 過程中建構的容器映像檔。

部署人員:

部署人員也可使用 git repository 來儲存部署應用程式相關的指令。透過使用如 Kustomize 或 Anthos Config Management 等配置管理工具,操作人員可將 CI 創建的映圖及部署指令進行打包,這也允許原始檔primitives)或樣板 (blueprints) 的重複使用及擴展。最後,操作人員可使用 CD(持續部署)服務,該服務定義跨環境間的程式碼推出過程、簡化測試環境與正式環境間的轉換過程,並為無效的更新提供簡單的版本回溯功能。

資安管理人員:

資安管理人員使用 git repository 來儲存用於基礎架構(叢集)的政策,可與 Anthos Config Management 所提供的政策管理服務一起使用,進而提供在叢集上執行政策的機制(如角色型存取控制 RBAC、配額等)。管理人員可使用 Anthos GKE 來管理叢集,以提供容器編排、運行在 CI 過程中建構的映像圖,並可針對工作負載提供擴充及健檢與推出方法。管理人員可在審核並核准政策變動後,再予以併入正式叢集環境。

這些工具都被設計可在 Anthos 環境中使用,並且能結合其他 Anthos 功能使用,如 Anthos Service Mesh 等,讓您更加瞭解服務運作狀況,提高系統彈性。

5. Anthos 部署中的 CI/CD

基於營運持續性、法令遵循、可擴展性,以及開發團隊或用戶的鄰近性等理由,您的軟體開發及發佈過程很可能會橫跨一個以上的環境,無論是本地或雲端、跨區域或是多雲環境。接著,讓我們來看看該如何使用 Anthos 跨區域執行 CI/CD,由第一個區域作為開發、測試及正式環境,而第二個區域也可用於正式環境。

icon/enlarge

在以上的範例架構中:

(1) Anthos Config Management 讓您的叢集保持同步,並讓資安管理人員確認部署人員所部署的應用程式都遵循組織政策與合規性。

(2) Anthos GKE 將開發叢集進行分配,讓開發人員在進入部署階段前,仍可以處理應用程式。

(3) Anthos Service Mesh 為跨環境中所有的叢集提供服務管理功能,讓部署人員知道應該將應用程式部署於何處。

(4) Artifact Registry 可儲存於 CI 階段所建構的容器映像檔。

(5) 最後,應用程式部署人員可統一且一致地在所有環境中部署應用程式

透過 Anthos 平台,IT 人員可將程式碼更快速地部署於任何位置的正式環境中。

Google Cloud 持續完善合作夥伴生態系

「合作夥伴生態系」是 Google Cloud 成功的一大原因 。GitLab 聯盟副總裁 Brandon Jung 便指出:「世界上許多企業都使用我們的 CI/CD 工具來轉換並改善他們的應用程式開發及部署。我們與 Anthos 合作的原因在於,它提供了一個有彈性的應用程式現代化平台,可在混合雲及多雲環境中建構並發佈安全的應用程式。」

在上方的範例架構中,GCP 使用 GitLab 的 CI 服務來簡化測試跟正式環境間的過程。目前 GitLab 所提供的 CI/CD 工具,已被超過 100,000 個組織使用,並匯集超過 2,200 個活躍貢獻者。

此文翻譯自 Google Cloud Blog:  Anthos in depth: Modern application development and delivery

延伸閱讀:【Google Cloud Next’21】運用 Anthos 統一管理雲、地虛擬機,輕鬆打造高可用的跨國 IT 服務

【 下載技術白皮書 】透過多雲管理平台 Anthos,實現應用程式現代化

訂閱 CloudMile 電子報

所有 CloudMile 最新消息、產品動態、活動資訊和特別優惠,立即掌握。