随着 DevOps 理念在中国企业当中的遍及和倒退,中国企业 DevOps 落地成熟度一直晋升,依据中国信通院的数据已有近 6 成企业向全生命周期治理迈进。
而在研发全生命周期治理之中,API 治理的位置愈发显得重要。随着 API 数量的大幅增长,也带来了新的 API 治理需要。
如何在 DevOps 工作流中进行 API 全生命周期治理,对我的项目研发来说具备重大意义。
1、DevOps 中 API 治理窘境
在理论的 DevOps 工作流中,API 治理面临着以下 6 大方面的窘境:标准、合作、自动化品质、迭代、自动化。
窘境一:标准落地执行难
因为团队中的 API 文档品质参差不齐,导致标准很难落地执行。起因在于公司有很多的研发我的项目和团队,不同的团队有不同的 API 治理习惯,尤其是罕用的 Swagger 形式的治理,很难进行对立的平台化治理。
针对这个窘境,能够通过对立的 API 治理平台标准文档的模板,疏导编写流程和习惯,也能够通过自动化文档管理工具来简化流程,进步管理效率。
窘境二:岗位合作难、信息沟通效率低
在 DevOps 工具链中,每一个工具都会有不同的告诉音讯,导致重要信息吞没在繁冗的告诉中。其次是工作流程环节多、流程长,各岗位角色解决工作节奏不一,导致工作链上下游沟通效率低。
针对这个窘境,能够缩短流程环节,多启用自动化流程。同时制订精细化告诉规定,依据优先级提供差异化告诉款式。最初,再通过每日推送复盘音讯,梳理当日工作项和音讯告诉,避免脱漏。
窘境三:自动化测试体系搭建门槛高
传统的自动化接口测试脚本须要用 Python 来编写,门槛高,老本高。又因纯手工编写,开发变动后还须对照文档二次调整接口的所有脚本。另外,自动化测试后期投入工夫多,筹备工作繁冗。
针对这个窘境,能够应用界面化的自动化测试工具,升高脚本编写门槛。还能够通过一站式 API 全生命周期治理平台,免去大量前期工作,进步自动化测试效率。
窘境四:API 生产品质和在线异样的发现、跟踪、解决流程过长
当下,在后端的接口自测、前段的 MOCK 测试、冒烟测试、集成测试、异样监控这 5 个环节中都会应用到不同的工具,于是产生了跨工具之间对接简单、数据隔离,导致 API 生产品质单薄,以及大量反复工作。
能够通过一体化的 API 管理工具来买通不同环节的工作流,进步研发品质和效力。
窘境五:接口文档无奈跟踪迭代版本,回溯排查难度大
传统的接口管理工具如 Swagger 没有接口批改记录,短少版本治理,无奈通过日志定位问题,无奈进行回滚和历史比照。另外团队也短少接口迭代打算,导致开发量和影响面剖析都难以评估。
接口文档作为研发我的项目的重要资产,应该对其变更进行盘点,包含提供接口文档的历史记录。能够通过一站式 API 全生命周期管理工具,提供我的项目级的接口版本治理和接口迭代打算,输入更加优质的接口文档,推动 DevOps 工作流的效率晋升。
窘境六:DevOps 工作流应用工具多
DevOps 作为宏观层面的研发治理思路,目前并没有大而全的工具,因而带来企业外部工具越积越多,数据流通阻滞,另外,传统接口管理工具性能也很繁多。
针对这个问题,能够应用一体化的 API 全生命周期管理工具来实现与接口相干的所有问题,缩小对接的工具数量。
DevOps 中 API 治理须要什么
基于前文对 DevOps 中 API 治理存在的问题,能够梳理出企业 R&D 须要以下六个方面:
- 规范化: 一个可配置标准、可主动依据标准生成 API 文档的 API 标准工具
- 高合作: 一个接口相干状态主动流转、精准告诉信息的 API 合作工具
- 自动化: 一个低门槛、智能录入数据的 API 自动化测试工具
- 高质量: 一个一站式接口全流程品质治理的 API 测试工具
- 迭代快: 一个提供从我的项目级迭代打算,版本管控,到接口级历史记录的 API 管理工具
- 工具链: 一个接口全生命周期且多种对外集成形式的 DevOps 工具
对于满足这些条件的工具,咱们定义为 API 全生命周期智能合作平台。在这个一体化平台上,能够从 API 的开发态到公布态到经营态,对 API 进行全生命周期治理。
API 全生命周期如何接入 DevOps
依据经典的 DevOps 流程图,咱们从 打算、开发、构建、测试、部署、公布、运维跟监控环节,探讨 API 管理工具对接。
3.1 打算:制订 API 文档标准,搭建档次清晰的 API 仓库
- 依据公司组织架构和零碎服务的散布,组成一个档次清晰的接口仓库。
- 对立标准制订,把不同团队的标准对立制订成公司的标准。
- 整顿公共资料,把历史文档快捷地导入到 API 仓库里,以及把一些可复用的资料例如常常用的数据结构,API 文档的模板、常用字段形容,都能够存储到 API 仓库,以便于在开发阶段创立新的 API 文档。
3.2 开发:基于代码仓库搭建自动化流程,解决前后端调试和沟通问题
基于代码仓库或 Swagger 或本地研发工具,疾速主动生成 API 文档并疾速调试,调试没问题后再主动生成 MOCK API 和批量接口用例,能够在线分享给前端和测试,文档反对在线评论。最终还能够基于这个 API 文档生成业务代码,帮助开发。
3.3 构建:主动打接口版本及主动冒烟测试,反对回滚和加重测试工程师压力
构建阶段能够基于 CI 触发器主动构建接口版本,不便后续版本回滚,还可基于接口版本做批量测试,以及做版本差异化的比照。
这两个步骤能够让测试对工作进行评估,更好地去加重测试的压力。目前接口上自动化能测进去的问题,可事后通过 API 测试进去。
3.4 测试:推动自动化测试,升高用例编写老本
在测试阶段咱们举荐自动化测试,一体化 API 全生命周期管理工具能够去疾速同步后面开发阶段生成的测试用例,而后对这些测试用例进行流程编排,组成自动化测试用例。
也能够基于 API 网关的监控日志做流量回放,主动生成自动化测试用例,辨认增量接口并跑含糊测试。能够组成场景案例,做回归测试。含糊测试跟回测试的测试后果发送测试报告,给到对应的测试人员。
3.5 部署:疾速测试外围流程,排除环境差别问题
部署之后能够通过 CD 触发器对环境进行预测,试跑外围的测试场景,生成对应的测试报告。能够通过多环境的测试后果进行比照,排查环境差别的问题,也能够在部署好之后进行压力测试。
注:目前 Eolink Apikit 压力测试性能将在年中上线,敬请期待!
3.6 公布:确保对外拜访畅通和平安
在公布阶段,次要对接 API 网关,让零碎能够失常对外拜访,凋谢接口能力。
3.7 运维:保障服务继续稳固和平安
在运维阶段仍然是应用 API 网关,做流量管制、负载平衡或服务治理。在接口凋谢上能够去做 Open API 调用管控,在线试用跟鉴权。在接口交易上能够去做接口托管、转发跟计算计费以及订单治理。
3.8 监控:实时察看接口运行状况,及时异样告警
能够设置规范的接口监控指标,做更加灵便的监控配置,并对告警进行规定配置预设,当满足这些告警的预设条件时就会发送音讯告诉,包含手机短信、支流的 IM 工具,以及 Webhook。
在音讯告诉方面,咱们认为不仅仅须要 DevOps 主流程的对接,而是要保障整个 DevOps 信息流的无效和及时传递,因而须要对 API 文档的变更、测试报告、监控告警,进行智能散发。例如进行分级推送、智能演绎、高风险标记等。
【重磅】DevOps 工作流对接 API 全生命周期治理全流程图
不同规模团队如何落地施行
4.1 大规模团队:全 DevOps 周期的接口自动化
对于大规模团队来说,举荐基于 DevOps 全周期的接口自动化计划,需部署 Eolink Apikit 公有云版本。在这个计划中,能够把 Swagger 的 URL 主动同步到 Eolink Apikit,主动生成文档,进一步基于文档生成业务代码,而后发送到代码仓库,再去触发 CI 流水线,给文档打版本,做含糊测试,并把报告发送给对应的人员。
接下来在 CD 环节部署好服务之后,能够对环境进行预测试,并依据需要做压力测试,并把测试报告发送给对应的相干人员。除了 CICD,还能够集成 Eolink 的网关产品,对 API 进行运维治理。
4.2 小规模团队:高性价比的接口自动化
对于小规模团队来说,性价比更高的 SaaS 企业版,能够应用插件生成 API 文档上传 Eolink Apikit,并进行测试,主动生成测试用例。
目前该高性价比解决方案,已笼罩从设计、开发到构建、公布、部署的环节,对运维、监控、压力测试等环节尚且缺失,对于外围的 API 全自动化的治理流程已齐全足够。
总结
本文提出应用一体化的 API 治理平台在 DevOps 工作流中对 API 进行全生命周期治理,解决过来多个工具之间数据隔离、流程阻滞的问题。
API 全生命周期治理平台 Eolink Apikit 是联合 API 设计、文档治理、自动化测试、监控、研发治理和团队合作的一站式 API 研发合作平台,是 API 研发治理最佳实际产品,能够帮忙集体开发者到跨国企业用户,疾速、标准地对 API 进行全生命周期治理,进步研发效力。