对 API 平台的再思考【eolink翻译】

API 是推动现代企业数字化转型的基础。它不但连接了内部应用程序、合作伙伴和客户,同时也快速持续地向市场提供了各种新产品、版本和功能。
但当下还是以集中式的 API 交付为主。一个企业的对外 API 交付过程通常都是冗余而繁琐的,对企业内部的敏捷性、速度和效率都会产生不利的影响。
因此越来越多的企业,开始把目光转向 API 平台。利用 API 平台快速将生产者和消费者聚集到一起的特点,实现 API 交付的去中心化和民主化,以推动 API 交付的变革。
本文会介绍如何将平台思维应用于 API 交付,推动企业内部的敏捷性、速度和效率。
| 集中式 API 交付模式的痛点
API 对于现代企业越来越重要,但在大多数企业中,API 没能发挥应有的作用。全球知名的大型咨询公司麦肯锡(McKinsey)提到:
很多时候,企业没有做好准备,就匆忙去构建 API ,会出现许多问题,如系统混乱,冗余、维护不到位,透明度不高。这抵消了 API 可能带来的许多好处。而另外一些企业,花了数年时间去改造和替换原有的大型系统,一直以临时的方式添加 API ,实际也没有取得任何进展。
企业最初采用集中式 API 交付的模式,是为了集中数量少的、难以找到的 API 领域的精英。这种情况下,集中式 API 开发团队会根据 API 的整个生命周期,即从规范定义到开发再到部署和运营,负责端到端的 API 交付。但这种集中式 API 交付的模式存在一些问题:
*** 首先,集中式的 API 交付可以视为一种垄断。**消费者(如业务部门的开发者)没有其他选择,只能通过集中式 API 开发团队来获取 API 。
*** 其次,集中式 API 交付团队无法快速响应敏捷团队的反馈。**集中式 API 交付团队内部繁琐的流程,割裂了共享服务与 API 消费者之间的联系,两者的互惠互让本可以进一步推动创新。
*** 最后,该模式下产出的 API 会越来越臃肿。**企业出于实现治理或制定各种规则的需要,考虑更多的是 API 交付的成本、稳定性和可复用性,而不是迭代速度、敏捷性和灵活性。
显而易见,集中式的 API 交付模式 已经难以应对当下瞬息万变的技术、市场以及严格的消费者了。
平台思维因此也有了用武之地。多数情况下,平台是指公司和外部的生态系统。但是,平台这一关键概念也可以应用于公司内部,以创建企业级 API 平台。这类平台将从根本上改变 API 的交付。
| 平台创造了更具价值的生态系统
平台创造的生态系统包含3个参与角色:创建产品的生产者,购买产品的消费者,提供基础设施和安全性保障的平台方。在平台中,生产者和消费者都能更轻松找到对方,并更有效地进行互动和交易。

平台有几个优势:
*** 选择。**通过托管多个生产者,平台让客户可以在不同产品之间进行选择;
*** 竞争。**多个生产者带来竞争,可以产生更好的产品;
*** 网络效应。**良性的循环可以产生网络效应,更多消费者会聚集到有更多生产者的平台,更多的生产者也会聚集到有更多消费者的平台;
*** 安全性。**平台制定规则和进行治理,从而使生产者和消费者可以安全可靠地进行互动和交易。
可以说平台改变了整个行业的商业模式,像优步(Uber)和爱彼迎(AriBnB)就是这种模式的先行者,也因此占据了不同领域的更多市场份额。
| 企业 API 平台改变了 API 交付的模式
了解了平台的优势后,让我们回到企业 API 平台。

| 结语
企业 API 平台的真正优势,在于它为企业提供了推动当今市场所需的创新、速度和敏捷性的自由环境。企业 API 平台让 API 交付不再被垄断,任何企业都能根据自己的项目、业务来获取合适的 API。集中式 API 交付模式的时代已经过去了,企业级 API 平台会是一个更加优秀的提效方案。
图中所使用的的接口管理工具是eolink,感兴趣可以自行使用:www.eolink.com
对 API 平台的再思考【eolink翻译】的更多相关文章
- 如何优化API?8个实用技巧!【eolink翻译】
使用 API 可以让公司利用现代连接的力量来帮助他们扩大全球影响力.传输数据和改进集成.由于 API 使企业能够简化流程并增强可用性,所以企业会使用一些优化策略,不断优化流程,比如接下来要说到的8个技 ...
- API经济时代的思考(转载目的:为之后写API-first模式的生命周期治理做准备)
原文地址:API经济时代的思考 感觉这篇博客还不错,个人赞同其大部分的内容,借鉴参考一下,懒得自己写了(关键是不一定能轻松写得更好,嘿嘿,偷懒啦) 接下来会写关于API经济的概念下,如何进行AP ...
- EventBus/EventQueue 再思考
EventBus/EventQueue 再思考 Intro 之前写过两篇文章,造轮子系列的 EventBus/EventQueue,回想起来觉得当前的想法有点问题,当时对 EvenStore 可能有点 ...
- 使用google 语言 api 来实现整个网站的翻译
---恢复内容开始--- 使用google 语言 api 来实现整个网站的翻译,这时我们可以利用免费的google api来做处理来实现多语言的功能. 放在 HTML 文件中 <div id=& ...
- HDU 5135(再思考)
题意略. 思路:再思考后发现,为了构造出最大的三角形面积和,我们应该尽量让长的棍子相组合,这样构造出的三角形面积和最大,贪心能解. #include<bits/stdc++.h> usin ...
- 什么是好的 API 设计?【eolink翻译】
对于试图完善其 API 策略的团队来说,良好的 API 设计是一个经常出现的话题. API 设计的重要性相信不需要赘述,精心设计的 API 的好处包括:更好开发人员体验.更快的文档编制以及更高的 AP ...
- 关于API:好的设计和坏的设计【eolink翻译】
以前开发或更新 API 时,我们经常需要深入讨论对 API 的结构.命名和功能等,这个花费了大量的时间. 随着 API 行业的蓬勃发展,API 设计也越来越重要.这么多年发展下来,一些如REST AP ...
- 【转】【翻译】对响应式SVG的再思考
来源: http://www.w3ctech.com/topic/1555 原文地址:http://www.smashingmagazine.com/2014/03/rethinking-respon ...
- GPU计算的十大质疑—GPU计算再思考
http://blog.csdn.NET/babyfacer/article/details/6902985 原文链接:http://www.hpcwire.com/hpcwire/2011-06-0 ...
随机推荐
- 自学java的困难
在自学的一些基础阶段,倒是没什么太大的问题,但是在想搞一个项目的时候,就显得手足无措了.因为,很多博主讲的的那些,都行需要一定的条件,比如前端框架,数据库的数据等等. 简单一点的SSM框架整合相对简单 ...
- Django学习——Django settings 源码、模板语法之传值、模板语法之获取值、模板语法之过滤器、模板语法之标签、自定义过滤器、标签、inclusion_tag、模板的导入、模板的继承
Django settings 源码 """ 1.django其实有两个配置文件 一个是暴露给用户可以自定义的配置文件 项目根目录下的settings.py 一个是项目默 ...
- 【HashMap】浅析HashMap的构造方法及put方法(JDK1.7)
目录 引言 代码讲解 属性 HashMap的空参构造方法 HashMap的put方法 put inflateTable initHashSeedAsNeeded putForNullKey hash ...
- MinIO学习
1.Minio及背景 Minio是一个开源的分布式文件存储系统,它基于 Golang 编写,虽然轻量,却拥有着不错的高性能,可以将图片.视频.音乐.pdf这些文件存储到多个主机,可以存储到多个Linu ...
- 手把手教你 bash中给变量赋值时 ' 和 " 和 ` 和 $() 的使用
1.赋值指令 var='变量内容' var="变量内容" var=`command` var=$(command) var=变量内容 2.格式要求 =两边不能有空白字符 错误示例 ...
- 用了Scrum越来越累?这三点帮你走出困境
摘要:你有没有一种感觉,团队用了Scrum之后,工作任务越来越多,加班越来越严重?有?好兄弟,这篇文章正好能帮你~ 本文分享自华为云社区<用了Scrum越来越累?这三点帮你走出困境>,作者 ...
- 虚拟机:ESX
VMware ESXi 与ESX 产品之比较 VMware vSphere 5.0 以后版本,所有底层虚拟化产品都改为ESXi产品,本文主要比较了ESXi与ESX的各自特点,以便对大家是否要把现有 ...
- 496. Next Greater Element I - LeetCode
Question 496. Next Greater Element I Solution 题目大意:给你一个组数A里面每个元素都不相同.再给你一个数组B,元素是A的子集,问对于B中的每个元素,在A数 ...
- mac安装java环境
1.java安装包获取: 链接:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 2.验证安装是否成 ...
- Date类的常见用法——JavaSE基础
Date类的常见用法 Date类属于java.util包 因此需要导入Date类 Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒). Date(long da ...