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 有三个关键概念:

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

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

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

App Hub 数据模型
图 1.App Hub 数据模型。

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

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

宿主项目

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

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

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

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

服务项目

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

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

属性和属性

App Hub 数据模型还提供“属性”和“属性”,可以增强应用、服务和工作负载的功能。

属性是描述服务或工作负载的底层基础架构资源的字段。属性有助于识别底层基础架构资源中有助于提升服务或工作负载注册体验的实用信息。属性不可变,并使用底层资源进行更新。例如项目 ID、位置和可用区。

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

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

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

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

API 与 gcloud 参考文档

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

后续步骤