您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[2023年中国DevOps社区广州峰会]:崔嘉杰-DevOps工作流中的接口全生命周期管理 - 发现报告
当前位置:首页/行业研究/报告详情/

崔嘉杰-DevOps工作流中的接口全生命周期管理

AI智能总结
查看更多
崔嘉杰-DevOps工作流中的接口全生命周期管理

10年互联网产品经验,技术研发背景,专注于技术平台产品管理。 2018年主持DevOps一体化平台、低代码开发平台、开发者开放平台建设,负责API全生命周期管理平台等研发服务产品管理工作。 拥有丰富的研发工具落地实践经验,擅长为企业提供研发工具实践和研发效能提升的解决方案。 01课题背景介绍 API治理过程遇到的 02工程问题&解决思路 API治理落地遇到的 03实施难点&解决方案 课题背景 1)API全生命周期是什么? 2)API全生命周期与DevOps工作流有什么关系? 3)客户对API全生命周期的期望是什么? 前端开发C 前端开发B 前端开发A 单接口测试 API管理 后端开发A 后端开发B 后端开发C 读取A服务注解 读取B服务注解 读取C服务注解 Swagger 导入 自动化测试 导入 实现逻辑 编写脚本 测试工程师 API运维 服务器A 服务器B 服务器C 流量统管 运营监控 运维工程师 外网分发 系统管理员研发工程师研发工程师测试工程师运维工程师运维工程师业务运维 系统准备 设计&研发 APIKIT 管理&协作 APIKIT 接口文档 自动化测试 APIKIT API发布 APINTO API监控 APIKIT 共享/开放 APIHUB 团队管理接口文档接口测试流程用例 接口 服务管理 API监控APIHUB 人员管理空间管理 可视化编辑导入导出文 档 测试用例自动生成用例 文档生成用例导入接口用例 API管理上游服务管理 人员管理空间管理 发布管理API管理 项目管理角色管理 代码仓库同步流量回放生成 IDE插件 API快速测试浏览器插件 接测试结果 口 文 档 图形用例测试数据集测试模版 应用管理服务发现 项目管理角色管理 栏目管理 APSpace 服务管理 租户管理 API管 理 调用统计 监控告警 实时监控报告 异常告警 公共资源对接&联调测试管理服务运行 项目文档API模版 智能Mock 简易Mock 测试方案测试任务 动态路由流量管控 数据结构状态码 高级MockMock配置 在线测试报告离线测试报告 监控告警集群管理 用户 接口文档 数据结构约束生成API代码 研发协作 变更通知自动更新用例自动更新Mock统计分析 迭代计划 测试总结测试邮件 测试资源 测试环境 自定义函数 数据库连接 测试文件库 访问控制熔断限流 接监控 Ldap OauthSSO 变更通知 程 流结合EolinkDTDD理念 动 自Eolink全生命周期管理解决方案已得到众多 化行业头部企业应用实践验证 自动生成接口文档快速开发调试 DEV OPS 前端Mock开发API分享与评论业务代码生成 接口规范设计 接口仓库搭建接口模板制定 接口部署服务监控多环境预测试 压力测试 流量控制接口开放接口交易 接口版本管理批量接口测试测试报告 迭代计划 自动生成测试用例集成测试 回归测试测试报告 运行监控 资源监控定时拨测 协议转换服务管理 动态路由身份鉴权 业务功能是门槛 业务功能迈过门槛后,后续再增加的效果不明显 工程问题解决能力 才是交付核心 对各类工程问题解决能力才是可以长久创造价值的产品壁垒 操作体验是印象分 操作体验能让用户快速喜欢你, 但边际效益很低 API治理过程中遇到的 工程问题&解决方案 工程问题总结 自动化体系搭建 研发质量保障 迭代跟踪管理 API规范整理 团队协作沟通 研发工具链集成 规范:团队中接口文档质量参差不齐,规范不统一 Case 案例01 解决方案 Solution 某市农商银行: •内部的系统接口分三类,内部开发接口,第三方供应商提供的接口,省联社提供的接口。 •其中内部开发的接口较少,使用的系统都是不同的开发商提供的,接口规范不一,管理存储混乱。 •文档格式多样(飞书文档、word、wiki、swagger、yapi等)。 •供应商常用的swagger方式需跟随服务部署,访问链接多,无法做权限角色匹配。 自研API 1.IDEA插件 API文档统管仓库 整理抽象 复用模版 规商 范自研和供应 数据结构 文档模版 字段描述 2.代码仓扫描 第三方供应商API 1.代码仓扫描 2.Swagger一键同步 省联社API 1.手工编辑 2.网关日志生成 自动化:测试用例编写难以避免造成研发流程的等待 Case 案例02 某信息安全头部企业 接口设计 后端编码 单元测试 联调 BUG修复 BUG修复 BUG修复 分支分布 约定接口 MockAPI 前端编码 联调 等待时间 BUG修复 BUG修复 等待时间 BUG修复 分支分布 测试策略定制 E2E用例编写 接口用例编写 单接口测试 E2E测试 全量验证 报告输出 测试占整体研发周期的三分之一。在研发流程中,接口用例编写和自动化脚本编写会使得开发团队有明显的项目等待时间(Waittime)。并且为了能满足自动化接口测试,需搭建对应语言环境,多系统间录入数据,集成jenkins等。 后端工程师 前端工程师 编写自动化脚本 自动化测试 测试工程师 自动化:测试任务中,自动化脚本和接口用例编写的处理时间占60% 各测试相关任务 工作时间占比 40% 60% 15% E2E用例编写 20% 接口测试用例编写 25% 其他测试工作 自动化脚本编写 传统自动化接口测试脚本需要使用Python编写脚本,有一定技术门槛,人员招聘成本高需纯手工编写脚本,并且开发变动后,还需对照文档重新调整对应接口的所有关联脚本前期投入时间多,准备工作繁琐。 自动化:通过一站式平台快速搭建自动化接口测试体系,减少交付时间 解决方案 Solution 接口设计 后端编码 单元测试 联调 BUG修复 BUG修复 BUG修复 分支分布 后端工程师 MockAPI 前端编码 联调 BUG修复 BUG修复 前端工程师 自动生成用例 自动生成用例 BUG修复 分支分布 测试策略定制 E2E用例编写 单接口测试 E2E测试 自动化测试 全量验证 自动生成报告输出 测试工程师 APIkit|Eolink旗下API研发管理及自动化测试平台 自动生成 自动生成 质量:不一定都追求提效,核心目标可能是保质保稳 Case 案例03 某证券公司: 对整个研发流程的任何数据更改和发布都需要有流程门禁,并且需要接入企业现有流程审批系统,研发项目的质量需求远高于效率需求。 后端测试前后联调冒烟测试功能测试集成测试分支发布 01流转增加门禁 02门禁指标合理可调 03接入流程审批系统 质量:对齐卡点指标,对接自动化审核流程 解决方案 Solution 后端工程师前端工程师测试工程师测试工程师测试工程师后端工程师 后端测试 联调卡点 前后联调 提测卡点 冒烟测试 功能测试卡点 功能测试 集成测试 自动化卡点 后端测试 分支发布 BPM 1.文档设计规范评分 2.用例通过率 1.接口用例覆盖率 2.用例通过率 1.接口用例覆盖率 2.用例通过率 1.自动化覆盖率 2.场景用例通过率 APIkit|Eolink旗下API研发管理及自动化测试平台 协作:各供应商团队多,改动影响大,沟通不及时 Case 案例04 政企数字化系统 丙供应商 I应用 H应用 A应用 G应用 政企研发部 B应用 甲供应商C应用 项目管理 运维监控 E应用 D应用 F应用乙供应商 某研究院(政企单位) 企业研发主要外包供应商,内部仅做项目管理。但各供应商的业务接口存在耦合,经常发现重复开发同一能力的情况。 并且当一个接口被改动后,可能会影响到其他系统的功能,往往发现问题时已到了研发后期阶段,修复问题对项目进度影响大。 协作:提供全局拓扑视图,展示系统间、服务间、接口间关联 解决方案 Solution 协作:智能消息分发,保证DevOps信息流有效、及时传递 解决方案 API文档 变更 测试报告 监控告警 Solution 分级推送: 智能分发 系统级、项目级、个人级 智能归纳: 每日文档变更、评论、任务处理报告 高风险标记: 长时间逾期任务、高危异常、频繁变更 工程问题总结 自动化体系搭建 研发质量保障 迭代跟踪管理 API规范整理 团队协作沟通 研发工具链集成 工程问题总结 落地实施是埋藏在 冰山下的问题 API规范整理 研发质量保障 自动化体系搭建 迭代跟踪管理 团队协作沟通 研发工具链集成 流程变更阻力 推进效果无法感知 存在差异化需求 新工具学习效率低 自动化搭建无从下手 API治理落地中遇到的 实施难点&解决方案 01. 获得管理层共识 与项目相关决策链负责人沟通,确认项目目标和其KPI对齐。 宣讲产品能力,明确产品价值点,让管理层理解变更的价值; 02. 树立标杆项目 并且需要找最复杂的项目入手,跟踪该项目日常的会议,观察完整研发流程后,输出详尽的落地实践方案。 协助完成企业中某个团队某个项目的方案落地,成为内部标杆案例以供参考。内部研发员工会更愿意主动找内部员工询问和学习。 03.循序渐进(敏捷迭代的落地计划) 分析现有业务流程,ROI最高的核心环节先替换 原API管理流程 后端编码 编写API文档 编写单元用例 调试接口 前后联调 编写接口用例 编写接口用例 自动化场景测试 上线 编写MockAPI 前端开发 阶段一 核心流程自动化 后端编码 自动生成API 自动生成测试用例 自动增量模糊测试 前后联调 自动增量用例测试 自动生成场景用例 自动化场景测试 上线 自动生成MockAPI 前端开发 自动化步骤精细化治理步骤 阶段二 版本和规范管控 自动生成API 前后联调 自动构建版本 自动生成场景用例 后端编码 自动生成测试用例 自动增量模糊测试 自动生成场景用例 自动化场景测试 部署后预测试上线 设计规范配置 自动生成MockAPI 前端开发 版本回滚 版本对比 版本合并 阶段三 接口资产全局管控 设计规范配置 接口拓扑生成 调用链路生成 接口资产全局视图 共享审批对外共享 前后联调自动构建版本自动生成场景用例 后端编码 自动生成API 自动生成测试用例 自动增量模糊测试 自动生成场景用例 自动化场景测试 部署后预测试上线 自动生成MockAPI 前端开发 版本回滚 版本对比 版本合并 阶段四 接口运行态管控 设计规范配置 接口拓扑生成 调用链路生成 接口资产全局视图 共享审批对外共享 前后联调自动构建版本自动生成场景用例 上线 订阅申请 后端编码 自动生成API 自动生成测试用例 自动增量模糊测试 自动生成场景用例 自动化场景测试 部署后预测试 流量管控 授权审批 自动生成MockAPI前端开发版本回滚版本对比版本合并日志分析 监控警告 流量回放 调用统计降级限流 自动化步骤精细化治理步骤 新工具学习效率解决方案 项目模板 测试用例模板 API文档模板 数据结构模板 字段类型约束管理 1 2 3 立即配置 01.快速模板创建02.界面上流程指引(非文字说明)配置代码仓库 选择API文档规范 Eolink官方规范 自定义规范 确认生成 生成API文档 01.过程度量跟踪 ——效能看板 02.阶段成果评估 ——成熟度模型:给阶段目标有对标标准,让企业了解目前处于行业的什么水平 实施 实施 管理 3层次 6层次 设计与评审 开发 测试 部署与运行 运维监控 更新与弃用 LV1 无设计 需求驱动开发 无计划测试 通过手动配置或仅 做基本负载均衡 无监控 无版本管理,无法 了解API运行状态 LV2 有设计 文档驱动开发 API单元测试 通过导入导出API配置完成发布 有统计,无监控告警 有版本管理,能了解API运行状态 LV3 有评审 测试驱动开发 API自动化测试 通过流程自动化 完成发布 有统计、监控告警 版本管理、API运行状态,并可同时维护多套版本API 成熟度 条件判断 开始基