博客 | NGINX

应对 API 蔓延的 5 种方法(以及您应该关注的原因)

NGINX-F5-horiz-black-type-RGB 的一部分
Rajesh Bavanantham 缩略图
拉杰什·巴瓦南瑟姆
2022 年 8 月 17 日发布

这是有关 API 连接管理器的两部分系列文章中的第一篇:

API 是现代互联网的连接组织,将边缘数据连接回云端和本地数据中心。 根据 F5 的《2021 年application战略状况报告》 ,利用 API 是组织用于现代化的各种方法中最受欢迎的方法:

  • 58% 的组织正在添加一层 API 来支持现代用户界面
  • 51% 正在添加现代应用组件(例如 Kubernetes)
  • 47% 正在重构(修改应用程序代码本身)
  • 40% 的企业正在迁移至公共云(提升和转移),而无需进行现代化

在 API 驱动的经济中,API 必须 100% 可靠。 但随着业务和应用的规模扩大,运营的复杂性也成倍增加。 云原生应用在设计上越来越分布式和去中心化——由部署在云、本地和边缘环境中的数十、数百甚至数千个 API 组成。

F5 首席技术官办公室最近的研究发现,持续的 API 扩张对正在经历数字化转型的企业构成了重大威胁。 但这是什么意思呢?

什么是 API 蔓延?

API 蔓延描述了组织实施数字化转型时出现的两个相互交织的挑战:API 数量的急剧增长以及 API 跨多个架构和团队的物理分布。

API 蔓延的四个关键驱动因素是:

  • 混合基础设施——如今, 81% 的企业跨三种或更多种架构运营,包括公共云、内部部署数据中心和边缘基础设施。
  • 微服务架构——随着新服务的上线,微服务架构的日益普及导致 API 端点的激增。
  • 持续软件部署——开发人员可以在短时间内快速推出数十个 API 或单个 API 的多个版本。
  • 废弃的 API——随着开发人员转而支持和从事其他项目,他们停止管理和维护他们创建的 API。

API 蔓延是重大威胁

许多企业尚未认识到 API 蔓延是一个重大问题 –但事实确实如此。 那些了解并解决 API 蔓延根本原因的组织将在未来十年蓬勃发展。

API 扩张给企业带来了重大的运营和安全挑战。 随着 API 端点在多个团队和环境中激增,保护和管理 API 成为一项艰巨的挑战。 对于企业而言,API 蔓延通常会导致隐性成本——开发人员工作效率降低、返工增加、审核速度变慢——这些成本在为时已晚之前无法轻易衡量。

API 蔓延的主要挑战包括:

  • 缺乏可见性——混合架构使得获得 API 流量和配置的统一视图变得极其困难
  • 没有明确的事实来源——开发人员很难发现 API 和最新的文档
  • 可靠性降低——配置错误变得更加常见,导致中断
  • 安全威胁加剧——不安全的 API 端点很容易成为攻击目标

如何应对 API 蔓延?

构建弹性 API 基础设施的第一步是采用整体 API 策略来控制 API 蔓延,该策略结合了围绕持久 API 所有权和中央 API 或服务目录的最佳实践。 接下来,叠加 API 治理,以实用且可扩展的方式简化 API 生命周期管理。

在 NGINX,我们构建了一个管理平面解决方案来降低管理 API 的复杂性。 API 连接管理器F5 NGINX 管理套件的一部分,它提供了一个用于连接、管理和保护您的 API 的单一界面,无论它们位于何处或由谁构建它们。

API 连接管理器可帮助您执行对抗 API 蔓延和大规模管理 API 的五种关键策略:

策略#1: 实施 API 治理策略

集中管理和控制使得在单一架构或集群内发现、连接和保护 API 变得更加容易。 API 蔓延迫使你调整思维方式——从纯粹的分层模型转变为分布式和自主扩展的模型。

NGINX 如何提供帮助——借助 API 连接管理器,您可以实施灵活的治理模型,平衡全局策略和细粒度控制,以便 API 所有者可以管理本地策略。 这有助于加快产品上市时间,同时又不牺牲对安全性和合规性的一致监督。

平台和基础设施团队可以通过日志记录、错误响应代码、TLS 配置等全局策略确保整个企业的 API 一致性。 构建和管理 API 的开发人员可以控制服务级别策略,例如速率限制、身份验证和授权。

策略#2: 为 API 发现创建单一事实来源

随着 API 数量和应用程序复杂性的不断增长,发现和追踪哪些 API 可用以及它们位于何处变得非常困难。 如果 API 隐藏在特定微服务的基础架构中且未注册,负责其他微服务的团队就无法找到这些 API 并将其集成到他们的项目中。

NGINX 如何提供帮助——借助 API Connectivity Manager,您可以创建服务目录和 API 门户,开发人员可以在其中发现和使用您的 API。 良好的开发人员门户体验可通过提供一个中心位置来提供有关可用 API 及其使用方法的信息以及用于生成凭据的工具,从而促进 API 的使用。

策略#3: 确保正确的版本和文档

API 门户是一个很好的第一步。 然而,当 API 规范在开发周期中发生变化时,就会出现问题。 这意味着调用 API 的远程服务也需要改变。 如果所有微服务都是由同一个团队为同一个应用设计的,那么这种方法可能会有效,但当 API 被发布供第三方使用时,这种方法就不会有效。

同时,维护文档对于开发人员来说也是一个令人头疼的问题。 在最初的活动爆发之后,API 门户通常会变得陈旧,成为不受支持的 API 和过时文档的鬼城,让利益相关者和 API 用户感到迷茫和沮丧。

NGINX 如何提供帮助——借助 API Connectivity Manager,您可以将 API 发布和文档集成到 API 开发人员的无缝工作流程中。 API 所有者可以使用OpenAPI 规范同时发布 API 并生成文档,从而节省时间并确保文档对每个人来说都是最新的。

策略#4: 提供 API 流量的指标和可见性

了解 API 的位置以及它们如何配置是企业面临的最重大挑战之一。 如果不能跨环境一致地查看 API 流量,那么识别性能问题和安全威胁将会非常困难,甚至不可能。

NGINX 如何提供帮助——借助 API 连接管理器,您可以创建一个单一平台,提供对重要指标的访问,帮助您实施最佳实践并确保性能和可靠性。 基础设施所有者可以监控 API 流量和配置、实施标准化日志格式并将数据导出到他们喜欢的监控解决方案。

策略#5: 大规模应用 API 安全性

2020年,超过90%的企业经历过API安全事件。 随着每个新的 API 端点上线,您组织的威胁面也会随之扩大。 从规模上看,安全性不能只是一项附加功能——它必须融入从规范到代码到部署的整个生命周期中。

NGINX 如何提供帮助——借助 API 连接管理器,您可以使用两个关键组件来保护 API 安全: API 访问控制和 API 保护。 通过使用 JSON Web 令牌 (JWT)、API 密钥或 OAuth2/OpenID Connect 管理身份验证和授权来强制实施 API 访问控制。 在接下来的几个月中,API Connectivity Manager 将添加对NGINX App Protect WAF的支持,以便您可以保护您的 API 网关并通过对OWASP API Security Top 10 、架构验证等的开箱即用支持抵御常见和高级威胁。

使用 API 连接管理器加速上市时间

通过解决 API 蔓延带来的挑战,您可以将多架构的复杂性转化为竞争优势。 API 连接管理器可帮助您构建一个有弹性的 API 生态系统,该生态系统以开发人员所需的速度和灵活性支持大规模治理。

在我们的下一篇文章中,我们将深入探讨 API 开发人员的体验,并讨论 CI/CD 集成、自助服务工作流和 API 生命周期管理等主题。

立即开始

开始30 天免费试用NGINX 管理套件,其中包括 API 连接管理器和实例管理器

相关资源


“这篇博文可能引用了不再可用和/或不再支持的产品。 有关 F5 NGINX 产品和解决方案的最新信息,请探索我们的NGINX 产品系列。 NGINX 现在是 F5 的一部分。 所有之前的 NGINX.com 链接都将重定向至 F5.com 上的类似 NGINX 内容。”