通过 Apigee Hybrid,您可以在本地和 Google Cloud 上管理 API,或者混合使用两者:
在一处管理所有 API |
Apigee Hybrid 可帮助您使用 Google Cloud 管理内部和外部 API。 借助统一的 API 管理机制,您可以为您的开发者、合作伙伴和客户提供一致的 API 项目体验。 |
化解安全和合规性难题 |
如果您出于合规性和安全考虑而不得不将应用部署在本地环境中,则在企业级混合网关的帮助下,您可以在本地托管和管理 Apigee Hybrid 运行时平面。 您能够管理和控制运行时,以利用现有的合规性、治理和安全基础架构。 |
支持您的多云端策略 |
要平衡费用和性能,您可以采用混合策略。 无论您是正在评估不同的云提供商,还是已经制定了混合策略,您的 API 管理平台都应为您提供所需的灵活性。在您的数据中心和/或 Google Cloud 上托管和管理企业级混合网关。 |
如果您想详细了解 Hybrid:
|
如果您可以安装 Hybrid:
|
混合世界中的 API 项目
Apigee Hybrid 由 Google 维护的管理平面以及您在本地或 Google Cloud 上安装到 Kubernetes 中的运行时平面组成。两个平面都使用 Google Cloud Platform 服务,如下图所示:
如您所见,Hybrid 包括以下主要组件:
- Apigee 运行的管理平面:一组在云端托管且由 Google 维护的服务。这些服务包括界面、Management API 和分析。
客户托管的运行时平面:一组您可在自己的 Kubernetes 集群中设置和维护的容器化运行时服务。所有 API 流量都会经过运行时平面并在其中进行处理。
您可管理您的 Kubernetes 集群上的容器化运行时,借助分阶段发布、自动扩缩和容器的其他运营优势提高灵活性。
- Google Cloud :Google 托管的一套云服务。
关于 Hybrid,您需要了解的一个重要事情是:所有 API 流量都在您的网络边界内在您控制下进行处理,而界面和 API 分析等管理服务在云端运行并由 Google 维护。如需了解详情,请参阅您的数据存储在何处?
通过以下视频可深入了解混合架构:
关于运行时平面
运行时平面是一组您可在自己的 Kubernetes 集群中设置和维护的容器化运行时服务。所有 API 流量都会经过运行时平面并在其中进行处理。运行时平面包含以下主要组件:
运行时平面在您拥有和维护的 Kubernetes 集群中运行。
下图显示了在运行时平面执行的主要服务:
如需了解运行时组件,请参阅后续部分。此外,请参阅运行时服务配置概览。
以下各部分详细介绍了这些主要运行时平面服务。
消息处理器
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 调用。
本部分介绍在您调用 Apigee API 以访问运行时数据存储区时 MART 所扮演的角色。
什么是 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 调用流:
UDCA
通用数据收集代理 (UDCA) 是在运行时层面的数据收集 Pod 中运行的服务,用于提取分析、调试和部署状态数据并将其发送到 UAP。
如需了解详情,请参阅调试、分析和部署状态数据收集。
关于管理平面
管理平面在 Google Cloud 上运行。其中包括如下管理服务:
- Apigee Hybrid 界面:提供界面供开发者创建和部署 API 代理、配置政策、创建 API 产品以及创建开发者界面。管理员可以使用 Apigee Hybrid 界面监控部署状态。
- Apigee API:提供用于管理组织和环境的编程接口。
- 统一分析平台 (UAP):从运行时平面接收和处理分析和部署状态数据。
下图显示了在管理平面上执行的主要服务:
Google Cloud 服务简介
下表介绍了 Hybrid 利用的主要 Google Cloud 服务:
Google Cloud 服务 | 说明 |
---|---|
身份 | 用户账号身份验证使用 Google Cloud 账号。授权使用 Google Cloud 服务账号。 |
角色 | Hybrid 访问管理使用 Google 角色引擎和 IAM,并支持默认 Apigee 角色。 |
资源层次结构 | 资源在 Google Cloud 项目中进行组织(与 Apigee 组织相关联)。 |
Stackdriver | 提供日志记录和指标数据分析。 |
用户类型
Apigee 已确定以下主要类型的 Hybrid 用户:
角色 | 典型的责任/任务 | 感兴趣的领域 |
---|---|---|
系统管理员/操作员 |
|
|
开发者 |
|
|
优势
Apigee Hybrid 具有以下优势:
- 提高了敏捷性
- 由于 Hybrid 是在容器内交付和运行的,因此您可以实现容器化系统的分阶段发布、自动扩缩以及其他操作优势。
- 缩短了延迟时间
- 与 Hybrid 管理平面的所有通信都是异步的,并且不是作为处理客户端 API 请求的一部分发生。
- 提高了 API 采用率
- 虽然可以使用 Apigee 处理内部 API,但您可以使用 Hybrid 降低延迟时间和提高效率,这使得使用 Hybrid 处理内部 API 成为具有吸引力的选项。实现此效率部分是因为您的 API 网关在本地运行,且靠近您的后端服务。此外,如果您使用 Apigee,则可以通过 Hybrid 处理内部 API 来提高 Apigee 的采用率。
- 更好的控制
- 许多企业纷纷采用混合策略。管理在私有数据中心部署的 API 运行时的能力是大型企业的关键要求。目前,Hybrid 运行时平面可以部署到 Google Cloud 或您自己的数据中心。
下一步
请参阅概览 - Hybrid 安装过程概览。