App Lifecycle Manager 總覽

App Lifecycle Manager (原稱 SaaS Runtime) 可讓您在 Google Cloud儲存、託管、管理及監控軟體即服務 (SaaS) 應用程式。App Lifecycle Manager 可大規模管理 Terraform 部署作業,讓您同時管理 SaaS 應用程式和執行該應用程式的基礎架構。

SaaS 管道中的各種利害關係人,可以透過多種方式使用 App Lifecycle Manager。如果您的工作符合下列任一角色,可以使用 App Lifecycle Manager 簡化多租戶作業:

  • 平台管理員

  • 應用程式開發人員

  • 架構師

  • 法規遵循管理員

  • 平台工程師

  • 財務營運

App Lifecycle Manager 具備下列優點:

  • 大規模簡化服務管理:自動執行生命週期工作,例如租戶佈建、階段推出,以及 SaaS 租戶的功能旗標管理。

  • 擴大觀測能力和控管範圍:微調可設定單元的更新和發布作業,大規模精準管理應用程式。

  • 在 Google Cloud中建立一致性:管理Google Cloud、Google Distributed Cloud、Billing、觀測能力和 Resource Manager 的服務。

  • 提升模組化和重複使用性:使用彈性的範本導向架構,支援以單位為基礎的群組更新、單位間依附關係和可重複部署。

App Lifecycle Manager 的運作方式

App Lifecycle Manager 會部署基礎架構和應用程式構件,定義應用程式產品。產品的每個元件都是由 Terraform 設定定義,並以單元 kind 建立模型。您可以為租戶佈建單元 (單元 kind 的執行個體),並使用版本化發布版本和可設定的推出作業,逐步更新這些單元。

App Lifecycle Manager 架構是以以下核心概念為基礎:

  • 應用程式產品 (Saas):代表 SaaS 產品的頂層資源,定義資源和單元所在的可用區域。

  • 複合範本和藍圖:Terraform 設定,用於指定產品的 Google Cloud 資源。您可以透過 Application Design Center 設計及連結複合範本,或直接將 Terraform 設定封裝成儲存在 Artifact Registry 的 Open Container Initiative (OCI) 藍圖。

  • 單位種類 (UnitKind):定義應用程式產品中不同、獨立管理的元件 (例如資料庫層或應用程式叢集) 的範本。單元 kind 可宣告依附元件和變數對應,因此一個單元的輸出內容會自動做為依附單元的輸入內容。

  • 單元 (Unit) 和租戶 (Tenant):單元是已部署的單元 kind 例項。單元通常會依租戶分組,並使用 Infrastructure Manager 和使用者自行管理的執行服務帳戶,佈建至專屬租戶專案。

  • 版本 (Release):單元 kind 的不可變快照,參照特定藍圖版本和預設輸入變數。

  • 推出作業 kind (RolloutKind) 和推出作業 (Rollout):推出作業會將新版本套用至整個機群。每項推出作業都會遵循推出作業 kind 中定義的推出策略、錯誤預算和單位篩選器。

  • 功能旗標:執行階段設定控制項,可讓您切換各單元和租戶的功能可用性和行為,無須重新部署基礎架構。詳情請參閱「功能旗標總覽」。

如需 App Lifecycle Manager 術語的完整定義,請參閱「App Lifecycle Manager 詞彙表」。

準備工作負載,以便使用 App Lifecycle Manager

部署應用程式產品前,請先決定如何在 App Lifecycle Manager 生態系統中,劃分應用程式和基礎架構。

將應一併更新或擴充的應用程式產品元件,整理成不同的 Terraform 設定,並將每個分組模擬為獨立的單位種類。舉例來說,您可以在一個單元類型中建立共用網路或資料庫的模型,並在依附單元類型中建立無狀態應用程式層的模型。

搭配使用複合範本與 App Lifecycle Manager

如要定義 App Lifecycle Manager 產品的架構,請透過 Application Design Center 使用複合範本。

將複合式範本附加至應用程式產品後,App Lifecycle Manager 會自動填入範本中定義的單元 kind、藍圖和版本。在 App Design Center 更新複合範本後,您可以將新的範本修訂版本匯入應用程式,以便在各單位部署更新。

如要進一步瞭解如何編寫複合範本,請參閱「設計複合範本」。如需將複合範本連結至產品的操作說明,請參閱「建立模型並封裝部署單位」。

端對端工作流程

使用 App Lifecycle Manager 部署及操作多租戶應用程式,主要分為四個階段:

  1. 設計及封裝應用程式:在 Application Design Center 中編寫模組化 Terraform 元件,並組裝複合應用程式範本,或將 Terraform 設定封裝成 OCI 藍圖。

  2. 設定專案和服務帳戶:設定供應商和租戶專案,並將必要的 IAM 角色授予 App Lifecycle Manager 服務帳戶。

  3. 建立及模擬應用程式產品: 建立應用程式產品,並指定目標區域、連結複合範本或在「模擬及封裝部署單位」中定義單位種類,以及設定變數和依附元件。

  4. 佈建單元並部署版本:為每個租戶部署單元執行個體,並按照「更新 SaaS 產品」一文所述,使用推出策略在各個位置部署後續更新。

如要逐步完成這個工作流程,請按照下列步驟操作:

  • 請按照設計及部署 SaaS 產品端對端教學課程,在 App Design Center 建立多元件複合範本,並使用 App Lifecycle Manager 部署至各租戶。

  • 試用快速入門導覽課程,透過 App Lifecycle Manager 部署 Cloud Run 和 Cloud Storage 複合應用程式範本。

重要作業概念

在 App Lifecycle Manager 中規劃正式環境架構時,請參閱下列獨立指南:

  • 服務帳戶:瞭解 Google 代管的 App Lifecycle Manager 服務代理、使用者自行管理的啟動用服務帳戶 (actuation_sa),以及選用的構件建立服務帳戶,還有各項服務帳戶所需的 IAM 角色。

  • 推出策略:比較單一位置、一次全部和漸進式推出策略,並瞭解推出 kind 如何使用錯誤預算和單元篩選器,保護正式環境更新。

  • 區域化:瞭解應用程式供應項目中的可用區域,如何控管單元刊登位置、推出位置、自動資源複製,以及 Artifact Registry 和 Developer Connect 的地點規定。

後續步驟