API 生命周期每个阶段的 API 工具
当您着手构建第一个 API 时,您很可能会不知所措或忘记要点。API 工具的生态系统非常庞大,为项目的每个阶段获取合适的工具至关重要。
在本文中,我们将介绍 API 项目通常经历的不同阶段。对于每个阶段,我将列出重要要点和有用的工具。
构建阶段
第一阶段是构建阶段。它由我们在开始实施之前以及之后实际实施 API 之前必须做出的重大决策定义。我们必须问自己想要构建什么类型的 API。是 RPC 还是 REST?我们是否必须实时向用户推送更新,或者我们是否可以采用基于拉取的方法?
根据用例的要求,我们必须选择合适的技术。另一方面,我们还必须关注开发人员的技能;如果我们选择的技术没人能掌握,我们就无法构建出任何好的东西。
设计
设计工具可以帮助我们规划 API,甚至生成 API 的通用部分。它们迫使我们遵循最佳实践,因此即使是技能较低的人员也可以构建安全且性能良好的 API。
常见的API设计工具包括:
- OpenAPI
- Apiary.io
- IBM API Connect
- Cloud API Designer
- Stoplight Studio
另外,需要注意的是,在使用这些工具之前,了解 API 设计模式非常重要。了解更多。
小样
模型库是工具带的另一部分。它们可用于测试并帮助客户端实施者在实际 API 准备就绪之前开始构建。
常见的API模型库有:
- JsonStub
- Nock
- MockServer
- Beeceptor
- Mockoon
- Mocky.io
- Postman Mock API
语言/运行时
虽然某些编程语言(例如 Go)是为构建 API 而创建的,而 Elixir 等语言非常适合并行编程,但它们通常是根据劳动力的可用技能来选择的。
还要注意的是,语言通常规定了框架。但是一些 API 框架方法(如 Sinatra 类框架)在大多数语言中都有对应方法。
一些常用于构建 API 的语言是:
- Go
- Python
- C#
- Java
- JavaScript
- Ruby
- Elixir
- Rust
Moesif 还在API Guide中列出了按语言分类的 API 资源
框架
与编程语言一样,框架也是复杂的结构,因此选择框架通常取决于员工的技能。有些框架比较简单,有些则功能齐全。有些语言提供更多现成的功能,根本不需要太多框架工具。
以下是一些为整个互联网的 API 提供支持的框架:
- Express
- Django
- Ruby on Rails
- Play Framework
- Spring
- Rocket
- Revel
- Phoenix
测试和部署阶段
测试和部署阶段是让整个项目投入生产、保持一致并托管在您选择的数据中心。同样,一些工具会限制其他决策。例如,Amazon API Gateway 仅可从云提供商 AWS 获得。
云提供商
云提供商的产品略有不同,并且各有优势。Heroku 使用起来很简单。AWS 最早拥有最新技术,Azure 与 Microsoft 生态系统集成得非常好,而 Google Cloud 则处于机器学习技术的前沿。
最大的云提供商是:
- Heroku
- Amazon Web Service
- Microsoft Azure
- Google Cloud
- IBM Cloud
网关
API 网关有助于管理系统的不同部分并提供中央入口点。有些是开源的,有些不是。有些是托管的,有些是自托管的。有各种各样的网关可供选择。
最常用的网关是:
- Kong
- Tyk.io
- APIGee
- Amazon API Gateway
- Azure Gateway
- Express Gateway
测试
自动测试 API 有助于防止开发速度减慢。一开始就把事情做好是一回事,但在整个 API 项目的生命周期中保持正确则是另一回事。
可以帮助完成此任务的测试服务和框架包括:
- RunScope
- Postman
- REST Assured
- SoapUI
- JMeter
- Karate
- Citrus Framework
- Taurus
监控
当您在互联网上部署 API 时,在遥远的数据中心,了解 API 正在做什么至关重要。您不能忽视错误,也不想让系统配置过高或不足。有两种不同类型的监控。合成监控(如 Runscope)会按照设定的时间表 ping 您的 API,真实用户监控(如 Moesif)会监控来自客户的 API 流量。
优秀的托管监控服务包括:
- Moesif
- Runscope
发布和分享阶段
当您的 API 准备就绪并准备投入使用时,您希望与全世界分享它,但您也希望全世界使用它并了解它是如何运作的。文档和分析对于这一点至关重要。
文档
正确的文档是 API 业务的成败关键。毕竟,如果没有人理解如何使用您的系统,那么即使它非常创新也无济于事。
幸运的是,有许多文档工具可以提供帮助:
- OpenAPI
- ReDoc
- Jekyll
- Slate
分析
分析与监控一样,是一种跟踪 API 运行状况指标的方法,但分析更进一步,将监控与业务价值和客户人口统计数据相结合。这为产品、销售和营销团队等基础设施以外的团队提供了客户 API 使用情况的可视性,以了解客户如何采用和使用您的 API。莫伊西夫等一些工具还可以跟踪用户行为和网络活动,从而实现复杂的产品分析,例如跟踪从初始注册到第一次 API 调用的渠道。
API 分析可以回答以下业务问题:通过一个渠道获得的客户的行为是否与通过其他渠道获得的客户不同?或者更具体地说,我通过 Twitter 获得的客户是否比我通过 Google 广告获得的客户流失率更高?
原文地址:https://www.moesif.com/blog/technical/api-tools/API-Tools-for-Every-Phase-of-the-API-Lifecycle/