API管理基础知识集锦

来源:互联网 发布:ftp做yum源 编辑:程序博客网 时间:2024/06/06 15:41

原文:The Basics Of API Management
作者:Kin Lane
翻译:Vincent

译者注:作者在本文中将API管理的一些基础知识整合成了综合列表,这些列表是由一位API管理大神提炼出来的,可以说是API管理的不同组件了。以下为译文。

我正在开发一套基础的API管理策略。这套管理策略涉及到的每一个方面,都倾注了我的毕生之所学。这么多年过去了,我已经将API管理的许多方面单独分离出来,形成了一组核心元素,这些元素也反映了API管理是如何一步一步发展成为数字商品的。总的来说,这有助于我去认真思考API操作的每个方面,而且也能将我平日里面所学习到的内容应用到我正在从事的项目,这样我就可以对API管理做进一步的提炼。

API管理是我所有研究领域中存在时间最久的。正是它启发了我对于其他方面的研究,而且同时它也是API经济里面相对比较成熟的了。我正在研究的这个项目给了我一个机会,让我去思考API管理究竟是什么,应该拆分为哪些不同的关注领域。我已经把API管理的精髓给提炼出来,大概包括以下几个方面:

  • Portal - 是一个单独的URL,可以用来查找关于API的所有信息,将该服务启动运行起来,并使用所有的可用资源。

  • On-Boarding - 只需要考虑如何让新开发人员在portal主页上登陆,以实现API的第一次调用,接下来就是在生产应用实现调用。

  • Accounts - 允许API使用者注册一个帐户,用于个人或企业访问API资源。

  • Applications - 允许每个帐户持有人注册一个或多个应用程序,这些应用程序将使用API资源。

  • Authentication - 为API使用者提供一种或多种方式进行身份验证,从而能够访问API资源。

  • Services - 定义在一个或多个API路径上提供哪些服务,从而提供对各种业务服务的HTTP访问。

  • Logging - 对API的每个调用都通过API管理层记录,以及DNS、web服务器、文件系统和数据库级别。

  • Analysis - 了解API是如何被使用的,以及应用程序如何将API资源用于使用,识别所有API的使用模式。

  • Usage - 对所有帐户和它们的应用程序进行量化使用,然后向所有API使用者报告、计费和协调使用。

  • APIs - API访问帐户、身份验证、服务、日志记录、分析和使用API资源。

还有一些与API管理捆绑在一起的比较常见的元素,这些元素也反映了API管理的核心是什么——API的业务。哪些人拥有哪些权限,他们又使用了哪些权限,将这些信息都记录下来。API管理中还有许多其他方面也需要考虑,但我已经将它们作为一些单独的模块了。这些元素包括:

  • Documentation - 静态或交互式文档,用于所有可用的API路径、参数、头,以及API请求和响应表面积的其他细节。

  • Support - 自助服务,或直接支持通道,API消费者在此过程中使用这些通道来获得帮助。

  • SDKs - 用于web、移动或其他类型应用程序的SDKs、示例、库和其他支持代码元素。

  • Road Map - 当涉及到API时,交流未来的内容。

  • Issues - 有关API的可用性的任何公开问题的通知。

  • Change Log - 关于更改API的历史。

这些领域也对API管理做了补充,但应该超越API操作的日常管理方面。我还考虑了身份验证、日志记录和分析,而不仅仅是API管理,因为这三个领域都应该不仅仅涵盖API,但是它们仍然与API管理的核心部分紧密相连。在我的定义中,API管理在很大程度上是关于管理资源的消耗,而不是API操作的其他方面。这不仅仅是我的定义,而是我所看到的API管理的商品化,就像我们在Amazon Web服务上看到的那样。

AWS API Gateway实际上是关于帐户、应用程序、身份验证以及服务的。日志、分析等都是由AWS CloudWatch提供的。对于正在研究的这个特定项目,我使用了GitHub和Jekyll作为Portal,并分别使用自定义交付、使用和支持api。进一步缩小我对API管理的定义。我想说,AWS在API管理方面表现得很好,与AWS API Gateway和AWS CloudWatch之间的关注点分离。如果你将AWS Cognito应用于身份验证,那么你可以将另一个应用程序分离出来。我没有看到任何可行的解决方案来处理使用、计费和API管理的业务和货币化方面。

我正在从事的API项目已经使用了AWS作为操作后端,因此我也有机会去更好的了解API管理中的活动件在AWS平台中是怎么一回事。在AWS平台里面认真研究一下API管理如何解耦是非常意义的,因为它们是商品化的主要参与者,而且也在日益趋于成熟。一旦完成了AWS以后,谷歌和Azure将是接下来的目标,这些也都是定义API管理未来的主要参与者。

原创粉丝点击