什么是 API 生态系统?

枝条交错缠绕的植物

API 生态系统详解

API 生态系统是指一个由相互连接的应用程序编程接口 (API) 及所有相关元素构成的网络。 这些元素包括构建 API 的团队、使用 API 的开发者、依赖 API 进行数据交换的应用、数据库和平台、开发者门户,以及促进安全、有价值集成的安全治理结构。

对 API 生态系统的关注,无论作为组织数字化转型的一部分,还是在形成 API 战略和 API 优先商业模式的过程中,都很有价值。通过以 API 生态系统(而非仅仅是 API 本身)为中心进行构建,组织可以创造战略和商业优势,包括更好的开发者与客户体验、减少 API 无序蔓延、增强 IT 安全性以及提升应用开发效率。

API 生态系统的关键组成部分有哪些?

API 生态系统的关键组成部分大致可分为三类:技术(API 及相关基础设施)、人员(提供者、消费者和社区)以及治理(标准、政策、支持系统和资产)。

技术:API 与支持性基础设施

API 生态系统的技术基础设施包含多个不同组成部分,它们如蛛网般以多种方式相互连接。API 本身是连接网络各个部分的径向线,而 API Gateway、数据库、应用和服务及其他基础设施则构成网络的交汇点、枢纽和框架。

API

API 是一套规则或协议,使软件程序能够相互通信,以交换数据、特性和功能。API 使应用所有者能够简单、安全地向内部和外部消费者提供其数据和服务。

如今,API 对企业用户变得日益关键;企业平均在生产环境中拥有超过 600 个 API 端点 ,并且有整个企业(包括支付处理公司、电子邮件数据增强公司和金融服务公司)从 API 起家。 

API 网关

API Gateway 是一个软件层,为客户端(如网页或移动应用)访问多个后端服务提供单一入口点,同时管理客户端/服务器交互。

API Gateway 接收 API 调用(有时称为 API 请求),并根据请求的性质将其路由到一个或多个后端服务。然后,网关将请求的数据汇总,并通过单个响应返回给客户端。网关使客户端能够通过一次调用查询多个资源,而无需通过多次调用查询多个端点。

例如,在医疗保健系统中编排服务的 API Gateway,可以使面向用户的应用通过一次 API 调用,从多个资源(如患者的病历、支付历史和当前日程安排)中拉取数据。

API Gateway 还集中处理其他关键任务,例如:

  • 负载均衡分配流量,防止任何单一服务器过载。

  • 速率限制:限制每个用户的请求数量,以降低某些类型攻击(如依赖过量流量突破安全防护的分布式拒绝服务攻击)的风险。

  • 身份验证:使用 OAuth (开放授权) 等验证方法和协议来分配访问令牌,实现临时且特定的访问权限。

数据库

数据库是 API 生态系统不可分割的组成部分——它们存储应用运行所需的原始数据。API 充当中介,使应用能够以稳定、安全的方式与数据库交互。API 提供了接口,让应用能在数据库上执行创建、读取、更新或删除 (CRUD) 等操作。

API 还通过身份验证和访问权限验证提供一层安全保障,确保资源只有获得授权的客户端才能访问。同时,API 为系统带来互操作性,使以不同编程语言编写或构建于不同平台之上的应用能够访问相同的数据库。

应用和服务

应用是整个 API 生态系统的技术前端;无论是数字用户还是人类用户,实际交互的对象是应用(如移动应用、网页应用或桌面软件),而非 API 本身。

在应用内,用户可能选择一个需要应用从外部来源获取数据或服务才能完成的操作。这一数据交换通过 API 完成。请求(通常称为 API 调用或查询)被发送至 API,API 将其路由至负责所请求资源的后端服务。随后请求的数据通过 API 返回给客户端。

微服务

微服务(或微服务架构)是一种应用构建方法,将应用分解为众多可独立构建和运行的独立服务。微服务并非指“小型服务”,而是一种将多个服务集成到一个应用中的架构方法。微服务因其灵活性而颇具价值,使服务能够独立扩展和复用。

这些服务共同协作,通常通过 API 或服务网格进行通信。API 还用于将微服务连接到外部应用和系统,实现互操作性和无缝集成。

在许多情况下,API Gateway 会部署在这些服务前端,负责接收传入的 API 请求,将其路由到相应服务,并将答案整合为全面响应返回给客户端。

CI/CD 管道

持续集成/持续交付 (CI/CD) 管道是 API 生态系统的一部分,因为这类管道常用于 API 的开发、部署和更新。

CI/CD 管道是一种工作流,可自动化代码编写、集成、测试和部署的过程。开发者可以独立编写代码,使用 Git 等工具跟踪变更,代码在管道中自动流转,进行测试和验证。验证后的代码随后被集成到测试环境或 GitHub 等代码库中。CI/CD 管道是一种缩短 API 或软件开发时间、降低成本、及早发现错误并改善团队协作的方法。

CI/CD 管道对最终用户不可见;它是一种将代码从开发推进到部署,并通过定期更新持续改进软件和 API 的常用方法。

开发者门户

开发者门户是一个中心平台,汇集了开发者理解、使用、集成和优化 API 所需的一切内容。它是整个 API 生态系统的基本组成部分。开发者门户通常包含以下大部分或全部内容:

  • API 文档:所有 API 端点、HTTP 方法和请求参数、错误代码、请求和响应示例、身份验证凭据以及其他 API 相关信息的存储库。

  • 指南与教程:精选的帮助文档,供开发者入门使用,通常包含示例和最佳实践。

  • 交互工具:一个游乐场或沙盒环境,开发者无需编写任何代码即可试用 API。

  • 分析工具:供开发者跟踪其 API 使用情况的仪表板,包括调用量、响应时间、速率限制、使用配额等指标。

  • 支持服务:精选的有用文档,如常见问题解答、变更日志、白皮书、网络研讨会、版本说明和联系信息。
API 管理平台

API 管理平台类似于面向外部的开发者门户的内部版本。API 管理系统为负责 API 监督的团队提供控制功能,包含在 API 整个生命周期中进行部署和下线、管理流量、跟踪错误、执行安全和治理策略以及(通常)管理计费和订阅的工具。

人员:提供者、消费者、社区

API 生态系统中的人员要素也可分为三组:

提供者

API 提供者是负责创建和发布作为生态系统核心的 API 的人员与团队。他们可能包括:

  • 开发者:负责选择框架、编写代码、创建、配置和构建 API 端点,以及查找和修复错误等任务。

  • 产品经理:指导 API 开发团队,提出并解答关键问题,例如“这个 API 是为谁开发的?”“它应该做什么?”“它如何融入我们现有的 IT 环境?”“它必须包含哪些功能?”API 产品经理通常管理合作关系,并充当开发者与其他利益相关方之间的联络人。

  • DevOps 工程师:帮助构建和自动化持续集成/持续交付 (CI/CD) 管道,即用于简化 API 交付、测试和优化的自动化  DevOps  工作流。

  • 安全工程师:专注于防范数据泄露及其他安全威胁。API 旨在暴露数据(尽管是有限度的),这使得它们成为常见的攻击载体。API 安全工程师在保护 API 及其所连接的应用和系统方面发挥着至关重要的作用。

消费者

这些是使用 API 来集成应用与系统、构建新产品和服务的开发者。API 消费者是生态系统中至关重要的一部分——毕竟,API 正是为这一群体设计的。

消费者可以是内部的(属于提供 API 的同一组织)、具有有限访问权限的外部人员,或拥有完全访问权限的公开用户。API 的设计和文档可能会根据目标用户的不同而有所区别。

例如,对于公开 API,提供组织可能倾向于提供更具自解释性的用户体验,减少大量的故障排查和支持需求。

社区

尤其是对于公开 API 而言,社区——一个由消费者及其他利益相关方组成的更广泛的群体——可以是整个 API 生态系统中至关重要的一部分。社区通常包括内部开发者、开源贡献者和爱好者、业务合作伙伴,以及依赖 API 访问数据或服务的应用的日常用户。社区可以通过以下方式在 API 的改进和创新中发挥作用:

  • 为 API 创造或发现新的用例

  • 监控、发现漏洞、错误或改进机会

  • 在 Reddit、Stack Overflow 和 GitHub 等平台上建立临时的支持与文档体系

  • 帮助巩固和推广最佳实践及其他标准

  • 向其他开发者、用户和客户推广 API

API 治理

API 治理是指指导组织如何开发、部署和使用其 API 的标准、政策和实践。建立 API 治理的目标是促进一致性、可靠性、安全性和效率。

API 治理可能包括风格指南、安全策略、命名规范、版本控制策略、质量标准、事件与灾难响应政策等。对于包括医疗保健在内的许多行业,治理还包括法律合规性决策,例如 HIPAA 要求或其他行业或地区特定法规。

强大 API 生态系统的优势

成功的 API 生态系统能够为企业和开发者带来显著优势:

企业优势

  • 更快的创新速度:公司可以基于现有服务进行构建,缩短新产品的上市时间。

  • 更广的覆盖范围:第三方开发者创建的集成将企业服务引入新的平台和用户。

  • 减少 API 无序蔓延:有序的 API 库及配套文档帮助团队查找和使用现有服务,避免创建冗余服务和 API。

  • 业务价值与变现:API 可以通过使用费、高级订阅或推动核心产品采用等方式成为利润来源。

  • 增强安全性:有效的 API 生态系统能够一致地执行 API 安全标准和协议(如 OAuth 的使用)。强大的生态系统管理有助于减少 影子 API(即未经过 IT 团队考虑甚至知情的临时构建的 API)的产生。

  • 竞争护城河和网络效应:外部开发者集成企业 API 会增加转换成本,并产生粘性和锁定效应。在平台上构建的开发者越多,平台就变得越有价值,从而形成竞争对手难以克服的自我强化循环。

开发者的益处

  • 降低复杂性:通过简单接口访问复杂功能,无需深厚的领域专业知识。

  • 聚焦差异化:专注于创造独特功能,而非构建通用基础设施。

  • 可组合性:利用不同提供商的服务,创建新颖的创新应用。

  • 职业灵活性:借助主流 API,在不同公司和项目间迁移技能。
Dan Nosowitz

Staff Writer, Automation & ITOps

IBM Think

Michael Goodwin

Staff Editor, Automation & ITOps

IBM Think

相关解决方案
IBM API Connect

无缝开发、管理和保护所有类型的应用程序编程接口 (API) 并实现社交化,而无论这些 API 位于何处。

探索 API Connect
IBM 集成解决方案

借助集成平台软件实现无缝连接与自动化,赋能您的企业。

探索集成解决方案
云咨询服务

在智能体 AI 时代,释放混合云的全部潜能。

深入了解云咨询
采取后续步骤

IBM API Connect 支持所有现代应用程序编程接口 (API) 类型,同时还增强了安全性和治理。生成式 AI 功能可自动执行手动任务,从而节省时间并帮助确保质量。

  1. 探索 IBM API Connect
  2. 深入了解 IBM 集成解决方案