应对API蔓延的5种方法(以及为何值得关注)

NGINX | 2022年8月17日

这是关于 API Connectivity Manager 的两篇系列文章中的第一篇:

API是现代互联网的纽带,将边缘数据连接到云端和本地数据中心。根据F5的《2021年应用策略现状报告》,利用API是组织采用的各种现代化方法中最常见的一种:

  • 58%的组织正在添加API层,以支持现代化用户界面
  • 51%的组织正在添加现代应用组件(例如Kubernetes)
  • 47%正在进行重构(修改应用代码本身)
  • 40%正在迁移到公有云(直接迁移),但未进行现代化改造

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

F5首席技术官办公室近期的研究发现,API持续蔓延对正在进行数字化转型的企业构成重大威胁。但这意味着什么?

什么是API蔓延?

API蔓延是指组织在实施数字化转型过程中出现的两个相互交织的挑战:API数量呈指数级增长,以及API分散在多个架构和团队中。

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

  • 混合基础设施:如今,81%的企业采用3种或更多架构,包括公有云、本地数据中心和边缘基础设施。
  • 微服务架构:随着微服务架构日益普及,新服务上线时,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 Connectivity Manager是F5 NGINX Management Suite的一部分,可通过统一界面连接、治理和保护API,无论这些API位于何处或由谁构建。

API Connectivity Manager可帮助您实施以下5项关键策略,以应对API蔓延并实现规模化API管理:

策略1:实施API治理战略

集中式管理和控制有助于在单一架构或集群中更轻松地发现、连接和保护API。API蔓延要求转变思维方式,从纯粹的分层模型转向分布式且可自主扩展的模型。

NGINX如何提供帮助:借助API Connectivity Manager,可以实施灵活的治理模式,在全局策略与精细控制之间取得平衡,让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 Connectivity Manager,可以创建一个统一平台,用于访问重要指标,从而帮助实施最佳实践并保障性能和可靠性。基础设施负责人可以监控 API 流量和配置、实施标准化日志格式,并将数据导出到首选的监控解决方案。

策略5:大规模实施API安全防护

2020年,超过90%的企业曾遭遇API安全事件。每新增一个上线的API端点,贵组织的威胁面都会随之扩大。要实现规模化应用,安全不能只是附加功能,而必须融入从规范、代码到部署的整个生命周期。

NGINX如何提供帮助:借助API Connectivity Manager,可通过API访问控制和API保护这两项关键的API安全组件来保护API。使用JSON Web Token(JWT)、API密钥或OAuth2/OpenID Connect管理身份验证和授权,从而实施API访问控制。未来几个月,API Connectivity Manager将新增对NGINX App Protect WAF的支持,帮助保护API网关,并通过开箱即用的OWASP API安全十大风险防护、架构验证等功能,抵御常见威胁和高级威胁。

借助API Connectivity Manager加快产品上市

解决API蔓延带来的挑战,可将多架构的复杂性转化为竞争优势。API Connectivity Manager可帮助构建具有韧性的API生态系统,以开发人员所需的速度和灵活性支持规模化治理。

在下一篇文章中,我们将深入探讨API开发者体验,包括CI/CD集成、自助式工作流和API生命周期管理等主题。

开始使用

开始免费试用NGINX Management Suite 30天,其中包括API Connectivity Manager和Instance Manager。

相关资源


分享
标签: F5 NGINX, Opinion

相关博客文章

NGINX Plus R26 正式发布
NGINX | 2022/02/15

NGINX Plus R26 正式发布

NGINX Plus R26通过缓存JSON Web密钥集加快JWT验证,并强化TLS握手,从而提升安全性。NGINX JavaScript的新功能包括增强对异步函数的支持,以及实现WebCrypto API。

使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击
NGINX | 2022/02/10

使用NGINX App Protect DoS保护gRPC应用,抵御严重的DoS攻击

gRPC具备开发人员设计和部署现代应用所需的速度与灵活性,但其开放性也使其极易受到第7层DoS攻击。NGINX App Protect DoS可保护gRPC应用免受此类破坏性攻击。

Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划
NGINX | 2021/09/13

Ingress Controller 选型指南(第 2 部分):风险与面向未来的规划

了解选择错误的Ingress控制器可能带来的风险,以及如何从关键方面着手,让您的选择更好地适应未来需求。

NGINX Plus R19 正式发布
NGINX | 2019/09/03

NGINX Plus R19 正式发布

NGINX Plus R19扩展了监控功能,不仅提供更多指标,还新增了指标分析方式;增加试运行模式,用于测试限速效果;增强键值存储,以支持IP地址范围;并使限速更加动态。

NGINX现已正式加入F5
NGINX | 2019/05/09

NGINX现已正式加入F5

NGINX现已正式成为F5的一部分。Gus Robertson现任F5 NGINX业务部门负责人。他阐述了两家公司在人才、文化和愿景方面融合的价值,以及双方将如何携手增强NGINX的开源产品和商业产品。

使用NGINX和NGINX Plus实现高性能缓存
NGINX | 2016/08/24

使用NGINX和NGINX Plus实现高性能缓存

我将介绍NGINX在内容缓存和性能方面的工作原理,并分享一些控制NGINX内容缓存方式的技巧。