API知识库 > 理念洞察 > 探索API蔓延的问题与解决方案
探索API蔓延的问题与解决方案

探索API蔓延的问题与解决方案

API为产品研发带来了极大的便捷性,因此对API的依赖也在不断升级,甚至有些情况下这种依赖已经变得难以控制。根据2021年F5报告估计,全球API总数(包括公共和私有)已接近2亿。

近期,由于API的增长迅猛且需要更多的标准和监管,我们注意到对API治理需求的重视程度在不断提升。根据Nylas的调查,有86%的开发人员表示预计API的使用量将会增加。到2023年,不当的管理和API不安全使用等新威胁有望进入OWASP API安全前十名。

根据上述数据可以看出,在不久的将来,大型企业或将面临更多的API蔓延问题。在接下来的一年中,解决API蔓延问题将成为IT领导层的当务之急。在本篇文章中,将围绕关于蔓延的概述,以及软件架构师应该关注的事项以及应对策略进行展开。

API蔓延: 内容、地点、方式和原因

API在企业中的使用越来越广泛。开发者在数据库上封装API,团队在内部微服务的基础上部署应用程序,IT 部门也在使用各种基于公共 API 的 SaaS,以避免重复劳动。他们甚至将自己的 API 外部化为成熟的产品。总的来说,公司管理的 API 数量在不断增加。

Rapid 的《2022 年应用程序接口现状》报告发现,拥有 10,000 名或以上员工的大公司往往拥有 250 个以上的内部API接口。但可能是迫于更快交付代码的压力,这些API中有很多都没有文档记录。令人震惊的是,根据企业管理协会(EMA)2023 年的一份报告显示,只有 10% 的企业完全记录了其 API。

就API而言,没有有效的管理且任之蔓延,反而没有发挥API便捷高效研发的本质。面对数量不断增加的端点,以及各种不同的版本和支持时间表,管理不断扩大的 API 组合变得越来越困难。对于那些最初认为“API运动”只是一时兴起,并没有将正确实践长期融入其软件开发文化的企业来说,这尤其具有挑战性。

简单地说:

如果不清楚产品组合中包含哪些API,就可能出现API蔓延的问题。

如果不明确API的存在位置,也会导致蔓延。

如果不了解API的运行状况,同样可能存在蔓延。

如果不知道集成中断的原因,同样可能导致蔓延。

API蔓延带来的挑战

API蔓延给软件开发团队带来了几个潜在的挑战。例如,开发人员可能会在交织在一起的、缺乏文档记录的服务中浪费时间,导致代码混乱。此外,这可能是被遗忘的“僵尸API”的先兆,从而引发安全威胁。以下是API蔓延可能给软件企业带来的一些挑战。

服务可发现性差

在系统内部低码工具蔓延的情况下,拥有所有内部服务综合目录的可能性也会降低。而API的可发现性降低,则会损害到内部服务的复用性。缺乏API清单管理也会带来严重的安全影响,这正如人们所说,你无法确保你对一无所知的东西的安全性。如果出现问题,修复漏洞的关键在于知晓有哪些API以及它们所在的位置,而一个未经管理且任之潜藏在系统各个角落的API很容易成为黑客的目标。

API 之间的不一致性

API组合不断扩大的另一个结果就是要应对不同的协议和风格,这已经是一个持续的挑战。我们熟知的网络API已经发展了大约二十年,从SOAP REST、WebhooksWebSockets、GraphQL和异步协议,这期间涌现了许多API设计格式,

这些格式在不同的时期被用来满足不同的需求和技术堆栈。在一家大公司中,开发人员很可能同时兼顾较新和较传统的格式。如果API清单缺乏对API风格的指导,将会妨碍可学习性并影响开发人员的体验。

缺乏生命周期管理

在没有明确的版本控制、文档记录和废弃策略的情况下,API的演进和改变可能会变得难以跟踪和管理。这种无秩序的发展可能导致系统中存在不同版本、结构不一致的API,增加了集成难度和错误的风险。此外,缺乏生命周期管理也使得对API使用情况和性能的监控变得困难,可能导致潜在问题的快速传播而难以及时修复。

缓解 API 蔓延的机会和解决方案

在上文,我们详细列举了API蔓延的危害,为了避免API蔓延,以下是一些行之有效的建议:

1.记录API:遵循标准文档指南,记录所开发的API,包括人类可读的方法描述、错误信息和示例代码。并指派专人负责统计这些API。

2.保持活跃的API清单:维护最新的内部开发人员门户网站,列出组织维护和集成的所有API。进行持续的运行分析,生成一份活跃的清单,有助于风险管理和合规性。

3.制定API风格指南:制定API风格指南,集中API设计实践,概述企业的通用惯例。在创建新的API时,根据风格指南进行检查。

4.使用规范驱动开发:将文档、SDK和生产实施与OpenAPI核心规范同步,可以为大规模API管理带来实际成果。

5.自动化API管理:尽可能实现API治理的自助化,例如使用工具扫描API规范以发现缺陷或自动编目服务。

6.查看APIs.json:APIs.json是一种机器可读的规范,有助于提高API操作和元数据的可发现性。

7.制定API生命周期指南:将API视为产品,并制定长期维护和最终退役的计划。

8.合理使用API工具:使用高效敏捷的API工具进行API全生命周期的管理。例如幂简集成平台,支持多角色空间协作与应用级管控,在云端即可实现API的全方位管理与复用。

这些做法有助于在整个组织内建立更好的API标准,从而减少API蔓延可能带来的不利影响。

最后的思考

2023年是API泄露创纪录的一年。根据FireTail的报告,在2023年的前两个月中,API的泄露影响了4900万条记录。为了提高对不断扩大的产品组合和其中潜在威胁的可见性,对这些API进行审查变得至关重要。

尽管存在一些问题,但API的增长势头依然强劲。随着人工智能的蓬勃发展,API的使用规模也将进一步扩大。只要我们遵循设计、文档和全生命周期管理等最佳实践,API为企业带来的快速研发将发挥最大的价值。

原文链接:APIFutures: API Sprawl to Be a Pressing Concern in 2024

#你可能也喜欢这些API文章!