HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

构建并管理高效 API 市场的关键步骤

  • 2017-11-23
  • 本文字数:4502 字

    阅读完需:约 15 分钟

本文要点

  • 一般而言,API 市场包含几个部分。在典型场景中,生产者首先发布 API,然后通过 API 开发者门户分类展示。
  • API 管理系统为 API 市场提供了锚点,使其可以有效运作,但是,实现一个成功的市场需要使用一种更先进的方法来实现 API 管理系统的某些方面,最值得注意的是 API 开发者门户和分析。
  • 第一要务是实现有效的 API 开发者门户。在 API 市场中,开发者门户必须为企业希望吸引的社区开发者提供直观的体验——既包括专业的软件开发人员和企业高级用户,也包括长尾开发者。
  • 除了创建门户外,企业还要在市场中引入促进 API 重用的激励措施,既包括金钱方面的,也有非经济方面的。分析在支持 API 货币化方面扮演了重要角色。
  • 在管理 API 市场时,企业需要控制谁可以在哪里发布 API,而且要确保发布的 API 符合组织的标准,比如 URL 模式、命名约定和访问控制规则。

现在,企业正在跨行业寻找可以实现业务数字化的方式,通过外部 API 扩展他们的服务。然而,为了从 API 编程获益,组织需要超越基本的 API 管理,创建一个 API 市场、一种致力于连接生产者和消费者的特殊类型的平台业务模型。随着越来越多的公司转向业务平台寻求竞争优势,API 市场将平台业务模型的好处带给了 API 管理。

就其本身而言,API 市场解决的通常不只是开发者门户及 API 管理的其他技术方面的问题,还包括为保证 API 达成初衷——促进 API 的消费和使用——而产生的企业和人两个方面的问题。

在本文接下来的部分,我们将探讨在 API 生态系统中发挥作用的技术和业务事项,以及构建并管理高效 API 市场的关键步骤。

API 管理系统是 API 市场的锚点

通常,API 有多个部分组成。在典型的场景中,发布者首先发布 API,然后通过 API 开发者门户分类展示。这促使 API 的消费者直接或间接(例如,通过系统 API)地访问 API 开发者门户,查找、发现和利用它们。开发者门户分门别类地展示不同类型的 API。对于特定的 API,用户可以测试、订阅它们。图 1 说明了 API 市场各组件的相互关系。

API 管理系统提供了 API 市场管理的锚点,使它可以有效地运转。它通常包含五个核心组件:

  • API 网关是 API 的运行时和策略执行点,执行流量控制、速率限制和安全策略。
  • API 安全可能会由网关的基础层提供,也可以通过集成身份访问管理(IAM)解决方案来实现。
  • API 开发者门户是一个服务目录,为应用程序开发者提供一个集中的位置,发现、订阅和测试 API。
  • API 发布门户提供了基于后端服务设计 API 的功能。
  • API 分析提供了 API 使用情况快照,为 API 货币化提供了数据。

实现一个成功的市场需要使用一种更先进的方法来实现 API 管理系统的某些方面,最值得注意的是 API 开发者门户和分析。同时,组织实践在建立高效的市场方面也发挥着重要的作用。下面,我们将探讨构建强大社区推动 API 使用的五个基本要素,旨在为企业吸引更多的用户,增加收入来源,提高忠诚度。

图 1:API 市场的关键组件

API 开发者门户

第一个要素是实现一个高效的 API 开发者门户。在 API 市场中,开发者门户必须为企业希望吸引的社区开发者提供直观的体验——既包括专业的软件开发人员和企业高级用户,也包括长尾开发者。这里的长尾开发者是指那些不会立即成为 API 提供商企业客户或者合作伙伴的开发人员;更准确地说,是一群查阅 API 文档围绕 API 构建 App 的独立开发者(他们可能隶属于某个更大的组织,因此是潜在的客户)。API 提供商既可以选择将所有的资源和文档隐藏在一个受保护的登录页面之后,也可以更透明,把所有这些资源和文档公开。消费者可能会直接或间接(例如,通过机器到机器的连接)地访问开发者门户,查找、发现和利用 API。开发者门户分门别类地展示不同类型的 API。用户可以测试和订阅特定的 API。

有个不错的例子,我们的一个客户,一家大型的电信服务提供商,构建了一个 API 驱动的应用程序 / 服务创建生态系统,可以快捷轻松地创建出运行在公司移动通信平台上的数字化 OTT 服务。为开发人员和非开发人员分别提供单独的门户可以为用户提供直观的体验,只要几分钟,用户就可以仔细阅读使用条款、注册并开始使用电信公司提供的服务。

由专家和“社区”开发人员为该平台创建的服务被发布到电信公司的应用商店里。门户定制的方法让该电信企业可以把来自各类开发人员、初创企业及政府机构的 App 提供给小型零售企业、学校、教会和慈善机构的非开发人员。单是在头 18 个月里,就有超过 2500 名 App 创建者发布了 3300 多个基于电信公司 API 的 App 和服务。

在传统的 API 管理环境中,组织的 API 所有者发布一套 API,然后由应用程序开发人员消费。不过,为了让这种情况真正具有可持续性,应用程序开发人员应该对发布的 API 的形式和类型有发言权,从提出向 API 增加字段的需求,到把多个不同的 API 组合成一个 API,从而满足特定设备的限制和需求。

为此,最简单的方法是有论坛或问题工单系统跟踪特性请求,方便 API 的消费者和生产者交流。还有一种更具前瞻性的方法,就是 API 开发者门户本身为消费者提供一个自助沙箱平台,用于组合 API,创建自己的私有 API。除了要维护生产者发布的正式 API 外,API 开发者门户还为消费者提供了一个完备的平台,让他们可以创建满足应用程序特有需求的私有 API。

促进重用的激励措施

除了创建一个门户外,企业还需要引入市场激励措施促进 API 重用,既包括金钱方面的,也包括非经济方面的。在组织内部,激励措施通常没有货币价值。例如,组织可以维护一个排行榜,突出显示名列前茅的 API 发布者和应用程序开发人员。企业也可以跟踪哪些 API 的订阅者最多,并在开发者门户的仪表板上展示。研讨会和黑客马拉松可以让开发人员学到并运用技巧,这也可以作为激励措施。

在寻求面向外部组织的激励措施时,组织更经常采用某种形式的经济措施。例如,前文提到的电信服务提供商让用户可以使用预定义的模板快速创建应用程序,然后他们就可以把它们发布到公司的应用商店里,共享由此产生的收益。服务的收益分配模型是第三方服务创建者占 70%,电信公司占 30%。这使得企业从基于其 API 构建的应用那里获取的收益环比增长了 20%。

API 货币化

API 快速变成产品,卖给或提供给应用程序开发人员,从而从消费这些 API 的其他业务单位或第三方组织获得收益。因此,API 市场需要有可以直接或间接实现 API 货币化的机制。

关于间接货币化,公司认识到,API 的应用越广泛,就可以为核心业务带来更多的客户和交易,并且可以扩展生态系统。世界领先的活动门票销售商 StubHub 就是个很好的例子。其 API 项目的其中一个目标是,让旅游公司、宾馆和酒店行业里的其他组织组成一个生态系统,向他们的客户追加销售活动门票。任何时候,只要宾馆的客户在宾馆的网站上使用了 StubHub API,StubHub 就可以赚到钱。

同时,有两种组织可能会愿意使用的直接货币化手段。对于内部的直接货币化,通常是一个部门从另一个使用特定 API 的部门赎回账单。由于现金是由公司会计从内部分配的,所以没有实际的信用卡支付或电汇。至于外部的直接货币化场景,一家企业销售服务,作为客户的外部企业的解决方案藉由这些 API 获得增强。例如, Twilio 销售 API,而 Uber 借助它们在其移动 App 中提供文字讯息及电话呼叫功能。

分析在货币化中扮演者重要的角色,帮助企业了解程序的运行方式、API 的使用情况以及开发者门户与合作伙伴的交互情况,并进行管理。借助分析,企业可以了解 API 客户什么时候达到了 API 协议中的限值,并使用这个信息向用户销售更高级别的方案。

如果目标是根据 API 的每次使用收费及开具发票,那么组织实现直接的 API 货币化模型就需要采用更为增量化的方式跟踪使用情况。此外,直接的外部货币化需要集成计费引擎,大多数情况下是符合支付卡行业数据安全标准(PCI DSS)的支付网关。基于云的解决方案已经有了符合 PCI 标准的计费引擎,组织无需再考虑合规性或认证。因此,即使大多数 API 的管理部署是在本地,计费部分也很可能外包给云服务。

不可或缺的治理

在管理 API 市场时,企业应该能够控制谁可以在哪里发布什么,并且要确保发布这些 API 符合组织标准,诸如 URL 模式、命名约定、访问控制规则。为此,他们务必要引入一个不可或缺的治理模型,帮助他们满足策略和合规性需求。

可以把 API 发布在一个集中式的 API 开发者门户上,实现 API 的集中治理。但是,为了避免扼杀创造力,企业可能会考虑自下而上的治理策略,而不是自上而下的方法。例如,企业可以选择一种去中心化的 API 发布模型,让每个业务单位自行设计和发布 API。

由于主要目标是将组织结构运用到 API 管理上,所以让每个业务职能部门独立管理自己的 API,包括对已发布的 API 进行更新或设计改进,这种自下而上的方法满足这种需求。把这项任务分解,可以让每个业务单位在团队成员如何构建和暴露 API 方面保持创造力,同时可以保证对这些 API 进行有效地管理。

API 分析

正如前面讨论过的,分析在支撑 API 货币化方面扮演着重要的角色。更深入地讲,API 分析让企业可以洞察性能、可用性、潜在的安全问题,而且随着时间推移,分析可以提供决策支持。通常,实现 API 市场的组织将依赖各种分析能力的组合,这可能是由完整的平台提供,也可能是由单独的产品提供,这要看具体的需求。

企业通常是最熟悉批量处理与分析的,他们可以引入这种方法发现一段时间以来发布的 API 的长期趋势,其中包括调用错误、延迟时间、日常跨地域使用情况、随着时间推移的注册情况、请求调节、异常响应预警、API 健康可用性预警。

不过,为了实时观测使用情况、性能及其他指标,引入流分析软件很重要,通常,这还会引入复杂的事件处理技术。开源选项包括 Esper Siddhi CEP 引擎以及 Apache Storm Apache Spark 流分析项目。值得注意的是,藉由机器学习实现的预测性分析既可以应用于实时数据,也可以应用于历史(批量)数据,用于发现诸如欺诈、用户速率限值、逼近容量限值及其他因素,以便可以及时触发恰当的操作。

最后,仪表板以一种有意义的方式将从流分析和批量分析得出的趋势可视化,让企业和 IT 用户可以洞察获得的数据。借助仪表板,企业可以跟踪一组常见趋势,然后根据需求指定不同的预警。例如,企业可能希望跟踪每个应用程序的 API 使用情况、每个应用程序中调用 API 最多的用户以及每个应用程序中 API 使用的资源路径。

组织可能还希望使用仪表板监控每个应用程序错误调用 API 的数量。例如,在一次错误调用中,消息传递顺序错误。在默认情况下,当后台服务不可用时,API 管理系统会将这次 API 调用视为错误调用。其他仪表板的例子还有 API 延迟时间、API 跨地域使用情况、开发者随着时间推移的注册情况以及异常响应时间预警。

对于任何企业,成功有赖于所有利益相关者的贡献与参与,在理想情况下,一个有效的 API 市场是分享式业务。通过引入本文讨论的技术和策略,企业就有了良好的定位,可以基于当前的 API 管理方案创建 API 市场,推动发展,培育新的业务机会,创建新的收入流。

关于作者

Mifan Careem WSO2 解决方案架构的高级主管。他与客户密切合作,并联系 WSO2 的工程和销售团队,根据用户需求分析、定义领域特有的解决方案架构。

查看英文原文: Key Steps to Building and Managing an Effective API Marketplace

2017-11-23 17:082502
用户头像

发布了 1008 篇内容, 共 389.6 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

第 0 期架构训练营模块 2 作业

架构实战营

还有人搞不懂数据仓库与数据库的区别?

大数据技术指南

数据仓库 4月日更

阿里高工熬夜14天码出这份Java10w字的面试手册!却遭GitHub封杀

Java架构之路

Java 程序员 架构 面试 编程语言

Github霸榜数月!原来是阿里大牛最新的Java性能优化实战笔记

钟奕礼

Java 编程 程序员 架构 面试

CopyOnWriteArrayList源码解读之CopyOnWrite思想的利与弊

徐同学呀

Java源码 JUC CopyOnWriteArrayList

FutureTask源码解读,阻塞获取异步计算结果(阻塞、取消、装饰器、适配器、Callable)

徐同学呀

Java源码 JUC Future

技术实践丨列存表并发更新时的锁等待问题原理

华为云开发者联盟

事务 update 元组 列存表

架构实战营 模块二作业

fazinter

架构实战营

阿里P8重磅总结:看完别说不会了哦,SpringBoot「完结篇」

比伯

Java 编程 程序人生 计算机 架构】

MySQL 索引概要

小方

MySQL 索引

计算机原理学习笔记 Day8

穿过生命散发芬芳

计算机原理 4月日更

程序员3年CRUD从8K涨到20K,这4个月我到底经历了什么?

码农之家

编程 程序员 互联网 面试 职场

边缘计算是流行词还是风口?开发者怎样选开源项目?

华为云开发者联盟

开源 开发者 5G 边缘计算 EdgeGallery 社区

MySQL存储过程的异常处理

Sakura

4月日更

探索区块链Baas平台的奥秘,源中瑞公共服务平台开发技术

源中瑞-龙先生

区块链 源中瑞 Baas

关于ReentrantReadWriteLock,首个获取读锁的线程单独记录问题讨论(firstReader和firstReaderHoldCount)

徐同学呀

AQS Java源码 JUC

Anolis OS 8.2 RC2 发行,支持飞腾、海光、兆芯、鲲鹏等芯片

阿里云基础软件团队

阿里P8整理出SQL笔记:收获不止SOL优化抓住SQL的本质

Java架构之路

Java 程序员 架构 面试 编程语言

为极客时间增加自动提醒功能,督促用户回来上课

克比

openLooKeng如何应对“野蛮零散”的大数据

openLooKeng

大数据 开源 openLooKeng

架构师实战营 模块二作业(微信朋友圈高性能复杂度架构分析)

代廉洁

架构实战营

聪明人的训练(十七)

Changing Lin

4月日更

Spring Bean创建过程的Hook

邱学喆

BeanPostProcessor @Autowired注入原理 @Resource注入原理 @Value注入原理

堪称神作!阿里数位专家联合写的“大厂高频Java面试手册”

码农之家

Java 编程 程序员 互联网 面试

架构师实战营 模块二总结

代廉洁

架构实战营

史上最强的:京东北极星商业系统权限管控实践

Java架构师迁哥

这才是大数据的正确打开方式

华为云开发者联盟

大数据 数据仓库 云原生 数据治理 灾备

2021互联网大厂高频面试专题500道:并发编程/Spring/MyBatis(附答案解析)

比伯

Java 编程 架构 程序人生 计算机

Impala架构详解

五分钟学大数据

4月日更 impala

阿里高工熬夜18天码出Java150K字面试宝典,却遭Github全面封杀

Java架构之路

Java 程序员 架构 面试 编程语言

ThreadPoolExecutor源码解读(一)重新认识ThreadPoolExecutor(核心参数、生命周期、位运算、ThreadFactory、拒接策略)

徐同学呀

线程池 Java源码 JUC ThreadPoolExecutor

构建并管理高效API市场的关键步骤_语言 & 开发_Mifan Careem_InfoQ精选文章