借助 App Lifecycle Manager(以前称为 SaaS 运行时),您可以在 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、Observability 和 Resource Manager 之间的服务。
提高模块化和可重用性:使用灵活的模板驱动型架构,支持基于单元的组更新、单元间依赖项和可重复部署。
App Lifecycle Manager 的运作方式
App Lifecycle Manager 会部署定义应用产品的基础设施和应用制品。产品的每个组件都由 Terraform 配置定义,并建模为单元种类。您需要为租户预配单元(单元种类的实例),并使用版本化发布版本和可配置的发布作业逐步更新这些单元。
App Lifecycle Manager 架构围绕以下核心概念构建:
应用产品 (
Saas):表示您的 SaaS 产品并定义资源和单元所在的可用区域的顶级资源。复合模板和蓝图:指定产品 Google Cloud 资源的 Terraform 配置。您可以在 Application Design Center 中设计和连接复合模板,也可以将 Terraform 配置直接打包到存储在 Artifact Registry 中的 Open Container Initiative (OCI) 蓝图中。
单元种类 (
UnitKind):用于定义应用产品中不同、独立管理的组件(例如数据库层或应用集群)的模板。单元种类可以声明依赖项和变量映射,以便一个单元的输出自动作为输入传递给依赖单元。单元 (
Unit) 和租户 (Tenant):单元是单元种类的已部署实例。单元通常按租户分组,并使用 Infrastructure Manager 和用户管理的执行服务账号预配到专用租户项目中。版本 (
Release):单元种类的不可变快照,引用特定蓝图版本和默认输入变量。发布作业种类 (
RolloutKind) 和发布作业 (Rollout):发布作业会将新发布版本应用到一组单元。每次发布都遵循其发布种类中定义的发布策略、错误预算和单元过滤条件。功能标志:运行时配置控件,可让您在不重新部署基础设施的情况下,在单元和租户之间切换功能可用性和行为。如需了解详情,请参阅功能标志概览。
如需查看 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 会自动填充模板中定义的单元种类、蓝图和版本。在 App Design Center 中更新复合模板后,您可以将新模板修订版本导入应用产品,以便在各个单元中部署更新。
如需详细了解如何编写复合模板,请参阅设计复合模板。 如需了解如何将复合模板关联到产品,请参阅模型和打包部署单元。
端到端工作流
使用 App Lifecycle Manager 部署和运行多租户应用主要分为四个阶段:
设计和打包应用:编写模块化 Terraform 组件,并在 Application Design Center 中组装复合应用模板,或将 Terraform 配置打包到 OCI 蓝图中。
配置项目和服务账号:设置您的提供方项目和租户项目,并向您的 App Lifecycle Manager 服务账号授予所需的 IAM 角色。
创建和建模应用产品:创建应用产品,指定目标区域,关联复合模板或在对部署单元进行建模和打包中定义单元类型,并配置变量和依赖项。
预配单元并部署发布版本:为每个租户部署单元实例,并使用发布策略在不同位置部署后续更新,如更新 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 角色。发布策略:比较单位置、一次性和渐进式发布策略,并了解发布种类如何使用错误预算和单元过滤器来保障生产更新。
区域化:了解应用产品/服务中的可用区域如何控制单元放置、发布位置、自动资源复制以及 Artifact Registry 和 Developer Connect 的位置要求。
后续步骤
试用快速入门,使用 App Lifecycle Manager 部署 Cloud Run 和 Cloud Storage 复合应用模板。
按照端到端教程设计和部署 SaaS 产品。
首先,创建应用产品。
查看 App Lifecycle Manager 服务账号、发布策略和 App Lifecycle Manager 区域化。