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 围绕“应用”的概念构建而成。

您可以使用应用及其相关属性来创建治理 服务和工作负载抽象方面的运营边界。您可以 然后使用这些属性来整理和查找应用及其 相关服务和工作负载 可观测性、审核和治理。

<ph type="x-smartling-placeholder">
</ph> App Hub 数据模型
图 1.App Hub 数据模型。

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

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

宿主项目

宿主项目托管 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 属性包含应用、服务 或工作负载 支持的所有者类型如下: <ph type="x-smartling-placeholder">
      </ph>
    • developer_owners:负责开发和编码的开发团队。
    • operator_owners:确保运行时和操作的运营团队 完整性。
    • business_owners:确保质量并确保 满足用户期望
  • 应用、服务或工作负载的重要性表明 对业务的重要程度支持的值如下所示:

    • 任务关键型
  • 环境是指应用、服务或工作负载 例如生产、预演或开发。通过 支持的值如下:

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

API 与 gcloud 参考文档

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

后续步骤