金融科技十四五 | 银行核心系统技术洞察 04
连载导读:
身处数字化时代,伴随着市场环境的变化和客户需求的不断提升,以及云计算、微服务、分布式、移动、人工智能等新技术的日益发展,国内银行都在陆续以核心系统转型改造升级为契机,建设新一代核心系统,带动银行总体架构升级,加快产品创新和业务流程再造。
每一代核心系统的实施都会伴随着重大的结构调整和战略定位梳理,因此,核心系统的建设绝非 “技术实现” 这样一个单纯的项目维度。随着核心系统的概念模糊以及范围泛化,实施难度也在逐步加大。
中电金信研究院金融基础设施实验室基于多年行业积累与项目实践,对银行核心系统的当前情况、业务赋能、关键技术、未来发展等进行了深入剖析,以期进一步促进技术发展、业务与技术融合,全速驱动银行数字化转型。
作者 | 技术管理部、金融基础设施实验室
内容 | 本篇共4751字,预计阅读时间12分钟
全文包括六部分:
第一部分:核心系统现状、问题、挑战和概况
第二部分:如何满足信创的要求
第三部分:技术方面如何支持分布式架构转型
第四部分:业务方面如何支持数字化转型
第五部分:核心系统的关键技术(部分刊载)
第六部分:结语
本文为第五部分核心系统的关键技术(部分刊载)
第五部分:核心系统的关键技术
一、核心系统总体架构
新一代核心系统的总体设计需要考虑到硬件的基础能力、分布式平台能力、应用系统对分布式部署能力的支持、应用系统对数据分片能力的支持,以便能够满足银行核心系统运行需求,同时还要考虑开发、运行、管理、运维便利性等需求。以中电金信的新一代核心系统为例:
中电金信的新一代核心系统
1)硬件基础能力 - IaaS平台
对于创新型CPU架构的服务器,要考虑到其相应的特点例如稳定性、处理效率、单机并发能力等多种特点,避免出现压力集中到一台服务器,或者单台故障后导致整个系统瘫痪、阻塞等情况。而IaaS平台是非常好的解决方案,通过统一的云平台管理,集合多种创新型CPU架构服务器,实现硬件资源共享,实现硬件动态扩展,通过云平台方式增加整体云计算能力,通过多台创新型CPU服务器并行计算的能力来实现大中型金融机构对单台计算机计算能力的要求,同时避免因单台服务器有问题而导致系统故障等情况。因此对于新一代核心系统需要可以支持基于云平台的部署能力,以实现其灵活性高、可靠性高、可以动态扩展、按需部署的能力。
2)分布式平台能力 - PaaS平台
对于新一代核心系统高可用、高可靠、高性能的要求,分布式、集群化部署也是必然的路径,对于分布式、集群化部署在运维、管理、开发运行等方面需要要有分布式PaaS平台的支撑,否则会导致运营管理混乱,无法实现特定检测标准导致开发成本高等问题,尤其是在数据或者消息同步、开发管理规范、测试检查规范、版本部署、日志管理等方面,需要要有统一的平台标准规范、并配合开发平台来完成,同时通过一体化运维管理体系简化线上管理。PaaS平台主要的目的是要提供一个更统一的开发运营管理环境,将诸多和基础设施相关的细节予以封装起来。因此,开发者不需要面对如何处理服务器、应如何扩展才能达到应有的服务规模,也不需要考虑如何在众多的服务器之间处理负载平衡、容错的技术议题。PaaS平台可以提供若干组满足不同用途的API、各种开发工具、甚至整合开发环境,让开发者能据以开发应用程序。
新一代核心系统采用的是微服务架构,最终对外服务交易是由各个子系统微服务编排组成,因此需要平台具有服务整合能力、日志整合能力、链路追踪能力、服务治理能力等,这些能力都建立在PaaS平台上。除此之外PaaS平台还提供了如下功能:应用运行环境,分布式运行环境,动态资源伸缩,应用全生命周期支持,提供开发SDK、IDE等加快应用的开发、测试和部署,以API形式提供公共服务(如队列服务、存储服务和缓存服务、连通性服务、整合服务、消息服务和流程服务等),用于支撑大型分布式系统的开发运行及管理运维。
二、数据分片能力
新一代核心系统是通过分布式技术对传统核心系统的应用解耦,同时对集中式数据进行单元化、数据分片管理,以减轻应用及数据库对服务器性能的需求。通过分布式技术以及业务系统的功能划分进行数据垂直切分,然后再进行水平切分。数据分片后通过数据库路由能力,实现对数据所在数据节点快速定位,并进行相关的数据操作。垂直切分暨功能模块划分,切分后形成多个功能子系统,也可以根据功能需求对子系统再次拆分以满足运营和管理需要;水平拆分主要针对创新型数据库单库的存储能力以及根据金融机构自身存量数据和未来增量数据估算后进行的拆分标准。通过垂直拆分以及水平拆分可以有效的对数据进行单元化管理,减少数据库服务器负载压力,满足银行海量数据运行的要求。
三、核心系统对基础设施的要求
银行是国家经济发展的命脉,银行信息系统所依赖的关键核心技术及产品存在较大的“断供”风险,作为关系国民经济命脉的重要行业和关键领域,为防范发生系统性风险,银行业亟需建立基于信息技术创新应用产业的IT基础架构体系,并形成自主开放生态,确保关键核心芯片和服务器技术能够安全可控,减少对国外的依赖,对银行的健康持续发展有重要意义。银行采购使用的重要信息技术产品和服务需开展安全审查,提高产品和服务的安全性和可控性。以安全、可靠、高效、弹性为目标实施基础架构转型,有序稳妥推动成熟开源技术应用,逐步减少或摆脱对单一技术产品的依赖。
四、对国产数据库的要求
数据库对于银行的重要性毋庸置疑,为了更好的建设核心系统,对于数据库技术需要有一定的技术要求。除了传统数据库应具备的基础功能(如SQL功能)之外,核心系统对于数据库系统的要求主要还体现在以下几点:
分布式事务方面的要求。当前应用的数据库架构主要为集中式和分布式,在事务处理方面,不论集中式架构还是分布式架构都需要保证事务的原子性、一致性、隔离性和持久性。在这方面,集中式架构技术较为成熟。而分布式数据库在事务处理中,操作的数据可能会跨越多个数据存储节点,为确保事务的全局一致性,分布式事务主要通过两阶段或三阶段提交协议来保证事务在各个节点上的状态的一致性,避免不同节点有的提交有的回滚的现象。
弹性伸缩方面的要求。当信息系统数据量急剧增大时,数据库系统需要能够弹性地扩展,增加计算节点或存储资源以应对不断增长的业务数据处理,这种弹性容量调整可以实现让所有数据保持在线。
系统高性能的要求。面对业务超高并发,针对不断增多的用户实时访问需求,核心业务的数据库系统需要满足高并发业务操作需求,实现海量数据超高性能读写以及实时访问查询。
系统高可靠的要求。数据安全不仅仅是简单的备份,除了实现数据的持续高可用外,还应支持数据中心“多地多活”,进而保障数据安全。同时,为了适应云计算的发展,银行也需要考虑数据库系统在云环境下的高可靠要求,在云部署的环境下应达到数据零丢失,故障快速恢复,支持跨域高可用。
开发运维能力方面的要求。随着应用的增多,更需要强大的数据库运维能力的支持,进行数据分区管理,实现业务有效隔离。同时,保持系统的弹性、兼容性,大大简化运维开发。
自主可控方面的要求。除了数据安全的要求和“技术先进”,对于核心业务,更重要的是对产品代码级具有控制力,这样可以保证产品针对用户共性需求不断进行迭代更新,也带来产品稳定性以及高效的技术支持能力。
标准规范化方面的要求。国产数据库产业要想健康、长远的发展,不仅需要合作厂商及银行的技术能力。同时,也需要认识到行业标准对数据库技术应用的重要意义,需要满足人民银行颁布的《分布式数据库技术金融应用规范》。
五、对技术平台的要求
技术平台的选择,应该充分利用分布式技术,并结合银行应用的特色要求,对下充分利用IaaS层提供的计算资源,对上给业务应用提供有力支撑;需要技术平台提供对于各个微服务灵活编排形成业务级服务的能力,需要具备银行交易级别的事务一致性。在国家政策背景及监管驱动下,结合创新型CPU、操作系统、数据库以及云平台为业务应用提供高性能、高可用、高可靠的支持。银行分布式技术平台的建设应该重点关注应用开发、平台基础服务、统一运维等底层技术与工具。
六、弹性伸缩:数据与服务拆分
体现在如何将集中式的中心化数据转变为各个微服务所拥有的独立数据。对于大规模,可伸缩,海量数据的应用,数据拆分是其架构需要考虑的一个重点内容,在进行数据切分时,往往采用先垂直,再水平方式对数据分片。服务拆分对核心系统而言,是通过系统高可用维度做到服务责任单一。同时还需要考虑服务依赖、链式调用、数据一致性、分布式事务等问题。
七、对安全合规的要求
安全合规是银行基础设施永恒的追求和要求,对核心系统建设来说更是重中之重。
1)深化安全防护体系
万物互联使得银行各个层面接入更多的外部网络,5G接入的用户、设备种类增多,风险随之叠加,银行很可能将面临更大规模、更高频次的恶意网络攻击。此外,5G将支持丰富的应用服务,因此会涉及到大量的用户隐私数据。创新业务场景中,还会收集更加敏感的用户身份信息、交易数据等信息。数据一旦泄露,将会造成更严重的后果。另外,万物互联时代,网络边界越来越模糊,并且内部用户比外部用户更不可信,因此传统的边界安全防护模式将会失效,这些变化对核心系统的安全防护提出了严苛的要求。
为了更有效的防护最关键的核心业务系统,需要从物理安全、网络安全、主机安全、应用安全、数据安全等层面全面入手,构建全方位、立体化的防护体系。物理安全层面,主要做好安全管理教育、安全设施部署、机房出入管理、人员角色和权限管理等工作;网络安全层面,主要按照《网络安全审查办法》的各项要求,做好网络架构安全、配置规范落实、最佳实践配置、边界双向访问策略精准控制、DDOS防护、网络入侵防护、传输管道加密等工作;主机安全层面,主要做好系统层面加固、身份鉴别、访问控制、资源控制、恶意代码防范等工作;应用安全层面,主要做好代码编写规范、漏洞扫描监控、代码安全审查、应用安全防护、身份鉴别、访问控制、入侵防护、软件容错、资源控制等工作;数据安全层面,主要做好数据保密、数据备份、数据保密、数据加密、访问鉴权、资源控制等工作。同时,还要定期或者不定期地进行整体安全审计,及时发现潜在安全隐患并及时修复安全脆弱地带,确保核心系统处于有效的安全防护之中。
2)全力保障云原生安全
云原生安全指云平台安全原生化和云安全产品原生化。云原生安全作为一种新兴的安全理念,不仅解决云计算普及带来的安全问题,更强调以原生的思维构建云上安全建设、部署与应用,推动安全与云计算深度融合。
云原生安全的理念将安全能力内置于云平台中,实现云化部署、产品联动,充分利用安全资源,实现真正意义上的普惠安全。
应用微服务化改造之后,保持微服务之间通信流量的安全要比保护单体应用的安全要困难的多,而在云原生环境下,动态的容器或Severless无服务器计算作为基础设施,识别用户操作的异常行为也变得更加困难。
云原生安全防护体系可以在安全治理、数据安全、应用安全、计算安全和网络安全等层面搭建完整的云上安全防护架构,云原生定义的下一代安全架构将实现统一化的安全管理运维。在云和互联网模式大行其道的背景下,业务的频繁调整和上线对业务流程安全提出了更高的要求,将安全工作前置,从源头上做好安全才能消除隐患。基于"开发安全运维一体化“的安全开发流程,确保所有上线的代码没有可以可被利用的漏洞,实现持续构建/持续集成的过程中伴随着云产品默认安全。
随着云原生应用的不断投产,需要快速调整IT安全策略,尤其是东西向流量的可观测和可追踪性,防护API网关的数据安全、网络安全和应用安全,不断加强容器化、微服务、开源社区软件的安全防护工作,防止出现安全空白或者脆弱地带。
未完待续...