从Web应用程序到移动应用程序,API都是每个现代应用程序的骨干。它们是集成应用程序的关键,许多公司围绕着核心业务服务构建了数十个甚至数百个API。API管理平台将确保这些资源能够加快交易和通信的速度,而不会使之成为管理上的麻烦。
为了帮助开发团队管理API,公司可以考虑使用API文档管理平台,甚至可以使用自动化的API测试和管理系统。利用市面上已经成熟的管理平台如Eolinker、Swagger来协助管理工作。
通常,良好的API管理可归结为三个基本任务:1、安全和认证2、监视和警报3、发现和文档
安全与认证
保护API是一项重要的但经常被忽视的任务。大多数API将共享一个用于请求身份验证的通用方法。这可能是OAuth,JSON Web Token,或者仅仅是基本的API密钥身份验证。在某些情况下,API网关层将处理身份验证,只需将登录的任何用户或设备以及相应的权限传递给API。该API网关层通常会使用用户的请求来调用特定的身份验证API,以对其进行身份验证。
但是,需要特别注意的是,即使假设API位于API网关之后,它仍然需要防止来自可信网关源的恶意API请求。通常,这是通过结合防火墙规则和访问控制策略来完成的。使用AWS API Gateway,可以通过使用身份和访问管理权限来处理此问题,并验证任何给定请求仅来自API网关,防止其他请求直接命中该API。
大多数云API管理平台都存在类似的身份验证方法。另外,验证这些安全实践也很重要,应该分别跟踪和监视每个API,以便定期测试漏洞。
监控和警报
大多数API都依赖于外部连接。身份验证API可能依赖于数据库,并且大多数API可能在一开始就依赖于身份验证API。
许多API工具平台都提供了某种模拟系统以及常见状态检查。至少,API网关支持监视故障事件。当出现问题时,可以在客户开始抱怨之前通知开发人员。API监控日志中提供的这些附加详细信息有助于确定API的哪个部分存在问题。
Mock API对于尚未访问您的平台的开发人员非常有用。例如,一个新的开发人员可能在第一次开始与他们的应用程序构建集成时选择使用Mock API,这不会对生产服务器造成任何压力。如果该开发人员证明该应用程序可以运行并且不会对您的基础设施造成不必要的压力,则可以选择提供他生产凭证。
发现和文档
集中所有API并提供完善的文档,使团队、用户可以共享通知。在小型团队中,询问其他团队是否有人曾经开发过某个功能可能很容易。在具有复杂应用程序的大型组织中,想要对API进行有效的管理,团队能够自己定位此类信息变得越来越重要。
就像GitHub可以很容易地确定是否有人已经编写了一个开源项目来解决特定问题一样,集中式API文档管理平台可以帮助开发团队确定公司中是否有人已经解决了特定问题。不要重复编写相同的API。
不同团队可以通过许多不同方法来记录API。例如,Eolinker不仅提供了提供Mock API,还可以显示示例请求类型、API完整文档以及在线分享。开源团队经常依赖Github,因为它已经成为人们解决问题时依赖的地方,并且内置了错误报告功能。
开发人员通常在小型团队中工作得最好,在单个团队中最多只能有五个人,而在那个团队中最多只能有几个相关项目。当API分为微服务并可以在多个团队之间共享时,不仅要记录如何使用API,还要记录拥有该API的团队。
当公司发展为包含数十个或数百个API时,任何人都可以为特定的API提供帮助和贡献,但必须由专人负责维护完整性和稳定性。
本文借助Eolinker API管理工具进行展示。Eolinker是一个适配不同规模团队的Saas工具,同时也支持私有化部署。
使用地址:www.eolinker.com