原文: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管理未来的主要参与者。

API管理基础知识集锦相关推荐

  1. 操作系统之内存管理:1、内存管理基础知识(指令工作原理、地址转化、程序运行过程)

    1.内存管理基础知识(指令工作原理.地址转化.程序运行过程) 思维导图 什么是内存? 指令的工作原理 装入模块的三种实现 绝对装入 可重定位装入 动态重定位 程序的运行过程 链接的三种方式 思维导图 ...

  2. 企业IT管理基础知识巩固系列之(二)交换机

    接上一篇<企业IT管理基础知识巩固系列之(一)路由器>所讲的迅速了解主流品牌的小方法,在中关村产品报价中,选择"交换机"品类,可以看到以下诸多品牌: 华为 锐捷网络 中 ...

  3. AIX磁盘管理基础知识

    转自IBM官方FAQ:http://www.ibm.com/developerworks/cn/aix/aixfaq/5.html 磁盘识别 在 AIX 上进行磁盘管理的首要任务就是要识别出系统上的磁 ...

  4. 企业IT管理基础知识巩固系列之(三)数据中心(机房)等级标准

    新建一个数据中心(机房),到底按什么标准来建,或者建成以后能达到什么标准?什么等级?作为中心管理者或者更高层领导可能会关注,心里好有一个底. 对于这个内容,专门研究学习了一下.得到的知识目前总结如下: ...

  5. 计算机校招基础知识集锦

    目录 C++基础 继承 子类父类指针问题 重载.重写(覆盖).隐藏(重定义) 析构函数 多态.虚函数(⭐⭐⭐) 类型转换(⭐⭐) 智能指针(⭐) 各种关键字 左值右值,右值引用 内联函数与宏 其他杂项 ...

  6. linux中vi基础知识,Vim入门基础知识集锦

    想学习Vim,但是Vim官网的手册又太大而全,而网上各方资料要么不全面,要么不够基础.在网上搜集各方资料,按照自己的框架整理一份Vim入门基础教程,分享出来.特点是偏向基础,但对入门者来说足够全面,而 ...

  7. API测试基础知识(基本概念、测试方法、测试工具)

    目录 什么是API? 什么是API测试 API测试的测试用例: API测试方法: 如何进行API测试 API测试的最佳做法: API测试检测到的错误类型 API测试工具 API测试的挑战 结论: 总结 ...

  8. 运维服务管理基础知识总结

    简述Discuz论坛的步骤? 1.部署LAMP平台并启动先相关服务: 2.在数据库中创建网站管理员的账户和密码: 3.将Discuz论坛的upload压缩包解压到http的网页目录下,并调整适当的权限 ...

  9. mysql数据库帐户_MySQL数据库用户帐号管理基础知识详解

    MySQL管理员应该知道怎样通过指定哪些用户可连接到服务器.从哪里进行连接,以及在连接 时做什么,来设置MySQL用户账号.MySQL3.22.11引入了两个更容易进行这项工作的语句:GRANT 语句 ...

  10. hbase 客户端_读《HBase权威指南》 客户端API:基础知识

    HBase 的主要客户端接口是由 org.apache.hadoop.hbase.client 包中的 HTable 类提供的. 创建 HTable 实例是有代价的.每个实例都需要扫描 .META. ...

最新文章

  1. liunx使用ssh免密登录
  2. 测试三相无刷电机驱动器 XXD2212 电调
  3. js高级程序设计笔记——DOM扩展
  4. 美国版“非升即走”瞄准终身教授,2年评审不通过就减薪撤职,其他高校开始抢人...
  5. QuartZ Cron表达式详解
  6. Python 学习笔记(半ZZ半自己写)
  7. ABAP SUBMIT 程序时带屏幕默认值
  8. 少拿游戏来骗我,虚幻引擎5上的《黑客帝国》全新体验,画面帅到爆
  9. arcgis10.1连接sqlserver数据库常见问题(转载)
  10. Linux 常用名利总结
  11. asp.net中使用下拉菜单的级联问题
  12. 使用NATAPP内网穿透
  13. 闭包及候选键求解方法
  14. python立方根求解_python – 如何获得立方根的整数?
  15. RSPS 2019软件帮助手册
  16. 2022年美赛D题思路分享+翻译
  17. 万向和肖风的区块链版图
  18. Netty游戏服务器实战开发(6):Netty整合Zookeeper实现分布式服务发现与注册
  19. 未来视频编码_设计编码营销并消费未来
  20. springboot整合缓存Redis

热门文章

  1. Matpower建模
  2. 浅谈设备驱动的作用与本质,有无操作系统Linux设备驱动的区别
  3. java pkcs8_java – 如何在python中创建PKCS8 RSA签名
  4. UGNX1957安装说明视频教程
  5. android x5webview截长图
  6. matlab实现一阶低通滤波器,matlab仿真一阶低通滤波器幅频特性和相频特性[计算机类]...
  7. 1.Kettle下载与安装
  8. 穿越机F4飞控F405代码pcb文件,原理图
  9. php openoffice,php实现openoffice转pdf的方法
  10. java 如何执行dig 命令_如何直接在cmd下执行Dig命令