对 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 ...
随机推荐
- 抽象类 & 接口
抽象类 模板设计模式 把每个类中类似的job 方法"提炼"出来, 成为一个抽象函数(同时也有一个抽象类) 然后把另外calcuateTime这个函数内容,"提炼" ...
- 【转】WinForm窗体刻度尺
`using System; using System.Drawing; using System.Windows.Forms; using System.Drawing.Drawing2D; nam ...
- Unity实现简单的对象池
一.简介 先说说为什么要使用对象池 在Unity游戏运行时,经常需要生成一些物体,例如子弹.敌人等.虽然Unity中有Instantiate()方法可以使用,但是在某些情况下并不高效.特别是对于那些需 ...
- 北航内核操作系统-lab0
1.lab0环境介绍. 2.进入实验界面. 3.进入实战测试. 任务要求: 3.1编写斐波那契数列. 3.2编写Makefile脚本. Makefile介绍: make命令执行时,需要一个 Makef ...
- 图片查看器——viewer.js
使用简介 https://github.com/FNNDSC/viewerjs(需要点击遮罩层关闭弹框的复制下面内容) https://www.jianshu.com/p/d98db3815823 v ...
- Android添加背景图片和设置app图标
Android添加背景图片和设置app图标 Android 添加背景图片 第一步:找到你要当做背景的图片,并下载下来 第二步:将图片复制到app->res->mipmap文件夹下 第三步: ...
- sklearn机器学习实战-简单线性回归
记录下学习使用sklearn,将使用sklearn实现机器学习大部分内容 基于scikit-learn机器学习(第2版)这本书,和scikit-learn中文社区 简单线性回归 首先,最简单的线性回归 ...
- vue-router实现原理及简易demo
自定义路由demo,git地址: git@github.com:xsk-walter/Vue-router.git 一.router基本使用 ① 创建和路由相关的组件 ②Vue.use(vueRout ...
- MAC系统下破解WIFI密码(亲测可用,含wifi密码字典)
出差第二天,住的小区因为疫情被封,宿舍又没有wifi,看着附近满满的WIFI信号列表,wifi万能钥匙却一个都连接不上,心中一万匹CNM...于是电脑连上手机热点,然后各种折腾,终于破解了一个隔壁的w ...
- 398. Random Pick Index - LeetCode
Question 398. Random Pick Index Solution 思路:重点是如果数据中有多个数target相等,要从这些数中随机取一个,根据例题 假设输入是: int[] nums ...