5

众邦银行云原生技术研究与探索

 2 years ago
source link: https://www.51cto.com/article/710376.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

众邦银行云原生技术研究与探索-51CTO.COM

众邦银行云原生技术研究与探索
2022-05-31 10:11:55
为满足业务快速多变的诉求,金融行业的架构升级已经迫在眉睫,在此背景下,云原生开始引起金融机构的重视,并与大集中架构融合共同形成目前银行IT系统的主流架构。

众邦银行是专注于服务小微大众的银行,于2019年获得国家高新技术企业认定。自成立以来,众邦银行始终坚守“专注产业生态圈,帮扶小微企业,助力大众创业”的使命,以交易场景为依托,以线上业务为引领,以供应链金融为主体,以大数据风控为支撑,着力打造三个银行,即“打通交易与场景的互联网交易银行、致力于产业与金融深度融合的供应链金融银行、数字化驱动科技赋能的开放型数字银行”。

一、云原生技术在金融行业的演进

在过去的40年中,我国金融行业IT架构经历了多次变迁,总体来讲就是从“零”到“大集中”的过程:金融机构自20世纪80年代开始引入计算机系统进行电算化处理,到20世纪90年代末实现数据大集中。近年来,随着金融线上业务的发展以及数字化转型的推进,传统的金融IT架构存在很多难以解决的问题:

一是研发周期长。当前,绝大多数金融机构的系统研发流程为传统的瀑布方式,需求交付周期以月来计算,导致失去了很多市场先机。

二是交付标准多。各业务系统部署安装的基础设施标准不一,导致金融机构运维复杂,成百上千台机器以及上百个应用需要一个庞大的运维团队来支撑。

三是协作沟通难。业务、开发与运营之间存在着信息“鸿沟”,开发人员希望基础设施响应速度更快,运营人员要求可靠性和安全性更高,而业务人员的目标则是交付速度更快。

为满足业务快速多变的诉求,金融行业的架构升级已经迫在眉睫,在此背景下,云原生开始引起金融机构的重视,并与大集中架构融合共同形成目前银行IT系统的主流架构。何谓云原生?云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论,应用程序从设计之初即考虑到云的环境,充分利用和发挥云平台的“弹性+分布式”优势,在云上以最佳的方式运行。这一概念在2013年由Pivotal公司首次提出,后经云原生计算基金会(CNCF)进一步发展和提炼,形成狭义云原生概念,其内容包括容器技术、服务网格、微服务、不可变基础设施和声明式API等。

随着云计算技术的发展和普及,云原生不仅仅是一项技术,还是一套敏捷架构方法,既涵盖技术范畴(如云计算、微服务、DevOps、云原生芯片、云原生大数据、云原生AI等),也涵盖管理和架构范畴(如架构体系设计、中台化、编排重组、持续交付、无服务化等)。云原生具有应用简便、部署快捷、伸缩灵活等优势,已逐步成为数字化时代企业技术架构升级的一项进阶选择。

二、众邦银行云原生建设初衷

众邦银行通过使用云计算、大数据、区块链、移动互联、人工智能等一系列新技术改变了传统的金融模式,以技术和数据为驱动将核心金融服务能力通过数字化的手段融入整个产业场景链条中,使得金融应用场景不断增多,金融交易呈爆发式增长态势,高并发、大规模运作成为新常态。而传统的金融企业系统架构存在功能强耦合、复用能力差、协作效率低、维护成本高、系统可靠性差等一系列问题,难以满足高并发、大流量和连续性需求。

为解决以上痛点,满足线上用户体量大、业务并发量高、版本迭代快等需求,众邦银行将云原生技术体系作为IT系统建设的核心技术架构。

三、众邦银行在云原生技术上的探索与创新

众邦银行以云原生技术为依托,形成了包含业务能力标准、服务开发方法论、系统运行机制和运营服务的体系生态,为业务提供了快速组合和低成本创新的能力,在提高多团队协作效率的同时,也具备了处理大规模并发和快速弹性扩展的能力。众邦银行云原生技术平台由DevOps工作台、微服务中心、容器云平台等组成。

1.使用DevOps工作台,打造一站式金融科技管理方案

众邦银行将工程建设中源码编译、应用打包、镜像构建、应用配置、容器部署等诸多门槛要求极高的操作进行整合,打造一站式DevOps工作台。该工作台在制品的管理上秉持“一包到底”的理念,即开发产出的制品、测试的制品、生产发布的制品保持完全一致,确保制品测试的完备性,大大降低了发布上线的风险;在工具打造上采用“一键操作”的手段,即基于平台级一键发布、一键回滚、一键灰度、自动监控、智能运维的能力,支持任何在PaaS平台上运行的云原生系统均可低成本运用这些能力。

通过上述工具和方法,众邦银行制定了一套日常开发、发布、运维的标准流程,降低了对人员的要求,提高了开发效率,同时,将源码版本、配置版本、运行环境、镜像、测试资源等管理手段进行统一,力求各个中间环节、指标的透明化,达到开发、测试、运行等各个环节可评估、可追溯、可提升的目标,从而使各类需求交付周期缩短了3倍以上,投产周期从最快两周缩短到最快一天,而缺陷密度则降低了10倍以上,有效支撑了业务的快速发展。该标准流程于2020年顺利通过由中国信息通信研究院开展的《研发运营一体化(DevOps)能力成熟度模型》持续交付3级评估,众邦银行也成为首家通过该评估的民营银行。

2.构建微服务架构体系,提升软件研发效率和自主掌控能力

微服务架构强调按照业务能力进行垂直架构划分,即每个微服务完成一种特定功能,可以独立开发、独立运行、独立部署。因此,微服务设计有四个原则:一是微服务之间高内聚、低耦合;二是具备完整的业务数据;三是业务具有可运营性;四是业务渐进式建设,功能持续迭代。

在自研新一代信贷平台的过程中,众邦银行逐步完成了微服务体系的构建。从实践经验来看,微服务拆分的颗粒度一开始较为粗放,此后随着生产校验的推进逐步细化。具体来说,众邦银行将原信贷平台的集中式业务进行拆分解耦,从最初拆分成四个微服务,到目前实现额度管理、用户管理、贷后管理等十几个微服务的拆分,大大降低了每个微服务的复杂度,也缩小了单个服务故障的影响范围(如图1所示)。

385134415179b3451cb197ce39db6749ac8bb8.png

图1 众邦银行新一代信贷平台架构

完成微服务拆分后,众邦银行在为每个服务组建研发团队时,发现8~10人的团队是比较适合这种开发模式的,这样既可以快速响应业务的需求,提高研发效率,又可以降低沟通成本。同时,在使用微服务去耦合之后,不同的业务团队可以服务不同的微服务,既降低了对人员技术水平的要求,增强了自主可控能力,也降低了对单一厂商的依赖。

同时,为了实现平滑迁移,众邦银行将原信贷系统通过边车(Sidecar)模式与新一代信贷系统的一个微服务进行融合,对外部系统通过统一的微服务网关进行调度,在新旧信贷系统进行业务切换时,只需要修改网关中的路由配置即可实现外部系统无感、客户无感的业务切换,极大提升了架构过渡的体验。

3.应用容器重新定义基础架构,实现智能化运维

金融机构的软件安装部署存在标准和操作方式不统一的问题,而容器云平台作为全面云化的平台,无论存储、计算、网络,还是数据库、大数据服务、中间件、通信服务、基础应用服务均可开箱即用,无需部署,采取的是全面平台化的管理模式。容器云不仅可以解决统一的IT基础设施和架构管理问题,还能提高各个前端小型业务单元创新的灵活性。

众邦银行在众多容器云建设方案中,选择了目前最成熟和普及的解决方案。该方案具有三大优势:一是内核级的虚拟化,隔离性高,安全可靠,且资源利用率更高;二是轻量级的镜像制品,能够快速部署,快速启停,快速扩容缩容,方便开发运维一体化的开展;三是自动化的调度引擎,方便容器的编排、部署,实现对容器的批量调度。

经过几年的建设,众邦银行重点完成了以下几个方面的工作:

一是打造标准化容器平台。该平台是全行各业务系统统一的容器平台,在开发、测试、生成等不同环境中保持平台版本的一致性,同时通过镜像升级的方式使得应用系统可以在不同环境中使用并确保体验相同。

二是标准化交付。众邦银行针对操作系统、SDK版本、安全漏洞等容器的运行环境制定了统一的交付标准,保证交付制品的安全可靠。

三是标准化编排。众邦银行针对容器的编排特性,设计了统一的日志采集要求、配置管理要求、数据变更要求等,满足了智能化运维的基础要求。

四是标准化调度。众邦银行通过统一的系统界面对容器平台进行管理,包括应用的上下线管理、指标的监控告警、日志的查看操作等。

目前,众邦银行信贷域和账户域的全部业务系统已经在容器上进行发布和运行,有效降低了运维成本,促进了业务的快速发展。

众邦银行从2018年开始探索云原生技术体系,从最初容器的使用到完成了以云平台和微服务架构为基础、以DevOps为核心的金融云原生平台的构建,通过贯穿开发、测试、运维的场景,实现了跨阶段的标准化发布及标准化运维,形成了一套企业级的云原生方法论和工具箱。后续,众邦银行将继续打磨云原生产品,持续探索服务网格和无服务化在金融行业的应用。我们认为,金融是社会经济运转的核心,在数字经济时代,云原生技术对于实现金融数字化转型,并最终走向数字金融有着重要的作用。同时,云原生也是我国信息产业改变传统IT架构时代落后的尴尬局面,尤其是在金融行业自主创新方面实现超车的关键技术。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK