概述
API 是跨企业和云连接应用和数据的工具,而 API 管理就是指分发、控制、分析的这些 API 的过程。API 管理的目标,是让创建 API 或使用他人 API 的机构能够监控其 API 活动,确保满足使用 API 的开发人员和应用的需求。
许多企业都实施了各种 API 管理策略,力争及时响应快速变化的客户需求。在大多数情况下,企业会采用微服务架构,想要通过加速软件开发来满足需求。基于 HTTP 的 API 已成为微服务架构之间同步交互的首选方法。这些 API 是将所有微服务连接在一起的粘合剂。管理好这些 API,企业就能确保 API 的使用符合公司策略,并根据实际情况,以相应的安全级别进行监管(某些服务可能需要不同的安全策略)。
API 管理和微服务
微服务和 API 是云原生应用开发的基础,这种方法旨在通过快速开发创新应用组件来满足新的业务需求。但这种方法并不是完全之策。
将较大的系统拆分为小的组件,是创造微服务的关键技术挑战。正如我们所说,API 可让这些较小的组件相互连接并与数据源连接。
而如何协调许多频繁变化的微服务,是微服务架构带来的另一个挑战。借助服务发现,这一过程就变得简单许多。API 管理可提供必要的发现机制,确保找到可用的微服务,并通过开发人员门户共享有关如何使用这些微服务的文档。
微服务需要一种综合的安全防护方法。安全机制根据 API 的类型而不同:面向外部的服务所需的安全机制与面向内部的服务不同。对于不太关键的 API,使用 API 密钥进行简单保护通常就足够了。而对于外部或关键 API,就需要更安全的方法,如 OAuth。
准备为微服务设计 API?
动手前,先考虑以下的重要问题:
- 如何控制对 API 的访问?
- 如何获取指标和处理警报?
- 如何管理使用高峰?
- 谁负责 API 的正常运行时间?
- 我们如何看待不受欢迎的 API 使用情况?
如何衡量 API 管理工作的成功与否?
如果不衡量我们努力的效果,就无法评估我们的管理是否成功。通过分析,我们可以掌握有关 API 活动的数据,但我们仍必须定义到底什么是成功。在您企业内定义成功时,请考虑以下 5 个 API 的关键性能目标:
- 可靠性。可靠性是指 API 对开发人员是否方便可用。停机时间是衡量可靠性的有用指标。API 是否随时可用?另一个指标是配额,它定义了开发人员在特定时间范围内可以调用多少次 API。配额可以保护 API 不被滥用,使管理更具可预测性。有些 API 提供商都是根据配额来制定业务模式和定价。
- 灵活性。灵活性是指开发人员在采用 API 时是否拥有多种选项。API 的灵活性更大,则企业管理 API 需要投入的精力(和成本)更多。
- 质量。质量是指 API 行为是否符合开发人员的期望。这是一种衡量开发人员对 API 满意度的方法。
- 速度。速度可以通过访问延迟和吞吐量来衡量。限流或缓存等技术都可能会影响速度。
- 成本。衡量成本的目的是为开发人员提供最具性价比的支持。所有其他 4 个目标都多少有助于实现成本目标。