DevOps 中 API 治理的工程问题和落地实践案例

API 小达人
• 阅读 264

DevOps 中 API 治理的工程问题和落地实践案例

近日,中国 DevOps 社区峰会在广州成功召开,Eolink 作为 API 管理领域代表受邀出席。来自各地的讲师与华南区本土开发者朋友们齐聚一堂,共同探讨了 DevOps 转型、AI、API 管理,以及 SRE 稳定性工程、平台工程、混沌工程、可观测性工程等 DevOps 深水区的探索和经验。

会上,Eolink SaaS 产品负责人崔嘉杰带来了《DevOps 中 API 治理的工程问题和落地实践案例》的主题分享,结合 Eolink 以往服务过的客户案例,为开发者朋友们更进一步地讲解如何在 DevOps 中进行 API 的全生命周期管理的。


行业背景:传统的 API 管理模式的割裂与落后

在传统的模式中,API 管理的各大模块之间往往是相互割裂的,不同的模块由不同的岗位人员使用不同的工具来进行管理,模块与模块之间的信息更依赖团队间的线下沟通进行传递,而且整体管理流程也同样是依赖人工干涉,API 管理的成本较高。

DevOps 中 API 治理的工程问题和落地实践案例

基于此,Eolink 提出了 API 全生命周期管理的解决方案,旨在一个平台上集成了API 的设计、开发、测试以及共享等所有环节,以促进研测自动化的构建。

DevOps 中 API 治理的工程问题和落地实践案例

API 的全生命周期管理与 Devops 是紧密相关的,Devops 中的各个环节都会对 API 治理有一定的业务诉求,很多时候企业需要一体化的 API 管理平台来提供相应的业务能力。

DevOps 中 API 治理的工程问题和落地实践案例

但在交付实践中我们也发现,仅建立一个提供业务能力的 API 全生命周期管理平台是远远不够的,业务功能仅是 API 全生命周期管理项目的门槛。所以我们今天主要讨论的是

API 全生命周期管理项目所交付的核心能力——工程问题解决能力

DevOps 中 API 治理的工程问题和落地实践案例


API 治理过程中遇到的工程问题及其解决方案

在 Devops 工作流中进行 API 全生命周期管理时,成功交付的核心其实就是为企业提供工程问题的解决能力。 那么所谓工程问题都有哪些呢?

Eolink 在服务了超过 10 万家企业的实践中,我们总结了六大工程问题:研发工具链的集成、API 规范的整理、研发质量的保障、自动化体系的搭建、迭代跟踪管理、以及团队协作沟通。

DevOps 中 API 治理的工程问题和落地实践案例

案例一:某农商银行的 API 治理实践

接下来,我将选取其中一些关键的问题,结合案例给大家进一步地讲解。

首先是规范性的问题。我们曾服务过一家农商银行,银行其内部接口众多,主要分为三类:包括自研接口、外包供应商开发的接口以及上级机构需要调用的通用接口。****
而且由于缺乏规范性的接口管理体系,企业内部的接口往往以不同形式存储,使得搜索、查询以及进一步开发变得繁琐,团队成员在开发的过程中难以找到所需功能或重复开发功能。

DevOps 中 API 治理的工程问题和落地实践案例

因此,我们提出的解决方案是建立一个 API 管理仓库。在数据生成方面,通过 Eolink 平台提供的数据标准化生成能力将 API 数据转化为标准数据。 例如,基于 API 代码仓库生成 API 文档,或者基于网关日志生成 API 文档。通过这些能力,实现了各种不同场景下的非标数据均可转换成标准数据存储在 API 管理仓库中。

而一旦它们成为标准数据,我们就可以进行进一步的抽象分析,帮助真正地应用到研发实践中,特别是形成了常用的 API 模板规范,可以协助开发者团队更高效地开发新接口,从而真正实现降本增效。

案例二:某信息安全头部企业的 API 治理实践

下面,让我们进一步深入分析关于自动化搭建体系和表达的案例。

如某信息安全部门,该部门的测试任务比较多,他们发现测试同事经常忙于编写测试用例或脚本,导致整个研发流程等待时间较长,甚至使测试时间占据整体项目交付时间的三分之一。

DevOps 中 API 治理的工程问题和落地实践案例

在我们更进一步的分析发现,在这些测试时间中,约有 60% 的时间是花在编写接口用例和规划测试脚本上。因此,我们首要的目标是解决这 60% 时间浪费的问题。

在自动化体系搭建方面,我们实现了通过 Eolink 平台自动生成的能力来消除原有的等待环节,例如自动生成测试用例和自动化测试脚本等等。换句话说,我们可以基于 API 文档的接口自动生成测试用例,从而大大减少等待时间,提高整个体系的效率。

DevOps 中 API 治理的工程问题和落地实践案例

案例三:某知名证券公司的 API 治理实践

另一个关键问题是接口的质量,许多金融行业的客户在进行 API 全生命周期管理时,并不是一味的追求效率的提升,而是更加注重整个项目的质量和接口安全性

面向对接口安全和质量有着更高要求的企业,我们也提供了解决方案,即通过在关键流程中识别重要的节点(如测试节点)。在这些节点之间我们可以创建一些卡点,我们称之为“质量门禁”。

这些“质量门禁”背后是具备自动化的逻辑判断能力的,其判断标准是来自 API 全生命周期管理平台提供的数据,并且这些数据可以直接提供给企业的 BPM 系统调用,随时切换自动质量门禁和人工审核模式。

DevOps 中 API 治理的工程问题和落地实践案例

这样的做法有一个明显的好处,即使我们默认了可以在整个生命周期内实施自动化,同时通过 API 系统,也可以进行人工干预,特别是在某些关键的节点上,例如:在发布 API 接口的节点增加人工审核。

案例四:某政企研究院的 API 治理实践

此外,当团队庞大时,沟通协作也可能成为一个问题。例如一些政企单位更多的会依赖外包供应商为其提供业务系统和服务,不同的项目由不同的服务商去负责,系统较多往往会导致单位内部各系统间接口的依赖关系更重。

特别是在接口调整之后可能会引发整个链路上的变更风险,例如甲供应商改了某接口后, 乙、丙供应商他们的接口可能也会受到影响,但是因为他们是两个独立的供应商团队,沟通起来特别困难。

DevOps 中 API 治理的工程问题和落地实践案例

针对这些链路相关的风险问题和沟通难题,Eolink 同样也提供了解决方案,即基于 API 关系的可视化管理。Eolink 平台提供了可以根据 API 调用的链路,自动化测试用例以及根据 API 文档中的入参和出参的关系生成 API 拓扑图的能力

DevOps 中 API 治理的工程问题和落地实践案例

API 拓扑图可以让开发者快速了解 API 接口的上下游关系。 作为需要修改接口的开发人员,你可以快速找到修改接口文档可能影响到哪些团队、哪些系统的接口。

此外,对于受影响的系统和团队,Eolink 还提供了消息变更的通知策略。 根据 API 信息流的变更,Eolink 能够智能地分发相关的变更消息,通知对应的负责团队。例如,A 团队的接口已更改,B、C 团队是否需要调整,是否需要重新进行集成测试等等。

DevOps 中 API 治理的工程问题和落地实践案例

以上是 Eolink 在 API 全生命周期管理中识别的一些常见工程问题和相应的解决方案。


API 治理问题的冰山分析模型

当然,由于时间有限,今天仅挑选其中几个问题进行讲解。但是我们解决了这些工程问题,项目是否就可以顺利交付呢?全生命周期管理就可以达到理想的效果吗?

实际上并非如此。在项目实施的过程中,我们可能会遇到更深层次的实施难点。这些实施难点可能与使用的系统、解决的业务等关系不大,但只要你涉及到客户的研发体系的流程优化,都有可能会遇到这类的挑战。

DevOps 中 API 治理的工程问题和落地实践案例


API 治理过程中实施难点及其解决方案

那么在面对 API 治理的实施难点时,我们又该如何解决这些挑战呢?

让我来给大家简单地阐述一下。第一个也是最常见的难点就是流程变更的阻力。 即使新流程被认为是更高效的,但是由于效率提升是需要时间的,而眼下新流程需要替代旧流程,这必然会给团队带来一定的变更成本,因为他们平时已经习惯使用旧流程,新流程可能不会立即见效,这种更替俨然成为团队的一种使用负担。

DevOps 中 API 治理的工程问题和落地实践案例

面对这些流程变更的阻力,首先,我们必须与各级别领导进行充分的沟通。 我们需要向他们解释项目的价值点,并与项目的决策链负责人对接,确保项目目标与其 KPI 一致,这样才能从上到下获得更多资源的支持。

其次,我们可以树立标杆项目。 一开始在全公司立即全面推行是不可取的,应该寻找一些经典的项目团队,将其作为标杆项目,形成对公司的解决方案和最佳实践,借助示范效应再对整个公司进行推广。在这个过程中,我们建议大家寻找公司内最复杂的团队,可能是他们的流程最多或者人员最多的团队,基于这些团队制定出来的实践项目是最有参考价值的。

正如小鹅通的王老师所说: 无论是 DevOps 还是 API 全生命周期管理都应该是渐进式的,不可能一开始就改变所有流程”

DevOps 中 API 治理的工程问题和落地实践案例

因此,我们需要分析现有流程,为企业规划不同阶段的改造路线。 最先要优化和实现自动化的是那些投入产出比最高的环节。其次是进行版本和规范的管控,使数据更加标准,以便在下一步进行拓展。然后就可以对接口资产进行全局管控,最后再进行与生产相关的接口运行态的管控。这就是整体解决流程变更阻力的一种可行的途径。

DevOps 中 API 治理的工程问题和落地实践案例

第二个实施难点是一线员工比较关心的问题。 一线开发工程师和测试工程师,基本上很少会在乎管理理念上的事情,他们通常关心如何快速适应新工具,同时确保满足当前的 KPI 和业绩要求。为了解决这个问题,这里我们提供两种解决思路。

一个是,在新的产品或工具上需要提供一些模板化的功能, 让员工可以基于某些模板快速创建资源,例如:创建标准的 API 模板或测试用例。

DevOps 中 API 治理的工程问题和落地实践案例

另外就是,推动 DevOps 和 API 全生命周期的实践更多的是为了实现企业内部各个流程的自动化。

这实际上是一个流程化配置的过程。对于这些流程化的配置,我们应该在界面上提供清晰且简单的可拖拉、可点选的元素,使用户能够在界面上快速配置完成自动化流程的搭建。

此外,实施难点上还有一个关键问题,即企业经常会面临新流程执行一段时间后,不清楚当前效果如何,未来又可能达到什么样的效果。 对于这些问题,我们提供了两个方案。

首先,对于整个过程的度量,我们引入了效能看板。 企业可以比较当前时间段和下一个时间段的数据,包括反馈团队效率、产出效能、工作堆积等等信息,从而实时监控团队的转型情况。

DevOps 中 API 治理的工程问题和落地实践案例

另外,我们提供了阶段性评估模型,不仅团队内部可以在不同时间段进行对比,也可以全面评估企业对于 API 全生命周期治理方面的水平。 这使得企业能够在未来的发展中更清晰地认识自身情况,以便进行有针对性的优化。

DevOps 中 API 治理的工程问题和落地实践案例

然后,关于自动化流程的落地, 前面我们强调界面化、可视化、可拖拉拽的工具的重要性。 这些工具能够使整个自动化流程的各个节点更容易调整,使用者只需简单的拖拉和点选就能完成流程的配置。

DevOps 中 API 治理的工程问题和落地实践案例

当然,除此之外,底层技术架构也需要提供更加灵活的方案。 我们推荐企业使用 Open API + Webhook 机制,这样能够更标准、更适配其他厂商同时与我们的平台进行对接,使客户能够更灵活地进行更多的自定义操作。操作更简单配置更快捷,最大限度降低使用者的心理负担,从而减轻工具更替的阻力。

最后一个值得注意的实施难点是企业差异化诉求的解决方案。 不同企业的需求各异,需要我们在不同维度上提供多样清晰的拓展点,方便团队和企业内部自己动手制作一些小工具。我们强烈推崇在 DevOps 平台或 API 全生命周期管理平台上提供插件化体系,以支持其他额外功能的灵活插拔,使技术架构更加灵活。

DevOps 中 API 治理的工程问题和落地实践案例

以上是一些实施的难点和解决方案的思路。接下来,我们聊一下实施方案设计的问题。

首先,我们需要了解这些实施难点的解决方案并不适用于所有的企业用户,只有快速上手模板是所有用户都能用得上。 对于一线员工和公有云企业用户而言,我们可以提供更普适的服务(如模板)来帮助其员工快速入门。

DevOps 中 API 治理的工程问题和落地实践案例

而像全面集成能力与流程配置、实践培训、专属解决方案这些服务,是需要深入了解具体的业务流程,才能制定对应方案的。 必须进行一定的业务调研,才能让项目与企业团队对齐目标,并且提供重新梳理整个研发流程和业务数据流向等等的服务。

还有就是,我们需要为企业提供效能分析服务,找出当前效能瓶颈在哪里,企业现在属于哪个治理能力阶段,分析如果实现了自动化可以减少多少人力成本,进行效益优先级分析;最后,我们将制定改造计划,包括制定迭代内容和迭代路线图,以确保在未来的半年到三年内,企业在 API 全生命周期方面改造后将达到什么水平。

以上是我们对于DevOps 工作流中的 API 全生命周期管理的内容分享,如果大家想要进一步了解,欢迎前往 Eolink 官网:www.eolink.com

点赞
收藏
评论区
推荐文章
Tommy744 Tommy744
3年前
Artifactory Terrafrom plugin来了!
前言随着多云环境和DevOps普及,越来多的DevOps工程师要面临云上与云下资源的自动化管理问题。作为全球领先的ArtifactManagenment软件供应商,JFrog的Artifactory也被众多知名企业采用,成为当前最流行的devops工具之一。那么通过什么方法能够在我们的云环境中快速部署一套Artifac
Tommy744 Tommy744
3年前
一份DevOps工程师职责清单,待你查阅
如果一个组织的开发人员和运维人员是独立工作的模式,实施DevOps就需要对组织进行大的调整。因为,只有具备合适的组织人员,文化和工具来才能成功实施DevOps。根据显示,实施DevOps的最常见的障碍之一是员工缺乏技能。什么是DevOps工程师?DevOps工程师是一位IT专家,应该对开发和运维工作都有广泛的了解,包括编码,基础
Stella981 Stella981
3年前
KubeSphere DevOps 初体验,内置 Jenkins 引擎
KubeSphere是在Kubernetes之上构建的以应用为中心的多租户容器平台,提供全栈的IT自动化运维的能力,简化企业的DevOps工作流。KubeSphere提供了运维友好的向导式操作界面,帮助企业快速构建一个强大和功能丰富的容器云平台。KubeSphere支持部署在任何基础设施环境,提供在线与离线安装,支持一键升级与扩容集群,并且
Wesley13 Wesley13
3年前
90%的开发都没搞懂的CI和CD!
据IDC统计,2017年,DevOps的全球软件市场已达到约39亿美元的水平,预计到2022年市场将达到80亿美元左右!在敏捷软件开发环境中,工作模型和操作需要对公司不断变化的需求具有超级灵活的能力。DevOps——一种工具和实践的结合,有助于软件开发与IT运维并携手共进。这种跨功能的工作模式旨在最小化系统开发生命周期的持续时间,并提供持续的部署
Stella981 Stella981
3年前
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps国际峰会是国内唯一的国际性DevOps技术峰会,由OSCAR 联盟指导、DevOps时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈DevOps体系与方法、过程与实践、工具与技术。会议召开时间:2019070508:00至2019070618:00结束会议召开地点:北京主办单位:DevOps
Stella981 Stella981
3年前
EMAS 移动 DevOps 解决方案 —— Mobile DevOps
简介:DevOps这一优秀的软件交付理念在服务端已经有很多相关的实践,那么是否也可以应用到移动端进行交付呢?基于移动端和服务端场景的差异,移动DevOps跟服务端DevOps又有哪些不同和挑战?本文分享阿里云云原生应用研发平台EMAS在建设云原生MobileDevOps过程中的思考、遇到的挑战以及解法,解密其设计架构和技术细节。阿里云云原
Stella981 Stella981
3年前
DevOps运维系统:监控管理
ITIL4的监控管理在DevOps风行的当下,人们越来越关注自动化运维。其中,监控预告警、监控自愈越发流行起来。在《DevOps实践指南》和《持续交付发布可靠软件的系统方法》两本书中(DevOps的教科书级别),都有涉及讲解监控管理和实施。其实,监控早不是什么新概念,运维界无论在理论还是工具中,一直在不断探索。监控管理虽然在I
Stella981 Stella981
3年前
DevOps世界中的软件开发
!(https://oscimg.oschina.net/oscnet/f40e68cbfe8148deb00f040b4e917a0a.jpg)在整个软件开发过程中,开发人员通常需要花费大量时间来修复错误和漏洞,以便一切按计划进行交付。但是,通过DevOps实践,可以更轻松地管理和保护这些问题。这是由于以下事实:使用DevOps实践的软
API 小达人 API 小达人
1年前
【前端小技巧】如何使用 Eolink Apilkit 调用 Mock
在开发过程中,进度比较赶的情况下,前端人员当页面写完时,后台的接口还没写完,等要交付的时候后端才把接口给你,这个时候就很尴尬。这个时候Mock就可以很好的解决这个问题,前端团队可以在API还没开发完成的情况下,借助MockAPI实现预对接,加速开发进程。测试团队可以通过MockAPI解决不必要的系统,完成集成测试。EolinkApikit为前端工程师提供API文档管理,快速接口测试,以及MockAPI创建与调用,及查看文档变更历史的能力。有助于前端工程师快速查看API文档详情与历史记录,快速生成和使用MockAPI提前进行页面效果验证。
API 小达人 API 小达人
10个月前
从苏州银行的 API 治理,看银行数字化转型的合规性探索
平台与行内相关研发和运维管理系统进行打通,实现API研发、测试、治理和运维一体化管理;实现与Devops系统打通,实现接口的自动化发布和测试;实现与测试数据管理平台、缺陷管理平台打通,实现API接口研发一体化管理。