第 7 章 使用 3scale toolbox 自动执行 API 生命周期

本主题介绍了红帽 3scale API 管理的 API 生命周期的概念,并演示了 API 供应商如何使用 3scale toolbox 命令使用 Jenkins 持续集成/持续部署(CI/CD)管道自动执行部署阶段。它描述了如何部署示例 Jenkins CI/CD 管道、如何使用 3scale 共享库创建自定义 Jenkins 管道以及如何从头开始创建自定义管道:

7.1. API 生命周期阶段概述

API 生命周期描述了在创建 API 时需要的所有活动,直到它被弃用。3scale 可让 API 供应商执行完整的 API 生命周期管理。本节解释了 API 生命周期中的每个阶段,并描述了其目标和预期结果。

下图显示了左侧基于 API 供应商的阶段,以及右侧基于 API 使用者的阶段:

API 生命周期阶段
注意

红帽目前支持 API 供应商周期的设计、实施、部署和管理阶段以及 API 消费者周期的所有阶段。

7.1.1. API 供应商周期

API 提供程序周期阶段基于指定、开发和部署 API。下文描述了每个阶段的目标和结果:

表 7.1. API 供应商生命周期阶段

Stage目标结果

1.Strategy

确定 API 的公司战略,包括目标、资源、目标市场、时间线和制定计划。

制定企业战略的清晰计划以实现目标。

2.Design

提前创建 API 合同,以中断项目之间的依赖关系、收集反馈并缩短风险和上市时间(例如,使用 Apicurio Studio)。

以使用者为中心的 API 合同定义可通过 API 交换的消息。API 用户提供了反馈。

3.Mock

进一步指定使用真实示例和载荷的 API 合同,供 API 用户用来开始实施。

模拟 API 是实时的,返回真实示例。API 合同附带示例。

4.Test

进一步指定具有可用于测试所开发的 API API 的业务预期的 API 合同。

创建一组验收测试。API 文档已根据业务预期完成。

5.Implement

使用红帽 Fuse 或您选择的开发语言等集成框架实施 API。确保实施与 API 合同匹配。

API 已被实施。如果需要自定义 API 管理功能,还会开发 3scale APIcast 策略。

6.Deploy

使用带有 3scale toolbox 的 CI/CD 管道自动执行 API 集成、测试、部署和管理。

CI/CD 管道以自动化方式集成、测试、部署和管理 API 到生产环境。

7.Secure

确保 API 的安全(例如,使用安全开发实践和自动安全测试)。

制定安全指南、流程和门。

8.Manage

大规模管理环境、版本控制、弃用和停用之间的 API 提升。

进程和工具已经到位,可以大规模管理 API(例如,语义版本控制以防止破坏对 API 的更改)。

7.1.2. API 使用者周期

API 消费者周期阶段基于提升、分发和调整 API 以供使用。下文描述了每个阶段的目标和结果:

表 7.2. API 消费者生命周期阶段

Stage目标结果

9.Discover

将 API 提升给第三方开发人员、合作伙伴和内部用户。

开发人员门户是实时的,最新的文档会持续推送到此开发人员门户(例如,使用 3scale ActiveDocs)。

10.Develop

指导并允许第三方开发人员、合作伙伴和内部用户基于 API 开发应用程序。

开发人员门户包括最佳实践、指南和建议。API 开发人员有权访问模拟和测试端点来开发他们的软件。

11.Consume

大规模处理不断增加的 API 用户并管理 API 使用者。

分阶段的应用计划可供消费,并持续推动最新的价格和限制。API 用户可以从 CI/CD 管道集成 API 密钥或客户端 ID/secret 生成。

12.Monitor

收集有关 API 健康、质量和开发人员参与情况(例如,时间到第一个 Hello World!)的指标。

建立了监控系统。仪表板显示 API 的 KPI(例如,正常运行时间、每分钟请求数、延迟等)。

13.Monetize

按规模驱动新的地区(此阶段是可选的)。

例如,针对大量小型 API 用户时,启用货币化,并且用户按照使用情况自动计费。