为何API开发者体验至关重要

NGINX | 2022年9月08日

本文是介绍API Connectivity Manager的两篇系列文章中的第二篇:

API是现代业务的核心。API一直在软件开发中发挥着重要作用,而日益增长的数据集成需求正推动各业务线更广泛地采用API。但API的作用不只是连接数据和应用,它们对于与外部业务合作伙伴开展协作、向客户交付服务,以及作为独立产品创造收入都至关重要。

开发者在API经济中发挥着核心作用。他们负责构建、集成和维护API,既是API的创建者,也是API技术的采用者。他们的体验通常称为“API开发者体验”,是决定API整体成功与否的关键因素之一。本文将探讨API开发者体验的关键概念,以及IT领导者在规划API体验时需要考虑的事项。

  1. 什么是API开发者体验?
  2. 为什么API开发者体验很重要?
  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开发者体验?

要打造良好的体验,需要了解开发者如何使用您的API、完成任务需要什么,以及他们在使用API时的实际感受。定义好与API交互的用户角色后,即可开始规划整体API体验。

设计API开发者体验时,需要考虑以下4项原则:

  1. 识别用户:谁在与API交互?
  2. 定义功能:API有什么作用?
  3. 优化易用性:API是否易于使用?
  4. 提升体验:使用该API的体验如何?

下面逐一了解各项原则,以及需要提供哪些内容,才能为开发者打造出色的API体验。

列出API设计四项原则的图示:识别用户、定义功能、优化易用性和提升体验

第1步:确定用户

正如您会针对客户的具体问题设计产品一样,也需要从整体基础设施和产品层面设计API体验,以解决开发者关注的问题。开发者不仅是最终使用者,也是整体基础设施的构建者和维护者。

设计API开发者体验时,需要考虑三类主要角色:

  • API使用者:为其应用发现、实施和维护API集成
  • API所有者:为其服务规划、构建、记录、测试、部署和管理API
  • 基础设施管理员:设置全局策略并监控API,确保安全性与合规性

您可能还需要考虑其他用户和利益相关者。例如,API使用者可能包括内部开发人员、合作伙伴和客户等子类别,每个子类别都有不同的用户画像和要求。

第2步:定义功能

功能是API成功的基础。优秀的API可帮助开发者集成有价值的数据或服务,更快地完成任务,并缩短开发新功能所需的总体时间。主要考虑因素包括:

  • API可带来哪些价值?通过与数据或服务集成。
  • API解决问题的效果如何,具体体现为减少调用次数并对数据进行结构化处理?
  • API的可靠程度如何(从可用性、可靠性和可扩展性来看)?

API的功能与API优先的开发方法密切相关。与“代码优先”不同,“API优先”要求在开始代码开发之前编写API规范,重点关注API请求的结构和返回的数据。这一重点有助于确保API持续提供开发人员所需的价值和功能。

第3步:优化易用性

第三项原则是易用性,关注开发人员如何使用您的API,而不是能用这些API做什么。它涵盖API周边用于支持发现、学习、测试和入门的资源。如果缺少由基础设施、工具和文档构成的配套生态系统,开发人员将难以使用您的API。需要重点考虑的事项包括:

  • 轻松注册,集成单点登录(SSO),并可轻松管理API密钥
  • 清晰详尽的文档,包含最新的参考资料和代码示例
  • 快速设置,创建基本API请求最好不超过5分钟

在Postman的《2022年API现状报告》中,调查受访者表示,使用API的主要障碍包括:

  • 缺少文档(55%)
  • 难以发现API(38%)
  • 缺乏API基础知识(30%)

借助集中式开发者门户提供的详尽文档、代码示例和API试用工具,可以解决这些问题。

第4步:提升体验

API开发者体验是API使用者与API所有者之间各种交互的总和。其基础在于API的功能和易用性,但其他交互也有助于提升使用API的整体体验。这些交互包括:

  • 活跃的社区,可通过Stack Overflow、Slack、Discord、Twitter等渠道参与。
  • 便捷的支持服务,开发团队及时响应
  • 顺畅体验,轻松使用API、查阅文档并参与社区互动

乐于使用您的API的开发者更有可能向同事推荐这些API,基于它们构建新功能,并将其集成到自己的应用中。

API开发者体验至关重要

出色的API开发者体验不仅取决于API本身,还取决于围绕API构建的工具、流程、文档和支持生态系统。当API生态系统的各个环节顺畅协作时,可以减少阻碍和复杂性,让开发者专注于构建应用。

上述步骤是持续设计、实施、测试和评估API开发者体验流程的一部分。重点关注识别用户、定义功能、优化易用性和提升体验等主要步骤,有助于构建使用体验愉悦甚至充满乐趣的API。

NGINX 如何改善 API 开发者体验?

API Connectivity Manager是F5 NGINX Management Suite的一部分,其设计以API开发者体验为核心。借助API Connectivity Manager,基础设施团队可以部署高性能API网关和开发者门户。开发者则可以快速发布和管理API及文档,或发现API并将其接入应用。

API Connectivity Manager的优势包括:

  • 快速接入:与常用的身份提供商集成,简化开发者门户中的授权和身份验证
  • 简化文档编制,当API所有者将API发布到API网关时,使用OpenAPI Specification为开发者门户自动生成文档
  • 交互式学习:通过开发者门户中集成的API浏览器,帮助开发者发现、测试和了解您的API
  • 工作流自动化:使用完全声明式REST API,将API发布和管理集成到CI/CD流水线中

开始使用

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

相关资源


分享
标签: API, F5 NGINX, Tech

相关博客文章

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内容缓存方式的技巧。