App Hub 概览

许多云应用在演变过程中会包含一个或多个 Google Cloud 项目中的多个基础架构资源,这可能会使开发者和运维人员更难管理和理解这些资源。App Hub 提供以应用为中心的方式来整理这些资源,以帮助您了解资源互动并支持业务功能。

本文档适用于设置、管理和使用 App Hub 应用的人员。

以应用为中心的组织

App Hub 可让您以应用为中心的方式组织资源,在考虑业务功能时采用相同的方式,从而帮助您实现业务目标。 Google Cloud App Hub 完全由 Google Cloud 管理,无需您安装任何额外的基础架构。

App Hub 管理员可以轻松管理从一个或多个 Google Cloud 项目中提取的基础架构资源,从而简化复杂的业务运营和大规模治理。App Hub 可通过创建将这些资源作为 App Hub 服务和工作负载包含在内的 App Hub 应用来帮助整理这些基础架构资源。将服务和工作负载注册到应用有助于您回答以下问题:

  • 我所有项目中存在多少个应用?
  • 应用中的服务和工作负载之间是如何相互依赖的?
  • 这些应用、服务和工作负载归谁所有?
  • 有多少应用属于关键应用?
  • 有多少应用处于生产环境中?

例如,您可能有多个团队参与为贵商家开发应用。这些团队可以创建数百或数千个Google Cloud 资源,这些资源分散在许多 Google Cloud 项目中。App Hub 会自动发现基础架构资源,并将其表示为服务和工作负载抽象。您可以将这些服务和工作负载注册到应用中,以明确资源所有权和重要性。如需了解详情,请参阅 App Hub 概念和数据模型

将资源整理为应用后,您可以将业务逻辑和政策应用于应用,同时知道只有该应用会受到影响,以及贵组织中哪些人员负责该应用。例如,您可以为特定环境(例如生产环境)创建应用,并向其所有者提供高度特权的访问权限。

如果贵商家的团队结构发生变化,您可以使用 App Hub 轻松转移应用所有权。使用 App Hub 时,您还可以更轻松地确定不同资源和应用之间的依赖关系。

使用场景

App Hub 支持以下用例:

  • 整理和分类应用 - 借助 App Hub,您可以使用 OwnerCriticalityEnvironment 等属性整理和分类应用。这样,您就可以轻松找到和管理特定应用及其关联的资源。

  • 了解应用中的资源 - App Hub 可帮助您了解应用的组成。这有助于开发者和运维人员了解应用的运作方式及其依赖项。

  • 监控应用中的资源预览版)- 借助 App Hub,您可以查看和监控 App Hub 应用及其注册的服务和工作负载的日志、指标和问题。这有助于运营商了解应用性能并确定依赖项以解决问题。如需了解详情,请参阅监控 App Hub 应用

  • 依托 AI 技术的辅助功能预览版)- 使用 Gemini Cloud Assist 面板,通过自然语言问题在启用了应用的文件夹中检索应用相关信息。如需了解详情,请参阅在 Google Cloud 控制台中使用 Gemini Cloud Assist

  • 集中查看应用的操作和数据分析 - 使用 Cloud Hub 查看应用相关信息,例如Google Cloud 突发事件、应用部署状态以及 Cloud Monitoring 提醒和指标。如需了解详情,请参阅 Cloud Hub 概览

概念和数据模型

App Hub 包含三个关键概念:

  • 应用是由服务工作负载组成的功能性分组,可以实现端到端业务功能。
  • 工作负载表示执行业务功能最小逻辑子集的二进制部署,例如托管式实例组 (MIG) 或 Google Kubernetes Engine (GKE) 部署。
  • 服务是一种网络或 API 接口,用于向客户端公开功能,以便客户端通过网络使用这些功能;例如,负载平衡器的转发规则。

App Hub 围绕应用的概念而构建。

您可以使用应用及其关联的属性,围绕服务和工作负载抽象创建治理和操作边界。然后,您可以使用这些属性整理和定位应用及其关联的服务和工作负载,同时执行可观测性、审核和治理等活动。

宿主项目或管理项目中服务或工作负载的注册状态为以下值之一:

  • 已发现:您可以将服务和工作负载注册到应用。已发现的服务和工作负载还包括您从应用中删除或取消注册的服务或工作负载。
  • 已注册:已注册到应用的服务和工作负载。您只能注册已发现的服务或工作负载。注册服务或工作负载后,注册状态会从“已发现”更新为“已注册”。
  • 已分离:已注册到已删除其底层资源的应用的服务和工作负载。例如,如果服务所代表的转发规则被删除,则该服务的注册状态会更新为已分离。分离的服务和工作负载会一直保留在应用中,直到您将其取消注册。

应用管理

您可以使用启用应用的文件夹或宿主项目设置和管理 App Hub 资源。启用应用的文件夹是一种Google Cloud 文件夹,可让您定义和管理 App Hub 应用。宿主项目是 Google Cloud 一种项目,可让您定义和管理 App Hub 应用。本部分介绍了如何使用启用了应用的文件夹管理应用。

我们建议您使用启用了应用的文件夹,而不是托管项目。启用应用的文件夹具有以下优势:

  • 文件夹中的所有项目和资源都会自动可供应用管理。对于宿主项目,您需要将每个项目单独添加为服务项目,才能开始创建应用。
  • 您可以使用 Google Cloud Observability 监控应用,并查看 App Hub 应用的遥测数据。对于宿主项目,您必须根据需要从宿主项目中手动添加或删除受监控的服务项目。

支持应用的文件夹

建议

启用应用的文件夹是指在 Resource Manager 中为应用管理创建的Google Cloud 文件夹。如需详细了解如何配置文件夹以进行应用管理,请参阅管理文件夹中的应用。您可以使用此启用了应用的文件夹来定义管理边界,以便在组织内创建和管理应用。这些边界可以通过“所有者”“重要性”和“环境”等属性进一步定义。如需了解详情,请参阅本文档中的房源和属性部分。

在支持应用的文件夹上启用应用管理功能后,系统会执行以下操作:

  • Google Cloud 会为文件夹创建一个管理项目。每个文件夹只能包含一个管理项目,并且您无法移动或删除此项目。管理项目用于将启用应用的文件夹的子项目中的资源托管为 App Hub 服务和工作负载。
  • 系统会在管理项目中自动启用支持应用管理的服务的 API,例如 App Hub 和 Gemini Cloud Assist。如需详细了解已启用的 API 列表,请参阅启用应用管理

为文件夹启用应用管理功能后,您可以在启用应用的文件夹的后代项目中创建和部署 App Hub 应用。如需详细了解如何在启用应用的文件夹中设置 App Hub,请参阅为启用应用的文件夹设置 App Hub。如需为文件夹关闭应用管理功能,您必须提交支持请求

您可以使用多个 Google Cloud 文件夹来设置组织层次结构,并实现跨项目体验。例如,文件夹可以包含项目或文件夹,也可以同时包含这二者。对于贵组织中的每个业务部门,您可以有不同的部门,每个部门都有自己的资源。为文件夹启用应用管理功能后,您就可以使用 App Hub 应用整理、部署和监控这些资源。您可以使用 Application Design Center 设计和部署应用,使用 App Hub 整理和管理应用,使用 Cloud Hub 集中查看应用和资源的运维数据和分析洞见,以及使用 Google Cloud Observability 监控应用。

基于启用应用的文件夹的 App Hub 数据模型。
    该图包含两个文件夹,每个文件夹代表一个业务部门,其资源分组为服务和工作负载。第一个文件夹还包含代表单独业务部门的子文件夹,以及包含资源的各种独立项目。所有文件夹都已启用应用,因此都有各自的管理项目。
图 1. 基于启用应用的文件夹的 App Hub 数据模型。

宿主项目

宿主项目托管 App Hub 资源(应用、服务、工作负载)。App Hub 服务和工作负载可用作您在连接到宿主项目的服务项目中发现的资源的抽象。宿主项目充当管理边界,应用属于此边界。您可以使用多个主机项目和应用创建单独的边界,以满足特定的业务需求。借助宿主项目,您还可以管理跨项目应用,其中应用的服务和工作负载位于多个项目中。

基于宿主项目的 App Hub 数据模型。
图 2. 基于宿主项目的 App Hub 数据模型。

我们建议您创建一个新 Google Cloud 项目作为托管项目,以区分底层基础架构资源与 App Hub 数据模型概念。如果您需要多个宿主项目(例如,为每个独立业务部门创建一个宿主项目),我们建议您创建一个新文件夹,然后将项目添加到该文件夹中。

根据向宿主项目授予的 Identity and Access Management (IAM) 角色(apphub.adminapphub.editorapphub.viewer),您可以创建应用、为应用分配属性,以及注册或查看服务和工作负载。如需了解详情,请参阅 App Hub 角色和权限

如需详细了解如何创建托管项目,请参阅设置 App Hub

服务项目

服务项目是包含底层基础架构资源的 Google Cloud 项目。您可以将服务项目关联到宿主项目,以便将其中的基础架构资源组合到一个应用中。

您无法将服务项目关联到多个宿主项目。宿主项目可以是自己的服务项目,但不能是其他宿主项目的服务项目。

属性和特性

App Hub 数据模型还提供可增强应用、服务和工作负载功能的属性特征

属性是用于描述服务或工作负载的底层基础架构资源的字段。属性有助于识别基础架构资源中具有意义的信息,这些信息有助于改善服务或工作负载的注册体验。通过 App Hub 创建的媒体资源是不可变的,只有在底层资源发生更改时才会更新。例如,项目 ID、位置和区域。

属性是可变字段,可为应用、服务和工作负载设置,以便更好地识别和整理它们。支持的 App Hub 属性包括:

  • Owners 属性包含应用、服务或工作负载的联系信息。支持的所有者类型如下所示:
    • developer_owners:负责开发和编码的开发团队。
    • operator_owners:确保运行时和运营完整性的运营商团队。
    • business_owners:确保满足质量要求和用户期望的企业团队。
  • 应用、服务或工作负载的重要性表明了它对于业务的重要程度。支持的值如下:

    • 任务关键型
  • 应用、服务或工作负载的环境是软件生命周期的阶段,例如生产、预演或开发。支持的值如下:

    • 生产
    • 预演
    • 测试
    • 开发

API 与 gcloud 参考文档

如需详细了解 App Hub 属性,请参阅以下参考文档:

后续步骤