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 支持以下用例:

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

  • 了解应用中的资源 - App Hub 可帮助您了解应用的组成。这有助于开发者 来了解应用的工作原理及其 依赖项。

  • 监控应用中的资源预览版)- App Hub 提供了以下监控黄金信号的全面指标概览:流量、服务器错误率、P95 延迟时间、CPU 利用率和内存利用率。这些信号可帮助运营商了解应用性能并确定依赖项以解决问题。

概念和数据模型

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 数据模型还提供属性和属性 可以增强应用、服务和工作负载的功能。

属性是描述底层基础架构资源的字段 或工作负载属性有助于识别 有助于完成注册的 服务或工作负载的用户体验。通过 App Hub,并且仅会在底层资源发生更改时进行更新。 示例包括项目 ID、位置和区域。

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

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

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

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

API 与 gcloud 参考文档

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

后续步骤