金融级云原生分布式架构的应用
随着数据智能、云计算、人工智能等信息技术在金融领域的广泛应用,许多传统金融服务纷纷从原来的离线走向了在线。金融创新除了缘于数字时代的生产生活对金融服务的高品质、多元化需求,还基于金融机构经营活动中产生的海量数据资源和强大的计算能力。如今,无论是信贷、支付、理财等传统金融服务,还是供应链金融、智能投顾、数字货币等新型服务形态,其背后都离不开算力和算法的支撑。在此背景下,云原生技术得到了包括金融业在内的相关行业的高度重视,并成为推动金融业数字化转型的重要利器。
云原生的定义
所谓云原生(Cloud Native),从字面上理解就是生长在云上。这一概念在2013年被Pivotal公司首次提出,后经云原生计算基金会(Cloud Native Computing Foundation,CNCF)进一步发展和提炼,形成狭义云原生概念,其内容包括容器技术、服务网格、微服务、不可变基础设施和声明式API等。随着云计算技术的发展和普及,越来越多的新技术生于云、长于云。因云而生的各种产品、技术、软件、硬件、架构逐渐扩展成了广义云原生概念。如今,云原生不仅仅是一项技术,还是一套敏捷架构方法,既包含技术范畴(如云计算、微服务、DevOps、云原生芯片、云原生大数据、云原生AI等),也包含管理和架构范畴(如架构体系设计、中台化、编排重组、持续交付、无服务化等)。随着云原生体系不断丰富,应用落地也在持续增加,因其应用简便,部署快捷、伸缩灵活,已逐步成为数字化时代企业技术架构升级路径中的一项进阶选择。
随着云原生逐渐从社区走向金融机构,适应金融场景要求的云原生架构逐步形成。如果把过去金融业集中式架构(中央大脑)的统一控制视为坐标轴的“左端”,完全开源式的分布式云原生作为坐标轴的“右端”,那么在金融级云原生架构下,金融机构所需要的技术架构就是在左右两端之间寻求一个平衡点,做到既拥有金融级的安全性、强一致性、可靠性,又具备适当的容错性、可扩展性和快速响应的能力。以“强局部自治、弱中心控制”为原则,金融级云原生架构把那些需要综合多方因素判断的复杂逻辑交由全局系统(中央大脑)完成,发挥其汇聚全局要素和高效计算的优势,而大量的日常简单判断和执行动作则可放在局部系统内闭环完成,提升容错性和敏捷应变能力,进而提高整个系统的稳健性。
在新冠肺炎疫情冲击下,许多金融机构快速构建线上服务、云上营业厅、音视频服务、场景金融服务、产业金融服务,为个人和企业客户等提供了便捷和全时在线的数字金融服务。这类数字金融服务对相关应用的敏捷性、弹性和韧性提出了更高要求,金融机构需要在短时间内上线新应用,快速伸缩资源以满足突增的访问量,确保系统持续正常运转。这种敏捷应变的需求是单靠传统IT架构难以实现的。金融级云原生架构便成为这些机构加快系统迭代升级、跟上金融数字化转型步伐的利器。从本质上看,金融级云原生包括规范用云的架构模式、技术标准、管理理念、应用实施的工具和方法,其目标是让金融机构摆脱对基础设施的大量投入,将精力集中到业务创新和产品研发上来。借助云原生理念和工具,金融机构可以像使用水电气等公共设施那样,使产品设计、开发调试、部署测试、资源消费等业务能够即插即用地对接到任何一朵云上,从而在节省资源的同时实现灵活的部署运行,并获得强大的算力支持和安全保障。
金融级云原生的演进之路
过去40年,我国金融行业IT架构经历了多次变迁,大致可以划分为分散式架构、集中式架构、“分布式+集中式”双核架构三个阶段。20世纪80年代,金融机构开始引入主机系统,此时构建的业务系统高度分散,效率较低。90年代末,随着计算机性能的提升和网络设施的发展,银行对资源和数据集中的需求愈发强烈,“数据大集中”成为当时金融IT建设的主要任务。主机承载的大集中模式显著提升了IT处理效能,但集中管理也带来了运维成本过高、业务创新迭代速度下降等问题。对此,一些金融机构开始借鉴互联网公司的模式,将部分外围业务转向分布式架构。2017年左右,分布式架构开始引起金融机构的重视,并与大集中架构融合共同形成目前银行IT系统的主流架构。2020年疫情带来线上业务剧增,要求银行快速适应远程服务模式;同时,消费互联网和产业互联网发展加速,拉动金融服务与纷繁多变的场景深度融合。面对复杂多变的环境,金融机构既要维持系统的稳定连续,又要随机应变、快速创新,IT框架迭代升级的紧迫性更加突出,越来越多的银行开始将云原生作为下一代IT系统升级的核心技术架构。
在金融级云原生架构中,分布式与云计算是一对最佳组合。分布式是云计算的技术实现形式,云计算是传统分布式的延伸。分布式云原生有助于应用的灵活延伸,云计算则可以提高系统的易管理性、用户友好性和操作弹性。二者组合,将使金融机构最大程度地分享到云计算的红利。然而,任何技术创新和系统迭代都需要通过一定时间的多方实践加以检验。从目前的情况看,金融级云原生架构转型不太可能一蹴而就。一方面,从监管合规要求来看,金融的特殊性决定了它必须是一个强隔离、强监管的行业,如何确保新技术应用过程中业务连续、数据安全和隐私保护符合监管规则,仍有待探索;另一方面,金融机构的信息化水平一直走在各行业的前列。然而,为保护既有投资,每家金融机构平均上百个系统反而可能成为IT架构升级迭代的掣肘。如何实现新技术与传统架构的融合并存,无疑也是金融数字化转型中面临的巨大挑战。
但从长期来看,随着数字经济和新技术的发展,金融业务敏捷化、场景化、远程化乃是大势所趋。云原生架构可以赋能金融机构加快需求交付、降低运营成本、支持容量伸缩、保证业务连续,从而使业务能更从容地接入创新技术、提升渠道的广泛触达能力。
金融数字化也是业务和技术的不断互相促进的过程。为了满足业务创新发展的需求,金融机构的IT架构也在渐进式地迭代和升级:从集中式(大型机、小型机)到开放式(云化基础设施),从狭义云原生到广义云原生。
金融级云原生是广义云原生在金融领域的增强版,是将过去在应用层做的大量工作(比如弹性扩展、服务升降级、容灾切换等)下沉到云平台层去实现,让应用只需要关注客户体验与业务逻辑。
行业实践
经过多年的探索,目前金融级云原生技术已经在金融业数字化转型中形成了一些行之有效的应用方案。
多活+单元化架构
金融机构在建设多活的数据中心时,两个数据中心之间的物理距离可能会导致跨数据中心的交易服务访问延时过大甚至出现超时。在这种情况下,计算跟存储之间的跨城通讯是不满足业务需求的。
如果采用单元化架构,计算跟存储基本封闭在一个逻辑数据中心(Logical Data Center,LDC)里面完成,可以根据需求控制交易服务的流量,及时调节访问压力。在跨城、跨数据中心的多活应用部署情况下,业务访问根据路由策略进入LDC的某个单元内,绝大多数业务服务交互可以在一个单元内就近调用访问完成,避免出现大量的跨数据中心交互访问,交易的延迟性问题也可以得到很好的控制。此外,有些业务仍会存在跨单元、跨数据中心、跨城通信情况,业务访问也将基于最小化数据跨域的服务调用策略进行交互访问,可以最大化地解决跨城数据服务通讯的时滞问题(见图1)。
故障隔离和自愈
金融机构对系统稳定性要求极高,物理服务器故障对业务产生的影响很大。如果物理服务器规模较小,很容易导致部分核心系统的应用服务分布过于集中,一旦服务器宕机,势必直接影响业务的正常开展,后果十分严重。基于云原生架构,金融机构可根据业务特点和应用等级去制定策略,确保所有的调度不会集中在个别的物理服务器上,即把负载“打散”。此外,在云原生架构下,金融机构可以随时监控和探测系统的健康状态,配置中心能自动发现物理服务器上的容器问题并及时报警和自动处置。
精细化处理
业务场景增多、业务变化加快、业务模块之间关联度日趋复杂,会造成系统运行中出现突发事件。有一些平常流量非常少的业务场景在业务量突然增大后,会导致周边相关系统受到冲击。这种情况很可能导致部分服务器请求遭到积压,情况严重时会出现“雪崩”效应,从而使业务陷于瘫痪。此外,金融交易中经常遇到的热点账户问题,也很容易导致全行的“交易抖动”。如果可以识别甚至预判不同业务所导致的热点并做到有效隔离,那么偶发情况就不会影响到其他业务场景。
云原生架构的核心价值是可以实现流量的精细化隔离。在云原生架构之下,基于模块化开放智能网络(Modular Open Smart Network,MOSN)的服务网格技术,金融机构可以实现更细粒度流量调拨,使流量调拨从数据中心层面进一步聚焦到单个应用级别,选择一些不敏感的应用服务先切流,从而避免影响到关键业务的正常开展。基于新的云原生能力,在流量转发的过程,调度系统具备染色能力,可以在流量通过MOSN时进行标记,使之“路由”到指定的一些容器上。这样,不同的业务请求就会被“路由”到不同的容器集群里,从而降低不同业务之间的相互影响,同时还可逐步实现对国产运行环境的切换。
应用发布能力
高效灵活的应用发布变更是金融级云原生的重要能力。对于金融机构来说,每次发布必须做到审批有据可查,数据安全无损,过程可实时监控,应急可回退复原。金融级云原生可以将安全生产理念融入应用发布的全流程管理,在架构层面上提供“可灰度,可回滚(应急),可监控、可审计”的能力。
结束语
经过多年的实践探索,阿里云将云原生的架构原则与金融行业实践相结合,形成了一套金融级云原生的方法论和工具箱,包含云原生成熟度评估模型、架构蓝图以及实施路径,并配套形成金融级云原生的技术框架体系。这些方法和技术框架体系具有一定的通用性,可以帮助金融机构寻求适合自身定位的架构迭代路径,满足多元化的业务创新需求,适应日益严苛的场景考验,赋能金融机构加快数字化转型。■