写点什么

腾讯云曹骏:选择适合自身战略的架构是应对核心系统挑战的关键

  • 2023-10-09
    北京
  • 本文字数:6385 字

    阅读完需:约 21 分钟

腾讯云曹骏:选择适合自身战略的架构是应对核心系统挑战的关键

随着金融行业的不断发展和数字化转型的进行,银行核心系统的重要性日益凸显。然而,由于历史原因和技术限制,许多银行核心系统仍然依赖于国外厂商的技术和产品。为了提高银行核心系统的自主可控性和安全性,国内银行开始探索国产化替代的道路。但探索之路漫漫,在 9 月 22 日的 InfoQ《超级连麦·数智大脑》直播中,InfoQ 与腾讯云商业银行总经理曹骏探讨了银行核心系统的国产化进展与未来。


曹骏表示,在数字化与国产化趋势下,银行走向分布式是必然的方向,这一点在业界已经形成了共识。在核心系统替代方面,首先,选择适合自身战略的架构是应对核心系统挑战的关键;其次,我们需要在关键的技术组件和部署方式上作出选择,以应对可能出现的风险;最后,还需要防范系统在上线、调优、测试以及运营过程中可能出现的问题。


以下是对话全文(经 InfoQ 进行不改变原意的编辑整理):

InfoQ:金融行业经历了哪些决定性的发展阶段?在这些阶段中,金融机构对于技术的需求又有哪些相应的变化和调整?


曹骏:金融机构在技术发展上经历了几个重要阶段。首先,金融机构在各自的赛道中有着不同的类型和规模,其中,银行在整个赛道中规模最大,技术投入也相对较高。


  • 早期阶段:

我从 1998 年开始从业,最初是帮助一家区域性的银行建设核心系统。那时,所有的核心系统都是集中式的,不是分布式的。这个时期是中国银行科技系统建设的起步阶段。到了 2000 年左右,我们进入了被我们称为“大集中”的时代,国有银行开始采用 IBM 的主机承载银行核心系统,这种算力强大的服务器,一两台机器就可以支撑全国的交易业务。这是一个非常重要的里程碑,银行借助大集中的业务模式很容就能够在全国实现通存通兑。


  • IOE 技术阶段:

基于主机构建核心系统相当昂贵,随着时间的推移,小型机逐渐普及。很多银行开始使用 IOE 的技术,即 IBM 的小型机 + Oracle 的数据库和 EMC 的存储来构建银行的业务系统。在这个时期,很多区域性的银行开始建立自己的核心系统,与大型主机上经常采用的胖核心架构不同,这个阶段大部分核心系统采用“瘦核心”架构。


  • 分布式和国产化阶段:

目前,我们面临着数字化和国产化的双重挑战。我们需要对数据有更深更广的处理,对算力的要求也非常高。银行行业开始通过国产化的硬件和软件,以分布式的架构来支撑新的核心系统。在这个时代,大数据和 AI 技术得到了广泛应用,云原生的理念也得到了广泛应用。

InfoQ:能否进一步追溯并探讨一下,银行在业务端遇到了哪些主要的挑战,从而触发了后端这一系列连锁反应和技术需求的变化?


曹骏:在早期的单核心和集中式时代,银行系统的主要作用实际上是记账,确保如存取款、查询、转账等所有交易都能被准确记录。那时,系统的要求是以尽可能低的成本实现交易的准确性、一致性和稳定性。大集中的架构,采用一两台大型机,就能够提供非常强的算力和稳定性,能支持一家大型银行全国的账务处理。这种集中式处理方式效率较高,因为所有的账务都可以在一个地方集中完成,集中式的架构是最合适的。


但随着银行进入移动互联网时代,为了支持消费互联网和开放银行,例如线上支付、秒杀、千人千面的个性化、实时风控等,银行需要记录用户的访问行为,通过这些行为和客户端数据来提供更个性化的服务和风控措施。这就要求对数据有海量、高效率、高速的处理能力。如果完全采用集中式的处理方式,设备成本会非常高,至此分布式处理方式逐渐被接受。


一个典型的例子是微众银行,这家民营银行的收入和经营效率都非常出众,领先于行业。它通过分布式的方式,利用低成本的商用服务器和快速网络来提供业务支持,通过纯线上交易、线上风控和自动化的客户服务,提供给客户的服务的经营效率比一般的银行要高很多。这种分布式形式可以降低成本,提高市场响应效率,获得更多的发展空间。这也展现了新技术,如分布式、云原生、数字化等,能够有效提升业务处理能力。为了支持消费互联网和线上海量业务,性能和并发性要求非常高,越来越多的银行意识到需要通过分布式的方式来降低成本。加上国产服务器可能不像国外产的高端服务器那样能提供单体服务器的海量算力,国产化技术也在推动行业走向分布式方向。


除此之外,云计算和敏捷交付技术的发展也使得刚刚提到的分布式方式能够更加高效、灵活,能快速响应市场需求。

InfoQ:虽然分布式已经成为潮流趋势,但是集中式架构在单体性能等方面仍然具有优势,尤其对于国有银行这样有着高性能、高稳定性要求的行业来说,分布式真的是更好的选择吗?还是说在实施过程中存在一个平衡点?


曹骏:在数字化与国产化趋势下,走向分布式是必然的方向,这一点在业界已经形成了共识。集中式处理在做账务处理时无疑有其优势,尤其是当单机算力足够强时。但这种单机的算力非常昂贵,例如,IBM 的主机不是按台卖的,而是按 MIPS 来卖的,价格非常昂贵。而新的一些算力形式,如大数据处理,采用多机并行的处理方式,并不强调单个节点的处理能力。大数据处理可以通过几千台机器来并行处理,而即使采用最高端的服务器,单台机器提供与之媲美的计算能力。此外,现在关注度非常高的 AI 训练也是通过分布式的方式来实现的,集中式的算力处理不了这类负载。


集中式的另一个优势是在结构简单,且单机的稳定性高。但现在,通过分布式微服务等技术手段,新的设计可以达到与集中式相同的稳定度。例如,微众银行采用分布式,通过上千个节点来支撑业务运转,虽然单机可靠性可能并不高,但整体效果是一样的,可以提供非常高的服务水平。综合考虑稳定度和价格,我们判断未来的发展趋势肯定是走向分布式。

InfoQ:在银行业中,各机构对于国产化系统的替代进展到什么程度了?


曹骏:我们观察到,金融行业的国产化已经推动了三批试点机构,涉及超过 150 家银行机构。这 150 家银行基本上涵盖了我国的大中型银行。换句话说,国内主要的银行都开始推动国产化的工作。


从发展情况来看,主要的银行应用系统领域基本上都可以进行国产化替代。例如,最难替代的核心系统也在进行国产化。我们预计,在未来一两年的时间里,国产化会获得非常大的推广和推进。至今,无论是大型国有银行、股份制银行,还是地方金融机构,都有成功的国产化建设案例。一些先行者已经完成了国产化过程,未来处于全面推广和复制的阶段,技术上已经得到了验证。

InfoQ:能否更详细地阐述一下,应该采取哪些关键措施来确保核心系统的稳定性和可靠性?


曹骏:在金融机构中,核心系统的重要性极高。如果周边系统出现问题,可能只会影响局部,但如果核心系统出现问题,可能导致整个业务停摆。


因此,每个银行机构在进行核心相关的设计时,都会非常小心谨慎。在进行核心系统的重构时,通常会经过数年的时间逐渐完成。在此过程中,我们观察到几个重要的要点:首先,选择适合自身战略的架构是应对核心系统挑战的关键;其次,我们需要在关键的技术组件和部署方式上作出选择,这也是一个需要仔细考虑的环节,以应对可能出现的风险;最后,我们需要防范系统在上线、调优、测试以及运营过程中可能出现的问题。


传统的核心运营方式已经有几十年的历史,而新的技术架构可能只有数年的时间,其稳定性和配套机制可能都不如传统的技术。因此,我们必须留出足够的时间来进行试错和纠正。这也是我们需要面临并应对的风险。


总之,核心系统的复杂性和重要性要求我们在设计和实施过程中必须非常谨慎,选择合适的技术架构和部署方式,并预留足够的时间来应对可能出现的问题和风险。

InfoQ:您提到了选择适合自身战略和业务需求的架构的重要性,您能否提供一些具体的例子?


曹骏:当我们讨论适合自身战略和业务需求的架构时。首先,我们要明确银行的战略和规模是什么样的。例如,如果是一家具有国有大行或大型金融机构,那么它会拥有海量的客户。在这种情况下,我们需要有非常完备的分布式方案来应对业务挑战,因为处理节点的数量可能会达到几百甚至上千。在这种情况下,分布式的特性必须非常完备,以应对业务挑战。


其次,有一些银行可能一开始规模不大,但战略定位上会通过并购或者承接快速发展的线上业务而产生用户量的大幅增长,最终会拥有海量客户。这种银行从一开始可能只有几百万客户,但是会用户数会迅速增长,对系统的扩展性要求非常高。这类客户也需要针对用户快速增加的特点,进行针对性的设计。我们需要根据这样的业务战略去做相应的设计,确保在客户大幅增长的时候,技术架构可以平滑扩展。


然而,如果是一家地方性的金融机构,未来用户群可能相对稳定,业务量可能会稳中有增,但整体客户量没有多大的变化。在这种情况下,我们是否需要花费大量的精力实施复杂的架构,如采用大型银行通常会采用的单元化架构,就成了一个值得考虑的问题。如果选择了不合适的方向,可能会导致事倍功半。

InfoQ:选择适合的技术组件的标准是什么?这个过程需要注意什么问题?


曹骏:首先,选择一个可运维、且能够掌握的架构是至关重要的。如果这个架构过于复杂,以至于团队无法掌握,或者经过调整后无法融入现有体系,那即使这个架构再先进,我们也无法将其有效应用。


例如,我们与很多银行客户沟通时,他们表达了希望能像互联网公司一样,采用多地多中心、多活的架构,但实际上,对于多数金融机构来说,维持两地三中心的运维最佳实践是性价比最好的方式。这样的架构能很好地与我们现有的运维团队和开发体系结合,易于管理,能快速发挥价值。如果我们只是简单复制一些听起来很先进的多地多中心架构,可能由于我们缺乏足够的设计和运维能力,会出现如成本过高、运维困难等问题。

InfoQ:上线、调优、测试以及运营过程中的风险具体有哪些?如何防范?


曹骏:以系统设计为例,完成设计后,如何实施诸如银行所需的各项测试工作是一个大问题,因为通常测试工作的量可能会大于开发工作的量。在这个环节,如何深入测试,如何平滑实现上线,以及如何制定应对系统出现问题时的应急计划,都值得我们积极去考虑和解决。如果这些层面的配套设施不足,就有可能导致一个技术先进的平台,在实际落地时,无法发挥出良好的效果。

InfoQ:核心系统国产化涉及架构侧和数据库应用侧等多个层面的改造,可以说牵一发而动全身,如果出现问题就会导致全行业务中断甚至瘫痪,根据您的经验,多个条线之间如何实现有序、稳定地规划、布局和实施?


曹骏:针对这个问题,我认为主要可以从三个方面去考虑:


  • 技术架构的明晰选择

对于技术架构和运营流程的明晰选择非常关键。需要选择适合于自己银行的策略和架构,例如标准的微服务架构可能更适合中小型银行。此外,在分布式体系下,如何实施运维监控,如何设计开发与运维的一体化,都需要全面设计和考虑。


  • 紧密协同和合作

在实施核心系统时,需要行内相关团队、部门、核心系统供应商以及平台提供商等紧密协同和合作。这涉及到如何选择和定制核心厂商的产品,如何与平台提供商协同工作,以及如何在银行内部实现业务和技术部门之间的紧密合作。


  • 专业项目管理

银行系统的升级或国产化周期长,组织协同复杂,因此通常会邀请有管理经验的专业项目管理机构(PMO)来帮助管理整个过程。他们凭借经验和专业工具,能够协助银行在每个环节更加明确地知道应该如何操作,能够有效降低风险,提升实施效果。


为了确保顺利实施,三个方面需要同步进行,这是一个需要全方位、多角度去考虑的问题,每个方面都需要深入探讨和精心实施,以确保最终可以达到预期的效果。

InfoQ:国产系统和中间件在升级过程当中,如何平滑过渡,特别是数据库的替换?


曹骏:现在,越来越多的银行选择使用国产化数据库,这已经成为一个比较普遍的趋势。事实上,不同规模的银行都在进行这样的转换。例如,腾讯已经协助四大行中的两家,从 Oracle 或主机平台迁移到国产化数据库。目前,主流系统基本已经完成了迁移工作。在股份制银行领域,也有多个成功的迁移案例。


从客户的需求来看,可以将其划分为两大类别:


第一类,选择在替换数据库的同时进行核心系统的重构。核心系统的迭代大部分时候是业务驱动的,银行希望更好地响应市场需求,提升数字化能力,大约每 5 到 10 年会重新建设一次核心系统。在国产化的要求下,很多银行会在核心系统数字化的同时,进行技术平台的国产化。对于这一类的需求,市场上的主流应用厂商都和主流数据库平台的提供商都有足够的应对经验。


第二类,某些银行的数据库或核心系统可能新近部署,但由于国产化的要求,他们需要进行近乎原地的数据库替换。这种情况下,技术层面会比较复杂,涉及到的流程包括评估、对核心代码进行改造、进行测试上线等。其中,可能涉及到的技术挑战如分布式的性能与集中式的差异、分布式的事务开销等,都需要进行性能优化。


总体上看,行业内主流选择的是第一种方式,因为大部分金融机构希望在替换数据库时,不仅实现技术上的替换,还能在业务上获得收益。具体的平滑替换过程现在已经形成了一套比较体系化的工作方法,如果需要可以后续展开细节的讨论。

InfoQ:在分布式架构转型的过程,有哪些避坑经验可以分享?


曹骏:首先,选择技术架构时,必须要与自己的业务发展规模和发展战略相匹配,不应一味追求先进技术。我们看到一些银行客户在实施过程中,可能会有偏离正确方向的倾向,但多数能够经过反复讨论后基本都会回归正轨,所以我们看到国内核心系统国产化和重构的过程中,很少有失败的案例 -- 大家在这个选择都表现得非常慎重。


第二点,我们需要结合业务的发展要求,面向业务价值来进行系统能力的建设。以微众银行为例,他们在核心系统集成过程中就非常注重业务发展价值。他们设计的核心系统架构完全是分布式的,能够快速适应客户数量的增加,且能够低成本、平滑地进行扩张,这与他们的客户发展策略完全吻合。而如果我们在系统建设中只考虑建设本身,而不与业务价值关联,可能会发现投入产出比并不理想。


第三点,在实施过程中,我们也要充分考虑到可能的困难。比如,分布式架构在建设和运维上与集中式有很大不同。在分布式环境中定位故障会比较困难,性能的优化也是一个需要重点考虑的问题。而在国产化的硬件性能方面,可能会与之前用到的服务器和芯片有所不同,需要一定时间去磨合。因此,建议大家要为这些困难和磨合预留相应的精力、资源和时间。

InfoQ:银行核心系统替换的经验,是否可以复制到其他金融领域?


曹骏:银行业发展与 IT 依赖度相对较高,并且其技术发展水平通常比较先进。因此,在其它金融赛道中复制和应用特别有帮助。


然而,在实际应用中,我们也观察到一些显著的差异:


a. 银行业的核心系统供应商多样,而像资管和保险行业的供应商集中度较高,可能大部分应用由同一家开发商提供,这意味着这家开发商的核心系统国产化准备程度非常关键。


b. 银行业的业务发展速度相对较快,并且核心系统经常重构。相比之下,其他金融子行业可能更倾向于稳定,他们可能只想更换数据库或进行小幅扩展,而不是全面重构。


c. 在核心故障化过程中,银行通常希望完成业务能力的全面升级,而其他行业可能希望以最低代价平滑地替换核心系统。


尽管存在差异,但通过银行的实践来验证技术的成熟度和稳定度是完全可行的。银行业已经验证了云原生、微服务等多项技术都可以应用到核心系统及周边系统中。这些经验将有助于其他金融行业的从业者更加明晰技术应用方向,并能够更有效地实现技术与业务的融合。

关于 FCon

首届FCon全球金融科技大会将于 11 月 19-20 日在上海举办。大会将围绕金融领域数字化转型挑战探索、DevOps 在金融企业落地实践、金融行业大模型应用、创新的金融科技应用、金融实时数据平台建设之路、金融安全风险管控、数据要素流通与数据合规等 10+专题进行交流。


目前大会邀请了汇丰科技中国区的代理总经理马国栋、度小满金融数据智能部总经理杨青先、蚂蚁集团副总裁 & 首席技术安全官韦韬博士、恒生聚源总经理吴震操担任大会联席主席。更多嘉宾仍在邀请中......


我们诚挚地邀请您加入我们,共同探索金融科技的未来,点击链接即可查看全部演讲专题。


目前是 7 折特惠购票,报名立减 ¥2040,咨询购票可联系:17310043226(微信同手机号)。



2023-10-09 14:066189

评论

发布
暂无评论
发现更多内容

加码技术破圈创新,蚂蚁金融科技助力各行各业转型升级

Lily

从两个模型带你了解DAOS 分布式异步对象存储

华为云开发者联盟

开源 对象存储 存储 分布式异步对象存储 NVM

JVM 诊断之 jstat 工具使用

hepingfly

Java JVM jvm调优 jstat

智慧派出所管理系统,派出所指挥调度平台搭建

Tensorflow实现Transformer模型将葡萄牙语翻译成英语

AI_robot

第9周作业

猫。

Sentinel的注解支持 - @SentinelResource使用详解

麦洛

sentinel SpringCloud Alibaba

理解reflect elem和value的一段测试代码

Geek_7nijc5

Go 语言

跟我学丨如何用鲲鹏服务器搭建Hadoop全分布式集群

华为云开发者联盟

hadoop 服务器 集群 鲲鹏 Hadoop全分布式集群

随机数环设想

waitmoon

Java

C++中结构体的定义

Jack—Li

浅论指针(三)

Integer

c 指针

已助我拿到8个Offer!阿里巴巴Java面试参考指南(泰山版)

Java架构追梦

Java 编程 架构 面试 阿里巴巴泰山版

一个数组通过配置随机抽取组成小数组

waitmoon

Java

用 Go + WebSocket 快速实现一个 chat 服务

万俊峰Kevin

websocket go-zero Go 语言

【无偿分享】史上最全Python学习大礼包 限24h删

sum56

Python Python基础 python入门 python学习 python资料

CSP-J/S必备知识——文件输入输出

Jack—Li

有趣!一行代码居然无法获取请求的完整URL

Gopher指北

HTTP Go 语言

BOE(京东方)首度披露“千亿级西南战略” 全面布局物联生态

爱极客侠

三天研读《中兴电路设计规范》精华总结

不脱发的程序猿

28天写作 电路设计 3月日更 中兴 中兴电路设计规范

产品训练营--第六期作业

曦语

产品训练营

EGG NETWORK阿凡提公链全新一代算法稳定币之王EFTalk

币圈那点事

Spring Boot集成 Sentinel 实现接口流量控制

麦洛

微服务 sentinel spring cloud alibaba

腾讯游戏实时计算应用平台建设实践

Apache Flink

flink

CountDownLatch:别浪,等人齐再团!

王磊

Java 多线程

源码分析:Redisson分布式锁过程分析

程序员架构进阶

redis 源码分析 分布式锁 28天写作 3月日更

已拿到6个Offer!主动分享成功秘籍:阿里巴巴Java面试参考指南(2021最新版)

比伯

Java 架构 面试 程序人生 技术宅

未来直播 “神器”,像素级视频分割是如何实现的 | CVPR 冠军技术解读

阿里云CloudImagine

阿里云 算法 计算机视觉 音视频

[译文] 用故事点数评估开发工作真的好吗?

LigaAI

项目管理 程序人生 敏捷开发

NetCore的缓存使用详例

happlyfox

缓存 学习 netcore 3月日更

优秀软件设计的特征

这就是编程

腾讯云曹骏:选择适合自身战略的架构是应对核心系统挑战的关键_腾讯_李忠良_InfoQ精选文章