架构师协助明确落实企业数字化战略所需的流程规范和技术能力。这通常包括将Web应用和API基础设施(如API网关、服务网格和开发者门户)逐步演进为云平台。

在实践中,可以采用“直接迁移”“重构”(或“重新设计架构”)和“平台迁移”等方法。选择哪种架构演进路径取决于多个因素,例如能够安全实现多大程度的耦合和内聚。目标应是构建高内聚、低耦合的API,因为这种API可提供稳定的接口和抽象层,避免单项设计变更引发连锁反应,导致必须对实现进行一系列修改。这样,架构的不同部分便可独立演进。
将现有单体应用拆分为微服务并迁移到云端,是一种审慎的现代化选择,因为这种方法有助于API提供方和API使用方更有效地演进各自的系统。
下面将通过一个假设案例,探讨某组织如何将旧系统重构为基于API的架构,并迁移至云平台,从而实现系统现代化。
向基于API的系统演进
对遗留系统进行现代化改造意味着什么?在数字化转型过程中,一个常见步骤是为客户提供合适的交易触点,至少需要创建一款移动应用。但现代化改造远不止于此。在新的数字经济中,为缩短产品上市时间,各组织通过“自建、借用或购买”来扩大数字影响力和客户群体,第三方集成的数量也因此迅速增加。
深入了解现代化改造的实际实施方式,可以发现它同时涉及流程和技术,即通过自动化部署和系统增强来实现持续交付与验证(流程),并推动旧版Web应用向基于API的面向服务架构演进(技术)。此外,API网关等API基础设施凭借强大的流量管理和安全能力,有助于确保系统有效部署到云环境中。
下面,我们通过一个假设案例,分析此类数字化转型的两个阶段:
- 将旧有系统和单体应用重新设计为API驱动的架构
- 利用API基础设施将系统逐步演进为云平台
在这个假设示例中,会议系统支持创建参会者账户(创建账户)、查看可用场次(查看场次)和预订场次(预订场次)等功能。客户通过Web浏览器与会议系统交互。例如,要预订会议场次:

在后台,客户与Web应用交互,该应用向会议应用发送API调用。会议应用使用SQL查询后端数据存储:

多项需求推动着传统会议系统的现代化改造:
- 支持移动应用
- 将服务拓展至全球市场
- 降低当前托管该系统的私有数据中心的运营成本
制定总体计划:
- 使用API网关向使用者开放Attendee服务
- 使用服务网格重构Sessions功能(查看和预订)
- 将Attendee服务迁移到云端
已着手将Attendee组件重构为独立服务。会议系统现在有两个流量接口:
- 客户与会议系统之间(南北向流量)
- 会议系统与Attendee系统(东西向)
然后,部署API网关,以实现可扩展、易维护且安全的流量管理,包括SSL/TLS终止、身份验证和速率限制:

接下来,配置一个服务网格,将旧版会议系统中的 Sessions 功能改造为新的 Session 服务。服务网格可对路由进行精细控制,确保可靠性,并高效代理服务间 API 通信的流量,方便与会者查看和预订会议场次:

最后,可以将Attendee服务和API网关迁移到云端。随着组织逐步迁出现有本地基础设施,这种方法既能避免大规模返工,又能充分利用云原生服务:

要将本指南付诸实践并实现旧版应用现代化,请参阅《掌握API架构》电子书》,了解向基于API的系统演进的最佳实践。
关于作者

相关博客文章
Thingbot正转变为攻击平台
Lori MacVittie重点介绍了F5 Labs对2018年1月至6月全球物联网设备攻击的研究,并指出了其中令人警醒的影响。物联网设备不仅持续遭到利用,还被转变为攻击平台,这意味着攻击者可以更充分地利用这个必然增长的市场。
借助F5全新Quick Start,在AWS上快速开展业务
在AWS re:Invent开幕前,我们很高兴与大家分享F5与AWS之间全新的Quick Start集成。F5的Tom Atkins将介绍该服务如何启动、配置和运行在AWS上部署工作负载所需的计算、网络、存储及其他AWS服务。