App Hub 概览

随着云基础架构的开发,您可能会跨多个项目组织 Google Cloud资源。您还可能在一个或多个项目中拥有许多资源,这些资源提供您想要进行逻辑分组的集成业务功能。 Google Cloud 中的资源层次结构可能会使您难以出于这些分组目的来管理和整理基础架构。App Hub 提供了一种以应用为中心的方式来对服务和工作负载进行分组和管理,可帮助您将基础架构与业务功能保持一致。

App Hub 充当 Google Cloud上应用的基础数据模型和中央注册表。它创建了一个单一可信来源,可明确资源所有权、依赖关系和业务背景信息。这反过来又可以为其他 Google Cloud 产品提供所需的以应用为中心的上下文。如需详细了解这种以应用为中心的模型及其功能,请参阅以应用为中心的 Google Cloud

本文档从概念上简要介绍了 App Hub,以便您在设置或管理 App Hub 之前了解其功能和优势。

为何要使用 App Hub?

通过将重点从单个基础设施资源转移到它们所组成的应用,App Hub 可帮助您大规模简化治理和运营。

App Hub 可帮助您实现以下以应用为中心的功能:

  • 整理和编目应用:将一个或多个项目中分散的 Google Cloud资源分组到逻辑 App Hub 应用中。然后,您可以使用所有者、业务关键性和环境等属性查找媒体资源并对这些应用进行分类,从而提高可发现性和问责性。如需了解详情,请参阅属性和属性

  • 为团队创建统一视图:通过在 App Hub 中定义应用,您可以为其他 Google Cloud产品提供必要的背景信息。例如,您可以启用以下功能:

    • Cloud Hub 中的集中式运营和分析洞见视图,可在应用情境中显示提醒、突发事件和性能数据。
    • Gemini Cloud Assist 提供的 AI 赋能的辅助功能,该功能使用 App Hub 的数据模型来帮助您设计、运营应用和排查应用问题。
    • 利用 Google Cloud Observability 进行应用监控,通过显示应用及其组件的遥测数据,帮助您排查错误并提升性能。
  • 明确所有权和依赖关系:了解应用的构成方式以及其组件之间的依赖关系。此功能可帮助开发者和运维人员直观呈现应用架构、确定所有者并解决问题。

如需详细了解 App Hub 如何融入更广泛的应用生命周期,请参阅以应用为中心的 Google Cloud

App Hub 概念和数据模型

App Hub 基于以下关键概念的数据模型构建:应用、服务和工作负载。这些术语在业界很常见,但 App Hub 以特定方式使用它们。

下表将 App Hub 定义与常见的行业用法进行了比较:

概念 App Hub 定义 常见行业使用情况
应用 服务和工作负载的逻辑分组,共同提供业务功能。 可以指单个可部署单元、代码库或广泛的系统。
服务 一种向客户端公开功能并可将请求路由到工作负载(例如负载均衡器)的网络或 API 接口。 通常是指微服务、可部署的组件或具有自有业务逻辑和数据的二进制代码。
工作负载 安装了应用二进制部署的计算资源。这些资源中的应用代码会执行业务逻辑的离散部分。例如,工作负载可以是运行 AI 代理代码的 GKE 部署或 Compute Engine 托管式实例组 (MIG)。 一个更通用的术语,指消耗计算资源的任何进程或组件。

如需详细了解这些概念以及其他以应用为中心的 Google Cloud 核心概念,请参阅主要概念。如需查看 App Hub 中支持的资源列表,您可以将这些资源注册为应用中的服务或工作负载,请参阅 App Hub 支持的资源

您可以根据地理分布要求定义 App Hub 应用。您选择的位置会影响您可以在应用中注册哪些服务和工作负载,并且对于数据留存要求非常重要。您可以指定以下位置:

  • 全球应用:将来自多个Google Cloud 区域的服务和工作负载分组。
  • 区域级应用:所有服务和工作负载都位于单个区域中的应用组。

如需详细比较以帮助您选择合适的位置,请参阅全球应用和区域应用

服务和工作负载会在应用中显示注册状态。此外,应用、服务和工作负载可以包含属性和属性形式的元数据。

您可以查看已部署的应用及其服务和工作负载的详细信息,包括位置、注册状态和元数据。如需了解详情,请参阅查看服务和工作负载的详细信息查看应用详细信息

服务和工作负载的注册状态

Google Cloud 资源的组织结构会影响 App Hub 管理服务和工作负载的方式,并允许您在应用中注册它们。您可以向应用注册的服务和工作负载具有以下注册状态之一:

  • 已发现:您可以向应用注册的服务和工作负载,因为它们属于应用管理边界,并且未注册到任何其他应用,或者可以注册到多个应用。“已发现”状态还包括您从应用中删除或取消注册但可以重新注册的服务和工作负载。

  • 已注册:已向应用注册并由 App Hub 管理的服务和工作负载。您只能注册已发现的服务和工作负载。注册服务或工作负载后,注册状态会从 已发现更新为已注册

  • 已分离:已向应用注册的服务或工作负载,但 App Hub 无法管理或监控这些服务或工作负载,因为其底层 Google Cloud 资源不再属于您定义的应用管理边界。注册到应用的服务的注册状态和工作负载可能会因以下原因而更改为已分离

    • 底层资源会被删除。例如,如果您删除由某项服务表示的转发规则,该服务的注册状态会更改为 detached
    • 包含已注册服务或工作负载的基础资源的项目或文件夹移出了应用管理边界。

    分离的服务和工作负载会一直保留在应用中,直到您将其取消注册

    如果您将项目移出应用管理边界,则其分离的服务和工作负载可能会被其他边界中的应用发现。您可以再次注册可发现的服务和工作负载,但必须遵守应用管理边界所确立的资源层次结构

如需选择适合您在Google Cloud 中的资源层次结构的应用管理边界,并让 App Hub 发现和注册您的业务所需的服务和工作负载,请参阅选择应用设置模型。如需查看服务和工作负载的注册状态,请参阅查看服务和工作负载的详细信息

属性和特性

为了丰富数据模型,App Hub 可让您公开属性和特性,以支持应用的可发现性、责任性和治理。将这些值定义为应用元数据有助于您大规模过滤、管理应用组件并为其应用政策。

如需查看应用中服务和工作负载的属性,请参阅查看服务和工作负载的详细信息

以下是属性和特性的一些定义和特征:

  • 属性是不可变的字段,用于描述已注册的服务或工作负载的底层基础架构,例如项目 ID、位置或类型。这些内容会自动发现,无法在 App Hub 中修改。支持的主要属性包括:

    • 预览版注册类型:对于服务,这是一个只输出的属性,用于指示服务是否可以注册到单个或多个应用。此属性的可能值如下:

      • EXCLUSIVE:您只能将服务注册到单个应用。
      • SHARED:您可以将服务注册到多个应用。 此值表示相应服务是共享服务
    • 预览版功能类型:一种仅输出属性,用于标识服务或工作负载的已知功能。例如,当通过 Vertex AI Agent Engine 等受管理的平台部署 AI 智能体时,App Hub 会自动将资源归类为 AGENT 功能类型值,以表明相应工作负载运行的是 AI 智能体。

    • 预览版扩展元数据:一种由架构驱动的属性,可提供有关服务或工作负载的丰富结构化信息。它指的是添加了详细的特定类型数据的键值字段。例如,功能类型值为 AGENT 的工作负载可以包含 apphub.googleapis.com/AgentProperties 元数据,其中包含与 Agent2Agent (A2A) 代理卡片兼容的代理的相关信息。如需查看支持的元数据类型及其架构的列表,请参阅扩展元数据架构

    • 预览版身份:一个仅输出的属性,包含服务或工作负载的服务账号或托管式工作负载身份名称。

  • 属性是可变的用户定义元数据,您可以将其应用于应用、服务和工作负载,以组织和管理它们。您可以在创建应用并向其注册资源时,向应用、服务和工作负载添加属性。 您还可以更新服务和工作负载属性以及更新应用属性。主要属性包括:

    • 所有者:开发者、运营商和业务团队的联系信息。支持的所有者类型包括:

      • developer_owners:拥有开发和编码的开发团队。
      • operator_owners:确保运行时和运营完整性的运营商团队。
      • business_owners:确保满足质量要求和用户期望的企业团队。
    • 严重程度:组件对您业务的重要性。支持的值包括:

      • MISSION_CRITICAL
      • HIGH
      • MEDIUM
      • LOW
    • 环境:组件的生命周期阶段。支持的值包括:

      • PRODUCTION
      • STAGING
      • DEVELOPMENT
      • TEST

App Hub 资源模型

为了启用以应用为中心的功能,App Hub 使用以管理项目应用管理边界概念为中心的资源模型。

  • 推荐文件夹级边界:如果您的组件按 Google Cloud 文件夹结构进行整理,则可以使用文件夹作为边界。此方法可根据业务部门、环境或团队将应用管理边界与组织结构保持一致,并自动包含相应文件夹中的所有项目。
  • 单项目边界:对于所有 Google Cloud 资源都位于一个项目中的小型应用,您可以将该单个项目指定为边界。这是最快速的应用管理入门方法。 您可以通过将项目配置为独立管理项目来定义单项目边界。
  • (旧版)具有宿主项目的多项目边界:对于现有用户,App Hub 支持旧版模型,您可以通过在 Google Cloud 项目上启用 App Hub API 来指定用于应用管理的宿主项目。然后,您手动将其他 Google Cloud 项目(称为服务项目)连接到该项目,以进行多项目资源发现。

App Hub 在 Google Cloud中的资源层次结构之上引入的这一应用管理层,可让 App Hub 发现边界内的支持的资源。您可以为应用选择设置模型,并设置最符合您的资源层次结构和治理需求的应用管理边界。

如需了解此资源组织中的数据处理以及其他以应用为中心的功能,请参阅以应用为中心的 Google Cloud。 如需详细了解如何开始使用以及如何定义应用管理边界,请参阅选择应用设置模型

后续步骤