AI 与智能化 API 治理的探索实践

简介: 1、API 作为一种核心的数字资产,要如何进行有效的管理并提升可观测性?2、API 贯穿开发测试和运维等多个环节,我们要如何去把不同的团队和现有的工作流加以优化,并提升它的迭代效率?3、API 作为核心的业务中间层,怎么样提升质量和安全性?4、API 是否可以作为一种商品进行商业化?

7月 Eolink 受邀参加 QECon 2023 全球软件质量&效能大会(北京站)。Eolink CEO 刘昊臻,发表了主题为「AI 与智能化 API 治理的探索实践」的演讲,分享 Eolink 在 API 全生命周期中治理实践与 AI 结合的探索。

Eolink 作为国内 API 全生命周期解决方案的领军者,通过其独创的 DTDD(文档与测试驱动开发 )API First 理念,致力于打造一站式、智能化的 API 全生命周期解决方案,帮助企业提升研发效能,降低运维成本。本次演讲,围绕 API 全生命周期,从 API 治理的价值、治理体系、实践经验等方面,分享了 Eolink 在 API 治理的最佳实践,以及结合「AI+API」技术的革新应用。

演讲图.png

之前我在公司里面主要负责产研和相关的技术管理的工作,在 2016年我发现随着微服架构和数据开放的趋势到来,API 的整个综合管理成本开始变得越来越大,并且围绕着 API 的全生命周期有非常多可以优化提效的点。

因此,我和团队在 2016年做了国内第一款结合 API 的设计、开发、测试等功能的 API 开源产品,后面逐步演化为我们现在的公司-Eolink。在过去的几年里面,我们一直致力于在国内推广 API first 理念,帮助企业和开发者更好的去利用 API 。

如今越来越多的企业开始关注 API 的治理等工作,因为很多公司现在能够做的基础建设,以及围绕着代码建设的 Devops 平台能力基本已经建设完成了,下一步就是更细的 API 以及数据的治理,希望能进一步的提升产研的效率以及产品的质量,甚至进行数据的变现。


API 治理为业务带来的价值

目前,API 在企业中扮演的角色越来越重要。首先是 API 的数量相比以前有了爆发式的增长,现在随便一个公司内部拥有上千个 API 是非常常见的。

  • IBM 调查报告显示,API 经济全球市场规模超过2.2万亿美元。开发API项目的公司数量预计将保持100%的同比增长。

  • Gartner 研究报告指出,API 生命周期管理市场2019年同比增长36%,超过17亿美元,其成为应用程序基础结构和中间件市场中增长最快的部分。

  • 艾瑞咨询《2020年中国人工智能API经济白皮书》提出,2019年人工智能API开放平台市场规模达104.1亿且正处于高速增长期,预计到2024年市场规模有望达到579.9亿。

其次是围绕着数量庞大的 API 又有着广泛的开放需求,不仅是对内部开放,还经常需要对外部合作伙伴或者是用户进行开放。

  • API 数量: DevOps、前后端分离的研发模式带动 API 数量大幅增长;

  • API 开放: 微服务架构改造带来大量 API 管理及开放需求;

  • API 安全: 数据安全、服务治理等诉求推动 API 管理成为 IT 系统的基础设施;

  • API 经济: 开放式企业、开放银行等行业领先实践推动 API 经济兴起。

要保证这些开放 API 的安全就变得非常重要,并且还要思考如何挖掘其中的经济潜力,让 API 成为业务增长的驱动力。

API 全生命周期治理实践与 AI 结合的探索_01.png

来自 Linux 基金会的数据显示 70~90% 的代码是由开源和第三方 API 来组成的,并且通过 API 产生的经济价值也变得非常巨大,许多政府和企业开始考虑将数据和服务进一步开放,因此就有了开放政务、开放银行、企业开放平台等概念。为了更好地发挥 API 的作用,许多公司开始将 API 纳入到 devops 的流程,希望通过这样的方式来加速 API 的生产以及利用。

下图很好地展示了 API 在整个 devops 的过程中包含哪一些阶段,从最开始的设计到开发测试,安全保障以及管理,以及对外暴露之后的可发现,可接入,可消费和可观测。

API 全生命周期治理实践与 AI 结合的探索_02.png

我们签约的证券公司都希望将内部的 API 进行规范化的治理,包括最基础的 API 资产的集中管理,并进行自动化的测试,然后将测试好的 API 快速发布到网关,再通过一些审批手段去控制调用方,或者将开放的 API 暴露给消费者,让他们能够更快的接入,从管理后台中了解到每个租户、每个 API 的使用情况。

小规模团队:提升 API 研发、测试效率

不同的团队规模和业务规模,对于 API 治理的需求也不太一样,比如对于 100人以下,或者 API 在 1000以内的小规模团队来说,最关注的是如何将 API 作为一个标准化的步骤来接入到现有的 devops 流水线中,提高围绕 API 的开发测试的效率。

比如,通过 IDE 的插件将代码注解或者是代码直接生成 API 文档,通过平台来生成接口的单元测试用例,并且能够组合成自动化的测试流程,方便每一次迭代的时候进行冒烟测试以及版本升级后的回归测试。同时,在不断的迭代中,管理 API 不同版本之间的差异,并且把报告同步到团队中。API 作为 devops 中的一个环节,可以补充现有的研发效能体系,并且进一步的提升产品的质量。

API 全生命周期治理实践与 AI 结合的探索_03.png

大规模团队:贯穿从开发到上线的 API 治理

对于更大规模的团队来说,单纯的 API 管理和测试无法满足复杂系统和架构的 API 治理需求,此时范围就会延伸到运维,并且将内外部的调用方管理,以及公司内部的协作流程也结合进来。

比如,在开发之前的接口设计阶段,就会进行更详细的接口评审,并且通过一些功能来约束 API 的设计规范,或者找出不符合设计规范的 API。

在开发阶段和代码仓库结合,通过自定义的代码模板,将 API 的设计统一转换为标准的开发框架,然后在此基础上再进行后续的开发。

在运维阶段,将已经测试好的 API 和网关结合,实现从开发环境到生产环境的发布。当然,这个过程中还有可能涉及到一些流程审批,避免因为发布不规范导致的 API 不可用。在生产环境还需要对 API 的运行情况进行监控,了解 API 的调用情况以及异常告警,并且将所有的消息都和内部系统进行打通,实现自动化的协作。

API 全生命周期治理实践与 AI 结合的探索_04.png

围绕着 API 的治理工作,其实并不比代码的管理要简单,是一个跨团队长流程的的系统性问题。


API 治理完整体系的理想形态

API 要治理,实际上要解决的是四大核心问题:

1. API 作为一种核心的数字资产,要如何进行有效的管理并提升可观测性?

像很多团队以前都是把 API 的资产管理在各种的零碎文档里,甚至有一些老旧的业务系统,连有什么 API 都不清楚。

因此,有效管理的第一个标准就是可持续,其次就是能完整的记录 API 的资产信息来提升可观测性。

2. API 贯穿开发测试和运维等多个环节,我们要如何去把不同的团队和现有的工作流加以优化,并提升它的迭代效率?

针对这个问题,我们在业内提出了dtdd,也就是文档和测试驱动 API 开发的专利实践,通过标准化的工具和流程来解决API迭代效率的问题。

3. API 作为核心的业务中间层,怎么样提升质量和安全性?

比如,通过自动化的测试以及 AI 的方式来提升测试的效率和覆盖率,或者通过网管等中间件对 API 进行安全控制。

4. API 是否可以作为一种商品进行商业化?

这个问题每个公司的情况不一样,是更偏公司战略和业务方向的,比如现在的 AI,是一个很好商业化的 API 商品。

API 全生命周期治理实践与 AI 结合的探索_05.png

Eolink 从 2017年开始研究如何解决这些问题,并且针对性的设计和开发了一系列的 API 工具平台。包括 API 快速生产、研发管理、自动化测试、网关、监控、开放平台等,实现对 API 的全生命周期覆盖。

API 全生命周期治理实践与 AI 结合的探索_06.png

如果把 API 全生命周期和 devops 进行结合,就可以得到如图所示的 API Devops 工作流。在这个流程中,API 的每个环节都有对应的工作项,并不断推动 API 以更易用、更规范、更安全的方向发展。

API 全生命周期治理实践与 AI 结合的探索_07.png


API 治理的实践经验参考

API 治理是一个跨团队长流程和深需求的挑战,一般我们会把治理的目标拆分成多个核心问题,并逐个解决,而最简单的拆分方式,就是按照 API 的生命周期划分成多个阶段,找到各个阶段中目前存在的问题并通过工具来解决。

API 全生命周期治理实践与 AI 结合的探索_08.png

我们将过去几年在客户中实践的经验整理成了一个 API 治理成熟度的模型,根据这个模型中的三层次,六阶段来分别判断,目前团队内部对于 API 的成熟度处在哪一个级别,以及可能存在什么问题。

API 全生命周期治理实践与 AI 结合的探索_09.png

从最佳实践来讲,我们服务的客户可以分为以下四种:

  1. 基于文档与测试驱动,并联动前后端测试团队,持续管理 API 资产并且提升 API 的研发效能。

API 全生命周期治理实践与 AI 结合的探索_10.png

  1. 将 API的自动化测试逐渐加强并集成到流水线中,实现随时测试以及持续测试。

API 全生命周期治理实践与 AI 结合的探索_11.png

  1. 将 API 的开发和上线环节打通,实现 API 的快速发布,并通过网关等产品进一步管理 API 的流量,提升 API 的性能,安全和稳定性。

API 全生命周期治理实践与 AI 结合的探索_12.png

  1. 将 API 的管理和监控、链路追踪等产品结合,实现线上故障的及时发现和告警,并增强 API 的可观测性。

API 全生命周期治理实践与 AI 结合的探索_13.png

实际的 API 治理操作流程

1. 设计和管理

在设计阶段,制定接口的文档规范,并且建立一个层次清晰的接口仓库,方便后续的管理,测试和发布工作。一般来说,会根据产品应用和服务等级别对API进行分组管理,如果公司更大一些,可能还会在此基础上有部门子公司等组织结构的层级。

然后会制定一系列的API开发规范,比如不同的项目可能存在不一样的开发规范,但在同一个项目内或者一个服务内的API应该是尽可能保持设计统计,方便后续的对接和维护。

同时,为了方便管理,一般也会通过Eolink Apikit将分布在不同工具中的零散的API文档、测试用例、数据结构等内容管理起来,减少后续沟通过程中的信息不对称。

API 全生命周期治理实践与 AI 结合的探索_14.png

  1. 开发阶段

一般会基于代码仓库来搭建自动化的流程,解决前后端接口开发和调试的问题。比如从代码注解里面动态生成接口文档,或者是从接口文档反向生成代码。当有了一篇文档就可以设计或者是生成一系列的单元测试用例和 Mock API。这个时候,前后端和测试团队实际上已经开始异步的协作,大家都围绕着 API 文档来工作。

因此,就会出现API和档在团队内部分享的需求,当 API 的设计有疑问或者在测试过程中发现缺陷等问题时,也可以通过评论等方式对 API 标注。

API 全生命周期治理实践与 AI 结合的探索_15.png

3. 在构建阶段

这个时候代码会上传到仓库,然后触发我们的平台,对整个项目进行快照,也就是创建一个版本。版本管理的作用非常大,我们经常需要对比不同版本之间的接口差距,或者是对某个版本的接口进行回归测试。如果发现接口的设计有问题,还可能需要进行回滚。

API 全生命周期治理实践与 AI 结合的探索_16.png

4. 自动化测试阶段

测试团队在日常工作中不断地根据测试场景来设计自动化用例,将多个接口串联成测试流程,并且在平台内管理好测试的数据,这样当版本提交时就可以触发对应的自动化测试,并且把报告发送到指定的位置,这整个流程下来就把接口的开发与测试给关联了起来,让测试可以随时进行。

API 全生命周期治理实践与 AI 结合的探索_17.png

5. 发布阶段

通过将 API 管理和网关进行结合,可以把 API 配置快速推送到不同环境的网关,减少因为导入导出配置或人工操作失误等原因带来的发布问题。

实际上一般在网关还会做最终的发布确认,或者是接入内部的开发平台来进行发布前的审批。后续网关会对 API 进行线上生命周期管理,比如对 API 进行负载均衡,用户健全,攻击防护等工作。

到这里,API 从设计到发布的流程就基本结束了。

API 全生命周期治理实践与 AI 结合的探索_18.png

在实际的 API 治理的过程中会有非常多的需求,我们整理了一张图,详细的标注了在研发和测试阶段各个目标下可能涉及的一些需求点,方便大家参考。

API 全生命周期治理实践与 AI 结合的探索_19.png


API 开源生态:覆盖开发测试与运维场景

为了进一步降低 API 产品的使用门槛,我们将过去几年在 API 行业的一些实践经验进行了总结并重新设计开发了两款开源产品,分别是开源的 API 管理测试工具 Postcat、开源的高性能 API 网关 Apinto,这两款产品结合可以覆盖大部分基础的 API 开发测试和运维的场景。

API 全生命周期治理实践与 AI 结合的探索_20.png

Postcat 定位为面向未来的下一代 API 开发工具。在 Postcat 上,我们可以去管理 API 文档,创建各种 API 测试用例。由于是插件架构,我们可以通过第三方插件和现有的产品结合,或者增强 Postcat 的功能来实现无限的拓展性。未来,我们还会逐步结合 AI 的能力,未来期望让 API 的设计,开发和测试在 Postcat 上面实现全智能化。

Postcat Githubhttps://github.com/Postcatlab/postcat

API 全生命周期治理实践与 AI 结合的探索_21.png

Apinto 是我们基于 go 语言,全自研并开源了一个支持多集群管理的超高性能 API 网关,可以帮助大家解决 API 流量管理中的性能、安全和稳定性问题。

值得一提的,Apinto 的性能非常优秀,在一台八核 8g 的普通服务器上,转发性能接近 7w qps,比 nginx 要高 100%,比 kong 高 70%,并且在高并发的情况下,还拥有更低的延迟和错误率。

Apinto 还自带了 UI 的控制台,让整个部署使用和维护的门槛都降到最低。

并且也采用了和 Postcat 类似的插件架构,这意味着产品里几乎所有功能都可以通过插件的方式来扩展。无论是进行二次开发,还是集成到公司内部,都会更加方便。

Apinto GitHubhttps://github.com/eolinker/apinto

API 全生命周期治理实践与 AI 结合的探索_22.png


首个「AI+API」的产品化探索

【Eolink AI 新功能三大能力高清视频】:
https://www.bilibili.com/video/BV1sj411S7j4/?spm_id_from=333.999.0.0

1. 通过自然语言描述需求,AI 生成 API 文档、API 代码

我们从去年开始研究产品和 AI 之间结合的可能性,其中第一个结合点就是通过自然语言来描述需求,然后由 AI 来生成 API 的设计,并通过平台来生成后续的框架代码。

比如,我们可以在产品中描述要设计一个什么样的 API,或者需要设计一个什么样的系统,然后 AI 会生成对应的 API 文档,并且我们可以在平台中二次编辑并保存。

如果觉得生成内容不符合预期,还可以继续完善描述,让 AI 生成更准确的 API 设计。生成好了之后,可以通过我们平台来生成各种语言的框架代码,并在此基础上继续开发。通过这样的方式,可以快速批量的创建 API 并减少一部分的人工操作。

API 全生命周期治理实践与 AI 结合的探索_24.png

2. AI+API 生成单元测试用例

根据 API 的文档来生成单元测试的用例,这个场景比刚才的要复杂一些,首先需要分析 API 的含义和使用场景,然后根据 API 文档里的参数描述来分析出 API 可能的单元测试用例有哪一些,并且生成对应的测试数据。

API 全生命周期治理实践与 AI 结合的探索_25.png

生产出来的测试用例可以一键进行回归测试,或者通过 OpenAPI 的方式对接到流水线里面,在每一次迭代完成之后都触发回归测试。

3. AI+API 生成自动化测试流程

通过 API 的文档来判断 API 的关联关系,对 API 进行分组排序并实现数据关联,从而生成测试的流程。

API 全生命周期治理实践与 AI 结合的探索_26.png

上述的三个功能目前在进行小范围的用户内测,内测过程中,我们也发现了一些问题要改进。比如通用大模型 AI 由于缺少高质量的 API 的训练数据,没有办法完全理解 API 的使用场景,尤其是一些专业领域的 API,或者是基于内部需求而设计的 API,导致生成出来的 API 单元测试的用例覆盖不全,或者生产出来的正确率比较低,目前我们内测发现正确率在 30% 左右,后期依然需要一些人工进行修正。

API 全生命周期治理实践与 AI 结合的探索_27.png

另外就是在线的大模型,可能会有一些数据合规的风险,虽然测试用例的数据并不敏感,但不同行业的保密要求不一样,有一些可能没有办法连接外网,因此如果能够在规模稍小一点的离线模型上实现这个需求,使用场景会更广一些。我们预计在第四季度会有正式的功能发布,并且到时候也会逐步同步到开源产品里面。

感兴趣的小伙伴,欢迎关注我们 Eolink~

相关文章
|
8天前
|
人工智能 运维 安全
阿里云通过ISO42001人工智能管理认证,引领AI治理推动协同共治
9月19日,在杭州云栖大会「AI治理与安全论坛」上,阿里云宣布通过人工智能技术的全生命周期管理ISO42001体系认证。该项认证由国际标准化组织(ISO)和国际电工委员会(IEC)制定,是第一部可认证的人工智能国际管理体系标准。
|
6天前
|
机器学习/深度学习 人工智能 自然语言处理
构建智能化编程环境:AI 与代码编辑器的融合
在人工智能的推动下,未来的代码编辑器将转变为智能化编程环境,具备智能代码补全、自动化错误检测与修复、个性化学习支持及自动化代码审查等功能。本文探讨了其核心功能、技术实现(包括机器学习、自然语言处理、深度学习及知识图谱)及应用场景,如辅助新手开发者、提升高级开发者效率和优化团队协作。随着AI技术进步,智能化编程环境将成为软件开发的重要趋势,变革开发者工作方式,提升效率,降低编程门槛,并推动行业创新。
|
6天前
|
存储 JSON API
深入解析RESTful API设计原则与实践
【9月更文挑战第21天】在数字化时代,后端开发不仅仅是编写代码那么简单。它关乎于如何高效地连接不同的系统和服务。RESTful API作为一套广泛采用的设计准则,提供了一种优雅的解决方案来简化网络服务的开发。本文将带你深入了解RESTful API的核心设计原则,并通过实际代码示例展示如何将这些原则应用于日常的后端开发工作中。
|
4天前
|
人工智能 Java 测试技术
低成本工程实践-AI帮我写代码做需求
本文主要讲述,以“无需训练模型”的方式实现:AI智能分析功能需求、写代码、review代码解决特定业务问题的实践过程
低成本工程实践-AI帮我写代码做需求
|
9天前
|
机器学习/深度学习 人工智能 运维
|
8天前
|
人工智能 算法 大数据
懂场景者得AI,瓴羊发布年度产品智能化战略
9月20日,瓴羊智能科技(以下简称瓴羊)在2024云栖大会上举办了“Data × AI:企业服务智能化,价值增长新动能”专场论坛。阿里巴巴集团副总裁、瓴羊智能科技CEO 朋新宇在会上发布年度产品智能化战略:“(算法 + 算力 + 数据) x 场景 ”,强调企业必须重视场景,只有通过解构场景、重构业务,才能真正拥抱AI,带来突破性增长。
|
2天前
|
存储 人工智能 算法
AI伦理学:建立可信的智能系统框架
【9月更文挑战第26天】随着AI技术的迅猛发展,其在各领域的应用日益广泛,但也带来了算法偏见、数据隐私泄露、就业替代等伦理和法律挑战。本文探讨AI伦理学的核心议题,包括数据隐私保护、算法公平性与透明度、机器决策责任归属及对就业市场的影响,并提出建立可信智能系统框架的建议,如强化法律法规、技术创新、建立监督机制、行业自律和公众教育,以确保AI技术的可持续发展和社会接受。
|
5天前
|
人工智能 运维 Serverless
Serverless + AI 让应用开发更简单,加速应用智能化
2024 云栖大会开幕,在大会第一天,阿里云正式发布全新产品——云应用开发平台 CAP。CAP 拥有丰富的场景化应用模板,可以极速体验,并且具备更低的成本优势以及灵活组装等特点,成为广大开发者与企业必备的一站式应用开发平台,让应用开发更简单。
|
10天前
|
机器学习/深度学习 人工智能 搜索推荐
AI与未来医疗:智能化诊疗的时代
随着人工智能技术的迅猛发展,其在医疗领域的应用日益广泛。本文探讨了AI在医疗诊断、治疗和健康管理中的具体应用及其潜在影响。AI技术不仅提高了诊断的准确性和效率,还为个性化治疗提供了可能。同时,通过对大量健康数据的分析,AI还能预测疾病风险,帮助医生制定更有效的预防措施。尽管存在一些伦理和隐私问题,但AI在医疗领域的前景依然广阔。本文将深入分析这些应用的现状、挑战及未来发展趋势。
|
2天前
|
人工智能 自然语言处理 API
深入浅出 LangChain 与智能 Agent:构建下一代 AI 助手
我们小时候都玩过乐高积木。通过堆砌各种颜色和形状的积木,我们可以构建出城堡、飞机、甚至整个城市。现在,想象一下如果有一个数字世界的乐高,我们可以用这样的“积木”来构建智能程序,这些程序能够阅读、理解和撰写文本,甚至与我们对话。这就是大型语言模型(LLM)能够做到的,比如 GPT-4,它就像是一套庞大的乐高积木套装,等待我们来发掘和搭建。

热门文章

最新文章