第三代 API 管理:从代理到微网关

作者:Oracle ACE 总监 Luis Weir

2017 年 6 月

当今的企业都知道,要在数字颠覆者主导的市场中保持竞争力[i],积极开展创新并提高业务敏捷性和速度是大势所趋。为此,各种规模的组织都开始采用云计算(SaaS、PaaS、IaaS)[ii] 来降低总拥有成本、实现数字化转型以及建立以客户为中心的战略。

然而,迁移至云并不意味着只有一个云。研究表明,组织会选择采用多云战略 [iii],而不是将所有鸡蛋都放在同一个云供应商的篮子里。这种优秀的云采用方案意味着内部部署单体系统 [iv](例如 ERP)和其他内部部署应用需要在云中作为独立的 SaaS 应用重新实施,并通过 PaaS 进行集成或扩展。

weir-3rd-gen-api-mgmt-fig01
图 1 — 云转型

当一些内部部署应用没有对应的云端应用或者无法满足相应的需求时,许多组织也会选择在云中进行应用开发。[v] 微服务架构 [vi] 已经成为实现这种云原生应用的主流架构。这需要将单体系统拆分为多个小部件(每个部件代表一个业务功能),然后将它们作为完全独立的服务(微服务)实施 [vii],通常在 PaaS 中完成。

weir-3rd-gen-api-mgmt-fig02
图 2 — 云原生应用开发

随着云平台的日益普及,信息融合已是大势所趋,这种融合不仅发生在许多不同的 SaaS 和 PaaS 应用(来自不同供应商)之间,而且还发生在许多内部部署系统之间。

为了实现数字化转型,组织要么调整或增强现有的(内部部署)IT 系统,要么尝试用现代 IT 系统加以替代(可能在云端),这样就可以通过多个数字渠道(Web、移动应用、自助终端、合作伙伴网上商店、机器人等)来提供产品和服务 。

数字化转型让员工能够随时随地通过各种不同的设备无缝执行业务流程,从而提升工作效率。

它还支持按需访问相关业务数据并用电子方式执行业务事务,从而增强组织的合作伙伴生态系统。

然而,如果无法访问核心业务信息资产(随着信息的日益融合,访问可能是一个大问题),那么上述场景都将无法实现。

集成平台即服务 (iPaaS) [viii] 解决方案可解决这一问题。其卖点是能够连接到任何云和/或内部部署系统并提供所需的访问。强大的 iPaaS 平台应该能够连接到任何云和/或内部部署应用,并通过 RESTful 应用编程接口(也称作 Web API [ix])提供无缝信息访问。

通过使用 API 提供标准、一致和安全的信息访问,多渠道应用将能够根据需要使用相应的资产。

weir-3rd-gen-api-mgmt-fig03
图 3 — 具有 API 管理功能的 iPaaS 解决方案

然而,除非 iPaaS 解决方案能够提供强大的第三代 API 平台功能,否则将难以满足上述需求。API 需要尽可能靠近信息源。如果无法做到这一点,可能会因网络延迟和其他网络问题(即计划外停机)而导致响应缓慢等问题。如果信息分散在多个云和内部部署系统中,那么 API 也必须采用这种分散化的方式。

第三代 API 平台

随着云采用的普及和信息分布在不同的地点,访问的重要性与日俱增。建立 VPN 来提供连接很快就不再可行。在许多情况下,这根本无济于事,因为 SaaS 供应商不允许直接访问其数据库,而是提供 API 作为访问其信息的唯一途径。

因此,第二代 API 平台(主要是通过 API 管理功能增强的 ESB 和/或 XML 设备)缺乏相应的功能,难以满足云采用和数字化转型的现代需求。

weir-3rd-gen-api-mgmt-fig04
图 4 — 无处不在的第三代 API

如图 4 所示,为了提供云采用和数字化转型所需的功能,需要一个更复杂的第三代 API 平台,这个平台没有单体架构的技术包袱,因此具备以下优点:

  • 可以在任何地方(任何供应商的云端或内部部署)中实施 API,而不会引入运营噩梦和巨大的成本
  • 支持开发人员通过自助开发人员门户发现和订阅 API
  • 在整个 API 开发生命周期和 API 优先模式中实现无缝体验,为开发人员提供设计、创建和测试其 API 所需的工具
  • 信息所有者可以全面了解和控制其信息,包括决定哪些人可以通过哪些方式访问其资产
  • 提供强大的安全机制来保护信息资产免受所有主要威胁的侵扰(即 OWASP 十大安全隐患)
  • 轻型、无设备/无 ESB、适用于微服务架构
  • 弹性(即易于扩展)
  • 集中管理,与网关数量、API 及其位置无关
  • 有效利用统计数据,以便从运营数据中获得业务洞察,而不仅限于监视和故障排除
  • 基于订阅,不提供基于 CPU 的许可

“胖”中间件时代的终结

随着单体系统分成多个小部件并在 SaaS 或 PaaS 中作为独立的云应用重新实施,这些单体系统中包含的业务逻辑和信息也会分散到这些云应用中。我们在第一代和第二代集成中间件中看到变得越来越大(其中包含大量逻辑)的趋势有所好转,就像一个涨破的泡泡 [x]

weir-3rd-gen-api-mgmt-fig05
图 5 — 第三代 API 中的逻辑分布

第三代 API 平台真正标志着软件架构和软件开发的转折点;架构已不再采用分层结构。这是一种模式转变,关注点应该是不同架构之间的差异以及信息在它们之间的流动。

weir-3rd-gen-api-mgmt-fig06
图 6 — 第一代和第二代 API 平台架构对比

API 功能模型

以下功能模型标示出了第三代 API 平台可提供的一些功能。虽然并非所有功能都是平台的核心功能,但是对于建立端到端解决方案必不可少的相关功能都包含在其中。强烈建议使用这种模型,因为它提供了一个结构化框架,可决定采用哪些技术来实现每个功能。

weir-3rd-gen-api-mgmt-fig07
图 7 — API 功能模型

从图中可以看出,API 网关起到核心作用,不仅因为它们是运行 API 的引擎,还因为它们是信息资产的入口点以及应用策略的环节。如果 API 是信息的门道,那么 API 网关就是门。

尽管模型中没有明确显示,但是有一些基本功能可以将第三代 API 网关与第一代和第二代 API 网关区分开来:

  • 轻型:非单体、无设备、无 ESB。它们应该是轻型的、非常易于实施(任何地方)— 理想情况下,应使用容器实施。
  • 自给自足:它们负责从中央管理单元检索 API、策略甚至系统补丁。
  • 面向微服务:它应当:
    • 是无状态的。不为任何事务管理状态。
    • 用所选的任何语言和技术实施服务。
    • 根据需要弹性扩展网关。
    • 与注册表(例如 Consul 和 Eureka 等)集成并动态、智能地确定活动服务端点和路由,从而实现 API 负载平衡。
    • 不提供不属于网关的功能,防止开发人员将逻辑添加到网关中。

总结

第三代 API 平台旨在提供促进现代架构采用的功能,让企业能够更加经济快捷地开展创新并推出新产品和新服务,从而保持活力和竞争力。

对于 Google、LinkedIn 和 Amazon 等数字巨头 [xi] 来说,这已不是什么新闻。然而,对于全球大多数组织来说,云平台、数字化转型和以客户为中心的旅程才刚刚开始。

信息/功能的融合趋势并不会就此止步;分析师预测,到 2020 年,互联设备的数量至少将达到 210 亿。[xii] 各种类型的企业都将利用物联网技术与客户和合作伙伴建立更加密切的关系,这将彻底改变交互方式以及产品和服务的提供方式。

到那时,需要的就是一个超越云端、能够为数十亿支持互联网的设备提供管理和连接功能的第四代平台。

weir-3rd-gen-api-mgmt-fig08
图 8 — 第四代 API 平台

参考资料



[i] 哪些数字颠覆者在重新定义整个行业?(2015 年,TechRadar)



[ii] NIST 对云的定义(2011 年,美国国家标准与技术研究院)



[iii] 未来并不仅仅是云,而是多个云(2017 年,Network World)



[iv] 定义:单体架构 (TechTarget WhatIs)



[v] 在新 IT 时代开发云应用 (TechTarget)



[vi] 关于微服务和 SOA 的讨论(SOA4U 技术博客)



[vii] 开放现代软件架构 (OMESA) GitHub 信息库



[viii] iPaaS:究竟是什么?(SOA4U 技术博客)



[ix] 表述性状态转移 (Wikipedia)



[x] 告别中间件(OpenLegacy 博客)



[xi] Gartner 公布了对 2017 年及未来 IT 组织和用户的主要预测(2016 年,Gartner Newsroom)



[xii] ibid

关于作者

 

Oracle ACE 总监 Luis Weir 是 Capgemini UK PLC 的首席架构师。他与人合著了《Oracle API Management 12c 实施》(2015 年,Packt)、《Oracle SOA Governance 11g 实施》(2013 年,Packt)以及众多文章和白皮书。Luis 还经常在各种行业活动上发表演讲,包括甲骨文全球大会,最近一次是在 2017 年 4 月 20 日的 Oracle Code 伦敦站上发表演讲。Luis 拥有新西兰埃斯塔尔大学电子工程专业的学士学位和瓦伦西亚政治大学 (UPV) 企业网络与系统集成专业的硕士学位。