第 4 章 使用 3scale toolbox 自动执行 API 生命周期
本主题介绍了红帽 3scale API 管理的 API 生命周期的概念,并演示了 API 供应商如何使用 3scale toolbox 命令使用 Jenkins 持续集成/持续部署(CI/CD)管道自动执行部署阶段。它描述了如何部署示例 Jenkins CI/CD 管道、如何使用 3scale 共享库创建自定义 Jenkins 管道以及如何从头开始创建自定义管道:
4.1. API 生命周期阶段概述
API 生命周期描述了在创建 API 时需要的所有活动,直到它被弃用。3scale 可让 API 供应商执行完整的 API 生命周期管理。本节解释了 API 生命周期中的每个阶段,并描述了其目标和预期结果。
下图显示了左侧基于 API 供应商的阶段,以及右侧基于 API 使用者的阶段:
红帽目前支持 API 供应商周期的设计、实施、部署和管理阶段以及 API 消费者周期的所有阶段。
4.1.1. API 供应商周期
API 提供程序周期阶段基于指定、开发和部署 API。下文描述了每个阶段的目标和结果:
Stage | 目标 | 结果 |
---|---|---|
1.策略 | 确定 API 的公司战略,包括目标、资源、目标市场、时间线和制定计划。 | 制定企业战略的清晰计划以实现目标。 |
2.设计 | 提前创建 API 合同,以中断项目之间的依赖关系、收集反馈并缩短风险和上市时间(例如,使用 Apicurio Studio)。 | 以使用者为中心的 API 合同定义可通过 API 交换的消息。API 用户提供了反馈。 |
3.Mock | 进一步指定使用真实示例和载荷的 API 合同,供 API 用户用来开始实施。 | 模拟 API 是实时的,返回真实示例。API 合同附带示例。 |
4.测试 | 进一步指定具有可用于测试所开发的 API API 的业务预期的 API 合同。 | 创建一组验收测试。API 文档已根据业务预期完成。 |
5.实施 | 使用红帽 Fuse 或您选择的开发语言等集成框架实施 API。确保实施与 API 合同匹配。 | API 已被实施。如果需要自定义 API 管理功能,还会开发 3scale APIcast 策略。 |
6.deploy | 使用带有 3scale toolbox 的 CI/CD 管道自动执行 API 集成、测试、部署和管理。 | CI/CD 管道以自动化方式集成、测试、部署和管理 API 到生产环境。 |
7.安全 | 确保 API 的安全(例如,使用安全开发实践和自动安全测试)。 | 制定安全指南、流程和门。 |
8.管理 | 大规模管理环境、版本控制、弃用和停用之间的 API 提升。 | 进程和工具已经到位,可以大规模管理 API(例如,语义版本控制以防止破坏对 API 的更改)。 |
4.1.2. API 使用者周期
API 消费者周期阶段基于提升、分发和调整 API 以供使用。下文描述了每个阶段的目标和结果:
Stage | 目标 | 结果 |
---|---|---|
9.发现 | 将 API 提升给第三方开发人员、合作伙伴和内部用户。 | 开发人员门户是实时的,最新的文档会持续推送到此开发人员门户(例如,使用 3scale ActiveDocs)。 |
10.Development | 指导并允许第三方开发人员、合作伙伴和内部用户基于 API 开发应用程序。 | 开发人员门户包括最佳实践、指南和建议。API 开发人员有权访问模拟和测试端点来开发他们的软件。 |
11.使用 | 大规模处理不断增加的 API 用户并管理 API 使用者。 | 分阶段的应用计划可供消费,并持续推动最新的价格和限制。API 用户可以从 CI/CD 管道集成 API 密钥或客户端 ID/secret 生成。 |
12.monitor | 收集有关 API 健康、质量和开发人员参与情况(例如,时间到第一个 Hello World!)的指标。 | 建立了监控系统。仪表板显示 API 的 KPI(例如,正常运行时间、每分钟请求数、延迟等)。 |
13.monetize | 按规模驱动新的地区(此阶段是可选的)。 | 例如,针对大量小型 API 用户时,启用货币化,并且用户按照使用情况自动计费。 |