什么是 Apigee Hybrid?

部署的风格化映像

Apigee Hybrid 是一个用于开发和管理采用混合部署模型的 API 代理的平台。该混合模型包括由 Apigee 在 Cloud 中管理的管理平面,以及您在一个受支持的 Kubernetes 平台上安装和管理的运行时平面。

在一处管理所有 API

Apigee Hybrid 可帮助您使用 Google Cloud 管理内部和外部 API。

借助统一的 API 管理机制,您可以为您的开发者、合作伙伴和客户提供一致的 API 项目体验。

化解安全和合规性难题

如果您出于合规性和安全考虑而不得不将应用部署在本地环境中,则在企业级混合网关的帮助下,您可以在本地托管和管理 Apigee Hybrid 运行时平面。

您能够管理和控制运行时,以利用现有的合规性、治理和安全基础架构。

支持您的多云端策略

要平衡费用和性能,您可以采用混合策略。

无论您是正在评估不同的云提供商,还是已经制定了混合策略,您的 API 管理平台都应为您提供所需的灵活性。在您的数据中心和/或 Google Cloud 上托管和管理企业级混合网关。

 

如果您想详细了解 Hybrid:

继续阅读

 

 

如果您可以安装 Hybrid:

从这里开始!

 

混合世界中的 API 项目

Apigee Hybrid 由 Google 维护的管理平面以及您在受支持的 Kubernetes 平台上安装的运行时平面组成。两个平面都使用 Google Cloud Platform 服务,如下图所示:

混合平台的简要视图,包括管理平面、运行时平面和 GCP 服务

如您所见,Hybrid 包括以下主要组件:

  • Apigee 运行的管理平面:一组在云端托管且由 Google 维护的服务。这些服务包括界面、Management API 和分析。
  • 客户托管的运行时平面:一组您可在自己的 Kubernetes 集群中设置和维护的容器化运行时服务。所有 API 流量都会经过运行时平面并在其中进行处理。

    您可管理您的 Kubernetes 集群上的容器化运行时,借助分阶段发布、自动扩缩和容器的其他运营优势提高灵活性。

  • Google Cloud :Google 托管的一套云服务。

关于 Hybrid,您需要了解的一个重要事情是:所有 API 流量都在您的网络边界内在您控制下进行处理,而界面和 API 分析等管理服务在云端运行并由 Google 维护。如需了解详情,请参阅您的数据存储在何处?

通过以下视频可深入了解混合架构:

关于运行时平面

运行时平面是一组容器化运行时环境服务,您可以在受支持的 Kubernetes 平台上运行的特定 Kubernetes 集群中设置和维护这些服务。所有 API 流量都会经过运行时平面并在其中进行处理。运行时平面包含以下主要组件:

运行时平面在您维护的受支持的 Kubernetes 平台上运行的 Kubernetes 集群中运行。

下图显示了在运行时平面执行的主要服务:

在 Hybrid 运行时平面上执行的主要服务

如需了解运行时组件,请参阅后续部分。此外,请参阅运行时服务配置概览

以下各部分详细介绍了这些主要运行时平面服务。

消息处理器

Hybrid 消息处理器 (MP) 在运行时平面中提供 API 请求处理和政策执行。MP 会从本地存储加载所有已部署代理、资源、目标服务器、证书和密钥库。您可以配置 Istio Ingress 控制器,以便将 MP 提供给来自集群外部的请求。

同步器

同步器会从管理平面提取有关 API 环境的配置数据,并在运行时平面中传播这些数据。这些下载的数据也称为合同,并存储在本地文件系统上。

同步器会定期轮询管理服务器以了解是否有更改,并在检测到更改时下载新配置。系统会检索配置数据并将其作为 JSON 文件本地存储在本地文件系统上,供消息处理器访问。

下载的配置数据允许运行时平面独立于管理平面运行。根据合同,运行时平面上的消息处理器将使用本地存储的数据作为其配置。如果管理和运行时平面之间的连接中断,则运行时平面上的服务将继续运行。

同步器下载的配置数据包括:

Cassandra 数据存储区

Apache Cassandra 是一个运行时数据存储区,可在运行时平面提供数据持久性。

Cassandra 是一个分布式数据系统,可在运行时平面上提供数据持久性。您可以将 Cassandra 数据库作为 StatefulSet 节点池部署到 Kubernetes 集群上。将这些变量放置在运行时处理服务附近,有助于满足确保安全性和高可扩缩性要求。

Cassandra 数据库存储有关以下实体的信息:

  • 密钥管理系统 (KMS)
  • 键值对映射 (KVM)
  • 响应缓存
  • OAuth
  • 配额

适用于运行时数据的 Management API (MART)

属于您的组织且在运行时 API 调用期间访问的数据由 Cassandra 存储在运行时平面中。

这些数据包括:

  • 应用配置
  • 密钥管理系统 (KMS) 数据
  • 缓存
  • 键值对映射 (KVM)
  • API 产品
  • 开发者应用

要访问和更新该类数据(例如,添加新的 KVM 或移除环境),您可以使用 Apigee Hybrid 界面或 Apigee API。MART 服务器(适用于运行时数据的 Management API)可针对运行时数据存储区处理 API 调用。

本部分介绍 MART 在调用 Apigee API 以访问运行时数据存储区时的作用。

 
什么是 MART

要调用 Apigee API,可向管理平面上的管理服务器 (MS) 发送经过身份验证的请求。MS 对请求进行身份验证和授权,然后在运行时平面上将请求转发到 MART。附加到该请求的是 MS 使用预先配置的服务账号生成的令牌。

MART 接收请求,对其进行身份验证和授权,然后对其执行业务验证。(例如,如果应用是 API 产品的一部分,MART 可确保它是有效请求。)确定请求有效后,MART 将进行处理。

Cassandra 存储 MART 处理的运行时数据(毕竟,这是运行时数据存储区)。MART 可能会从 Cassandra 读取数据,也可能会更新该数据,具体取决于请求类型。

与大多数混合服务一样,MART 是无状态的:在运行时不会持久保留自己的状态。

什么不是 MART

即使 MART 向公有云公开端口,您也不需要直接调用 MART。(必须公开端口,这样 MART 才能通过服务账号从 MS 接收调用。)

此外,MART 不会接收从客户到其 API 代理的运行时调用;这些调用由入站流量控制器处理,并路由到集群的消息处理器。

 

值得一提的是,MART 和消息处理程序都可访问同一运行时数据存储区 (Cassandra),这是 KMS、KVM 和缓存等数据的共享方式。

下图显示了 Apigee API 调用流:

Hybrid 中的 API 调用流

UDCA

通用数据收集代理 (UDCA) 是在运行时层面的数据收集 Pod 中运行的服务,用于提取分析、调试和部署状态数据并将其发送到 UAP。

如需了解详情,请参阅调试、分析和部署状态数据收集

关于管理平面

管理平面在 Google Cloud 上运行。其中包括如下管理服务:

  • Apigee Hybrid 界面:提供界面供开发者创建和部署 API 代理、配置政策、创建 API 产品以及创建开发者界面。管理员可以使用 Apigee Hybrid 界面监控部署状态。
  • Apigee API:提供用于管理组织和环境的编程接口。
  • 统一分析平台 (UAP):从运行时平面接收和处理分析和部署状态数据。

下图显示了在管理平面上执行的主要服务:

在 Apigee Hybrid 管理平面上执行的服务

Google Cloud 服务简介

下表介绍了 Hybrid 利用的主要 Google Cloud 服务:

Google Cloud 服务 说明
身份 用户账号身份验证使用 Google Cloud 账号。授权使用 Google Cloud 服务账号。
角色 Hybrid 访问管理使用 Google 角色引擎和 IAM,并支持默认 Apigee 角色。
资源层次结构 资源在 Google Cloud 项目中进行组织(与 Apigee 组织相关联)。
Stackdriver 提供日志记录和指标数据分析。
 

用户类型

Apigee 已确定以下主要类型的 Hybrid 用户:

角色 典型的责任/任务 感兴趣的领域
系统管理员/操作员
  • 在 Hybrid 的运行时平面上安装和配置服务
  • 设置 Google Cloud、Apigee 和服务账号
  • 创建 Google Cloud 服务和项目
  • 管理 Kubernetes 集群
  • 维护上述所有内容
  • 排查 API 代理问题
开发者
  • 使用 Apigee Hybrid 界面或 Apigee API 构建 API 代理
  • 将 API 代理部署到运行时平面
  • 排查 API 代理问题
  • 测试 API 代理
 

优点

Apigee Hybrid 具有以下优势:

提高了敏捷性
由于 Hybrid 是在容器内交付和运行的,因此您可以实现容器化系统的分阶段发布、自动扩缩以及其他操作优势。
缩短了延迟时间
与 Hybrid 管理平面的所有通信都是异步的,并且不是作为处理客户端 API 请求的一部分发生。
提高了 API 采用率
虽然可以使用 Apigee 处理内部 API,但您可以使用 Hybrid 降低延迟时间和提高效率,这使得使用 Hybrid 处理内部 API 成为具有吸引力的选项。实现此效率部分是因为您的 API 网关在本地运行,且靠近您的后端服务。此外,如果您使用 Apigee,则可以通过 Hybrid 处理内部 API 来提高 Apigee 的采用率。
更好的控制
许多企业纷纷采用混合策略。管理在私有数据中心部署的 API 运行时的能力是大型企业的关键要求。目前,Hybrid 运行时平面可以部署到 Google Cloud 或您自己的数据中心。

下一步

请参阅概览 - Hybrid 安装过程概览。