作者:Andrew Stiefel,NGINX 产品营销经理
据行业分析机构451 Group指出,目前企业拥有的 API 的平均数量超过15,000个。显然,这一数字远高于平台运营团队可以用电子表格跟踪的API 的平均数量。即使将API跟踪的责任分配给各个业务部门,考虑到API数量的惊人的增长速度,这仍然是一项艰巨的任务。
2021年,F5工程师和技术专家Rajesh Narayanan为这个问题创造了一个新词:API蔓延(API sprawl)。“API蔓延”一词的含义正如其名——即世界各地的企业中的API数量的加速增长,而这也给API的管理和防护带来了巨大挑战。这一问题有多严重?据Narayan估计,到2030年,全球部署和运行的API将超过10亿个。
现代应用在开发方式方面的变化加速了API的蔓延。微服务的兴起、用于系统内部通信的API的不断增加,以及多云和混合云架构的快速增加,都使得我们需要更多地使用API在应用之间进行通信。例如,作为容器编排的事实标准的Kubernetes就是使用API来实现所有的内部通信的。新的基础架构类型(如serverless架构)也意味着API可以在几乎所有环境中运行。同时还有更多种类的API技术需要管理——REST、GraphQL和gRPC都已被广泛使用,而更多的API查询协议也将很快出现。
更糟糕的是,网络罪犯绝对会乐于见到API蔓延。他们越来越多地将API作为他们精确攻击的目标,原因是API通常没有得到仔细的管理,而且默认配置的访问权限相对开放。
为了消除这种问题,必须以程序化、规模化的解决方案来应对API管理、发现和防护方面的挑战。不过在您能够有效应对API蔓延之前,您需要先了解该问题在您的组织机构中的严重程度。以下六个明显迹象表明您遇到了API蔓延问题。
1. 没有最近更新的API清单
API蔓延的典型症状是不知道在所有环境中都运行着哪些API,这通常是由于松散的API管理策略导致的——在这种策略下,团队无需注册仅在内部使用的API(即所谓的“影子API”)。
您的首要任务是准确盘点现有的API。但由于API的添加和弃用通常极为频繁,想要“准确盘点”就需要不断地进行统计。合理的解决方案是通过编程式的方式进行盘点并持续进行API发现,类似于网络扫描和资产发现。
从理论上讲,结构化的API审批流程也有所助益。但在现实中,对于API创建和版本管理等任务,不断“左移”的企业会想要缩减繁重的审批流程。对于这些企业来说,将API清单盘点作为CI/CD的一部分来构建流程通常是一种很好的方法,尤其是当API用于微服务和其他更现代的应用架构时。
2. 不知道每个API分别在何处运行
在现代基础架构环境中,仅仅知道API的存在还远远不够——还需要知道每个API的位置。端点可能会在不同基础架构形式的容器间互为镜像——横跨多个云平台、在混合云中,或者在像是 serverless 这样的多种服务中。
安全团队需要掌握API的位置信息,从而正确配置策略和防护措施并运行API安全测试。如果您需要在多个环境中运行API,这也会影响您对于API网关和其他API流量管理方式的选择。理想情况下,您会希望有一个适用全局的API网关解决方案,以便能够在不同环境中实现具有一致性的API流量管理和防护。
3. 无法轻松地识别API的所有者或负责人
如果您不知道API由谁负责,当API出现问题时,就不知道该找谁处理。通常情况下,当构建API的人或团队调岗或者离职时,那些对于平稳运营来说不可或缺的API就会成为“孤儿”。有时,API所有权的转移非常明确——但更常见的情况是,这个过程会被跳过或通过非正式手续完成。
为每个API分配所有权是清单盘点过程的一部分,它至关重要,因为这样可以确立问责制,帮助责任人合理地管理和防护他们负责的API。
4. 多个API在执行着类似或重复任务
当多个团队有相似但不完全相同的需求,通常会发生任务重合的情况,而且有人会说:“我们会通过构建自己的API来满足我们的需求,这样,我们就可以掌控自己的命运!”但是,拥有多个类似API会增加不必要的技术债务。因此,衡量有多少应用或服务需要使用API,并将其作为关键性能指标 (KPI) 之一非常重要。跟踪这些指标有助于最大程度地提高每个API的可重用性。整合API的另一种方法是转换到像是GraphQL一类的更灵活的形式。
5. 文档滞后超过2个版本
文档对于经验传递、新员工入职培训和组织弹性至关重要。可惜的是,编写和维护文档通常是工程师最痛恨的事情。过时的API文档通常表明API正在蔓延——因为这说明团队创建和更新API的速度太快,所以没时间更新文档——或者他们可以看似合理地这么解释他们不更新文档的行为。在最坏的情况下,过时的文档标示着其中提到的API是无人维护的孤儿。
庆幸的是,API往往有清晰定义的结构,使其易于理解。良好的API管理解决方案通常包含一个工具,用于帮助开发人员根据API规范自动生成文档。最常见的例子之一是OpenAPI规范。它使用标准格式来描述API,这样,人类和计算机就可以在无需访问源代码或其他文档的前提下发现和理解API的功能。
6. 项目由于API安全防护而延误
有好消息?安全团队会在发布前检查所有API。坏消息呢?由于API负责人在开发过程中没有遵循API安全最佳实践,或者没有进行充分的测试,因此未通过检查,代码被送回返工。还有更好的消息?制定一套一致的通用规则和最佳实践来帮助开发人员实现绝大部分的要求,并不是那么难的事情——基本方法包括了实施速率限制、加密外部流量,以及要求对密钥再生进行重新授权等。大多数企业还可以使用高级Web应用防火墙 (WAF) 或其他工具对API网关实施额外的保护,以抵御OWASP 列出的10种最常见API攻击。
更先进的组织机构拥有成熟的SecDevOps能力,可以为每个API进行威胁建模,而且还可能能够根据可以访问的数据或服务类型为不同的API指定不同的安全等级。
结论:避免蔓延是一场永无止境的斗争
以上六个迹象只是API蔓延现象的一部分预警。我们要明确一点——API蔓延是开发人员自主性和微服务DIY思维的自然产物。借助现代开发工具和像GitHub Copilot这样的代码自动化能力,构建新的API正变得越来越轻松可行。
应对API蔓延的工作没有止境。部署API管理解决方案和API网关可以发挥强大的助推作用——如果开发人员不针对API使用APIM(API Management,即API管理)解决方案,网关可能会关闭他们的API——这一要求很苛刻,但对安全防护来说很必要。
幸运的是,应对蔓延所采取的措施大多与常见的API管理方法一致。随着时间的推移,这些措施可以消除技术债务,并避免在开发过程后期或发布后通过补充的安全措施修复API,最终让开发速度得到提高。
如果说API是企业的生命线,则API蔓延是对企业健康状况的最大威胁之一。谨慎且主动的API蔓延控制措施会带来巨大的回报,并且最终会提高开发人员的满意程度。
好文章,需要你的鼓励
DeepSeek 的 AI 模型在处理效率方面取得重大突破,可能对数据中心产生深远影响。尽管引发了科技股抛售,但业内专家认为,这项创新将推动 AI 应用普及,促进大规模和分布式数据中心基础设施需求增长。更高效的 AI 算法有望降低成本、扩大应用范围,从而加速数据中心行业发展。
Rivian 正全面推进 AI 技术整合,开发下一代电动车平台,以挑战特斯拉的市场地位。公司计划于 2025 年实现免手驾驶,2026 年达到 L3 级自动驾驶。Rivian 还将在车载系统中广泛应用 AI 技术,提供语音交互等功能,并计划推出更实惠的车型,扩大市场份额。
Postman 发布了 AI 代理构建器,这是一款创新的生成式 AI 工具。它允许开发者通过整合大语言模型、API 和工作流程来设计、构建、测试和部署智能代理。这一工具旨在简化 API 交互、优化工作流程,并支持创建能执行复杂任务的智能代理,标志着 API 优先的 AI 开发迈出了重要一步。
微软第二财季利润同比增长10%,人工智能年化收入达130亿美元。然而,云计算业务未达预期,下季度指引不及预期,导致盘后股价下跌。公司资本支出创新高,以满足AI和云需求。尽管Azure增长放缓,但微软对下半年增速加快持乐观态度。同时,中国AI初创公司DeepSeek的崛起引发业界对AI基础设施投资的重新审视。