Nationwide Building Society(以下简称“Nationwide”)是一家英国金融服务提供商,拥有超过 1500 万名会员,是全球最大的建房互助会。
Nationwide 的故事可以追溯到 1884 年,当时协会的创始人提议合作运动应建立专门的建房互助会。那时,人们的生活相对简单。各种银行产品通常只提供给富人,工薪阶层很难获得信贷资源和长期住房保障。这些普通的劳动大众需要有个能存钱、能借钱的地方。他们希望通过建立互助会来满足自身需求,提供各种金融新机遇。
Nationwide Building Society 便由此应运而生。而在 135 年后的今天,这种互助基础依然牢不可摧。
自 19 世纪末以来,人们的生活发生了翻天覆地的变化。然而,Nationwide 在英国至今仍然家喻户晓。如今,Nationwide 为会员提供活期账户、抵押贷款、储蓄存款以及其他个人理财方面的帮助,并继续发展各项服务。
客户的期望也在不断发生变化。随着新兴竞争品牌纷纷推出各种新型银行业务模式,客户要求获得更优服务的呼声日益高涨。2021 年,人们对网络数字银行服务的需求从未如此迫切。如今的 Nationwide 就像在 1884 年时那样,开展各种金融产品创新,积极推动客户参与。然而这一次要做到这一点,Nationwide 需要不断提升技术堆栈,紧跟其拓展服务的步伐。
英国家喻户晓的品牌
努力推出各种线上实时功能
客户对新服务、新功能的这种需求正不断扩大和变化。尽管 Nationwide 的移动银行平台自 2012 年以来经历了数千次更新,但该平台仍须不断优化提升,增加各种新功能。 如今,不少客户都期望使用数字优先的产品,但同时也希望这些产品的使用方式更加直观易懂。他们希望实时查看自己的所有账户,并能制定有助于理财的各种规则。 Nationwide 的应用程序架构主管 Rob Jackson 表示:“我们的一些客户希望所有业务现在都能在线办理,而且要求支持实时操作。”各种在线功能和实时信息有助于为消费者带来简单易用的体验,但对 Nationwide 来说,要实现这一目标,需要攻克复杂的技术难关。 如果这些在线任务中有一项任务耗时过长,或者如果数据没有正确整合,客户体验就会受到影响。为了避免这类情况的发生,Nationwide 必须能够实时追踪、修复和更新相关任务或数据。
要想满足客户需求,Nationwide 就需要采取全新方法,为此需要更新底层技术基础设施,提升软件运营水平。
“推动更直观的理财方式。”
Nationwide 对大型机技术的长期依赖显然是 Jackson 及其团队开展创新的切入点。
自 2012 年起,Nationwide 就一直在大型机这个传统技术孤岛中存储和处理大量客户接触点(网络、移动设备和分支机构)数据。大型机很难使用,而且减缓了开发实践的速度。随着实时数据不断涌入,这些信息的速度和多样性开始对大型机构成了挑战。 为了提供全新的数字服务,Nationwide 需要掌握一种尽快从大型机中获取数据的方法,以便为客户提供最新信息。Jackson 表示,一种方法就是扩展大型机,但这种方法“速度太慢、成本太高”。相反,团队希望为大型机“减负”,将大型机上存储的数据复制到新的实时事件流平台上。该平台有助于整合所有数据,方便开发者使用并发布这些新功能。 该实时事件流平台被称为“加速层 (Speed Layer)”,它将成为 Nationwide 海量数据请求和事件溯源的来源,而在事件溯源中,对应用的所有变更都会存储为事件序列。
Jackson 表示:“这意味着我们终于可以打破数据孤岛,实时合并和丰富数据。只有这样我们才能更好地提升敏捷性、支持创新活动。” 为了实现所有这一切,团队需要一个全新的现代化数据库来查询、管理和扩展所有这些信息。该数据库需要具备灵活性、便于开发者使用,而且能够大规模地安全存储关键任务数据。
“使用 Nationwide 银行应用,尽享业务随时随地随心办。”
出于上述需求,Nationwide 评估了文档数据库的市场及其所需的各种企业级能力:多功能性、功能性、韧性和安全性。经过严格的试用和测试过程,团队选择了全球云数据库服务 MongoDB Atlas,并开始在 Amazon Web Services (AWS) 上运行该服务。
“我们听说过 MongoDB,也知道在有类似应用场景的组织中不少开发者都在使用它的文档数据库,”Jackson 表示,“MongoDB 是最受欢迎的一项数据库技术,而优秀的人都希望用上最好的技术。我们当是就想在 Nationwide 中打造这样的技术环境。”
Rob Jackson,Nationwide 的应用程序架构主管
如下文手绘的彩色草图所示,加速层通过变更数据捕获从后端大型机中获取实时数据,并将数据推送到事件流平台 Kafka 上。然后,速度层使用流处理技术为 MongoDB 生成各种 Kafka 主题。数据之后会被路由至 MongoDB 中进行持久化,形成支持查询的环境。
通过将大型机数据实时复制到 MongoDB Atlas 中,开发者可以借助微服务架构将有关信息推送给对应的服务,无论这些服务是数字银行、抵押贷款还是账户服务。这意味着每个工程团队都能掌握最新数据,为客户构建各种新功能和实时功能。
有了 MongoDB Atlas,团队无需再担心基础设施预配、实例扩展或备份方面的管理工作,因为这一切均由 MongoDB Atlas 完全托管。而团队可以将精力集中在新功能的构建上。
Jackson 表示:“我们发现 MongoDB Atlas 采用了一种很好的数据组织方法,对于我们的开发者来说非常简单易用。它极大地减轻了数据管理工作的复杂性。”
Rob Jackson,Nationwide 的应用程序架构主管
团队现在能够使用 MongoDB 的灵活数据模型更快地构建应用程序,处理极为多样化的数据类型,并且可以更加高效地大规模管理应用程序。传统的关系系统采用复杂的表和行格式,而 MongoDB 的实时数据则以一系列 JSON 文档来表示,这让开发者能以自然语言更直观地表示数据,并由此开发出性能更好的应用程序。尽管 Nationwide 如今在加速层中使用了 MongoDB Atlas,但 Jackson 解释说这仅仅是双方合作的开始。 “我们现在有机会以各种新的方式探索数据。我正在考虑使用机器学习等新服务,这样我们就能在市场上快人一步,为客户提供最佳体验。” 由于数字化转型是 Nationwide 的长期项目,因此选择 MongoDB 既考虑到了即时影响,也考虑到了未来价值。“该路线图看起来非常有趣。最近新增的 Atlas App Services 和移动数据库等功能可能会对我们将来扩展客户功能大有用处。”
Rob Jackson,Nationwide 的应用程序架构主管
加速层堆栈
加速层仍处于早期生产阶段,但已经表现出强劲的回报,特别是为 Nationwide 带来了韧性和敏捷性,而且能够摄取丰富的数据集。
然而,加速层的效果最终将体现在它能否让 Nationwide 为客户大规模构建基于数据的各种实时功能上。
新架构以事件为驱动,为客户更轻松地实现这些新功能提供了机会。
“长期以来,金融服务提供商在数据捕获和安全存储方面一直表现出色。但他们在向客户宣传有关数据的 10 个有趣事实方面做得不够,而这可以给他们带来实实在在的好处。为此我们正在改变这种状况,”Jackson 补充道。
Rob Jackson,Nationwide 的应用程序架构主管