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 部署及操作多租戶應用程式,主要分為四個階段:
設計及封裝應用程式:在 Application Design Center 中編寫模組化 Terraform 元件,並組裝複合應用程式範本,或將 Terraform 設定封裝成 OCI 藍圖。
設定專案和服務帳戶:設定供應商和租戶專案,並將必要的 IAM 角色授予 App Lifecycle Manager 服務帳戶。
建立及模擬應用程式產品: 建立應用程式產品,並指定目標區域、連結複合範本或在「模擬及封裝部署單位」中定義單位種類,以及設定變數和依附元件。
佈建單元並部署版本:為每個租戶部署單元執行個體,並按照「更新 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 的地點規定。
後續步驟
試用快速入門導覽課程,使用 App Lifecycle Manager 部署 Cloud Run 和 Cloud Storage 複合應用程式範本。
請按照端對端教學課程設計及部署 SaaS 產品。
首先,請建立應用程式產品。
查看 App Lifecycle Manager 服務帳戶、推出策略和 App Lifecycle Manager 區域化。