App Lifecycle Manager 概览

借助 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 部署和运行多租户应用主要分为四个阶段:

  1. 设计和打包应用:编写模块化 Terraform 组件,并在 Application Design Center 中组装复合应用模板,或将 Terraform 配置打包到 OCI 蓝图中。

  2. 配置项目和服务账号:设置您的提供方项目和租户项目,并向您的 App Lifecycle Manager 服务账号授予所需的 IAM 角色。

  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 角色。

  • 发布策略:比较单位置、一次性和渐进式发布策略,并了解发布种类如何使用错误预算和单元过滤器来保障生产更新。

  • 区域化:了解应用产品/服务中的可用区域如何控制单元放置、发布位置、自动资源复制以及 Artifact Registry 和 Developer Connect 的位置要求。

后续步骤