银行智能运维体系构建:云原生技术的实战应用

发表时间: 2024-03-22 14:11

文 / 重庆农村商业银行科技管理部副总经理 杜超

重庆农村商业银行科技管理部 廖伟

随着业务线扩展以及物联网的发展,银行的服务规模和业务系统在不断扩大。与此同时,信息科技系统的应用架构也在快速演进,架构复杂性与日俱增。如何在数字化新形势下打造更为高效、准确、智能的运维体系,是科技运维部门面临的主要问题。在广泛汲取国内外同业成功经验的同时,结合自身科技发展,重庆农村商业银行启动和实施了基于云原生的智能运维平台项目。

重庆农村商业银行科技管理部 副总经理 杜超

新一代智能运维平台旨在解决传统运维系统人工干预多、监控手段单一、无法适应技术快速迭代等问题,打造一个自动化、智能化、可持续升级的全能型运维平台。基于云原生架构,该平台实现了日志统一管理与查询、应用程序自动化部署、一键检查、恢复与切换、自动化变更、交易监测、智能预警、运维工具箱等多种运维场景,形成了应用发布、应用监控、应用告警等十余个能力中心,涵盖了日常运维工作的各个方面,极大地提高了运维人员的工作效率,加快了应用发布的速度,保障了系统和应用的安全稳定运行,为重庆农村商业银行金融科技的持续快速发展奠定了坚实的基础。平台总体架构如图所示。

图 智能运维中台总体架构

建设目标

新一代智能运维平台建设的项目目标包括如下三个方面。

1.拥抱云原生。为适应银行架构升级,满足敏捷开发要求,方便服务治理,智能运维平台采用微服务架构。平台在底层依托开源的Spring Cloud框架,对搭建在其上的应用按照业务领域划分为十余个能力中心,形成高内聚低耦合的组织形态。同时,每个微服务可以方便地以容器方式部署,采用Kubernetes进行容器编排,能够实现微服务的动态扩容和自动运维。另外,对于平台纳管的其他应用系统,可实现传统单体应用、微服务应用、容器应用的自动发布,全面拥抱云原生。

2.性能要求。平台在日志采集和查询方面,支持至少TB/天级别的数据汇集,峰值数据不少于30万条每秒,从汇集到入库使用时间不大于3秒;提供快速数据查询能力,对大数据量(1TB以上)查询的数据返回时间不大于3秒。在机器学习模型训练方面,可根据历史数据进行离线训练,上线后可实时更新。

3.功能要求。平台覆盖日常运维工作的各个方面,按照微服务化划分为十余个能力中心,包括基础配置中心、流程审批中心、工单管理中心、应用发布中心、应用监控中心、应用告警中心、运维分析中心、报表统计中心、软件下载中心、权限管理中心、运维百科中心、生产登记中心、脚本服务中心、自动巡检中心。各中心协同配合,实现运维场景全覆盖。

项目实现特点

1.多功能自动化应用发布。平台实现应用发布全流程自动化管理,包括程序包下载、备份、更新和一键式部署,可以采用Excel或图形化界面拖拽的方式对部署流程进行编辑,支持串行和并行发布,支持执行前预览,支持完整流程和执行顺序可视化展示,提供部署中对部署流程的终止、暂停、继续的能力,支持接入自动化流水线和私有云,促进了应用运维的标准化实施,加快了应用系统交付速度,降低人工操作风险。同时,平台自带的配置管理数据库,包含了配置项全生命周期信息以及配置项之间的各种关联关系,可自动生成应用关联关系拓扑图,方便运维和开发人员对应用的上下游和数据流向进行把握。

2.基于自适应机器学习的应用预警。平台梳理各应用系统指标模型,形成标准化的指标拓扑图和指标模板。通过引入AI机器学习,根据历史数据建立融合多种异常检测模型,对指标曲线实现高准确率的异常检测,生成各指标动态阈值基线,实现智能预警,并通过邮件、短信等方式将告警信息推送给相关负责人。目前可供融合的算法包括:Ripple、Dtmos、Spider等。同时通过建立预警中心,统一收集和处置预警信息,实现了预警压缩降噪。另外,平台根据波动分析、根因量化,能够智能地提供处理建议,有效地提高了问题处理效率。最后,应用预警还提供多种友好的可视化视图,能够方便直观地展示历史告警信息。并且通过日志联动,运维人员可以快速准确定位交易告警产生的位置。

3.基于DevOps的软件开发管理模式。在平台的开发、测试、部署过程中,团队使用了基于DevOps的软件开发管理模式。DevOps是在敏捷开发模式的基础上,将运维并入进来,是软件开发、运维和质量保证三个部门之间的一体化沟通机制。基于持续集成的软件交付方式,使编译、打包、发布、测试等行为能够更高效,更稳定。总之,DevOps使得团队能够对平台的各个微服务能力中心实现快速的开发、测试、部署,提高了平台各微服务模块的交付效率和交付质量,加强了人员之间的沟通协作和对需求的理解实施。

项目成效

1.实现了自动化作业代理的统一。平台采用统一的自动化作业代理Agent,代替了以往为网络、系统运维需求而开发的单一功能代理,实现了日志采集、指标巡检、应用发布、运维工具箱等各业务模块所需的底层能力,减少了因部署多个Agent而导致的服务器性能损耗,实现了数据采集的统一管理,也便于Agent状态的统一监控。目前行内已经部署2528台Agent,涵盖180个应用系统,各系统可个性化定制日志采集规则,平均每日处理日志增量达4.6TB。

2.重要信息系统应用发布自动化。自动化应用发布依据传统流水线操作流程,结合定制化的作业脚本进行优化,实现应用版本发布自动化。平台按应用系统重要性划分多个批次,依次接入自动化发布。自2021年9月上线以来已接入71套应用系统。固定的上线流程6个,可实现应用服务器的分批备份上线。应用发布时间也由之前的90分钟左右缩短至30分钟之内,除去人工检查上线结果所花费的时间外,自动化发布时间可缩短至15分钟左右,发布效率提升了至少3倍,运行至今所有变更流程基本全部执行成功。

3.应用智能预警小试牛刀。平台应用智能预警服务通过融合多种机器学习算法生成动态基线,目前支持单指标异常检测类算法6个,单指标预测类算法4个,多指标分析类算法2个,已接入82个应用系统,生产运行环境得到良好监控。同时,平台也实现核心、柜面、支付、自助平台等24套重要系统的业务、中间件、主机指标监控可视化,可自动生成巡检日报并根据机器学习算法给出预测曲线。平台曾准确预警因第三方机构重启服务器导致行内支付交易失败的问题,使我行开发人员迅速定位处理问题,并与第三方机构取得联系,尽快恢复服务,避免了用户的投诉,提升了系统的稳定性。

总结与展望

本项目的建设,打造了基础平台级信息资产,是重庆农村商业银行深入贯彻落实重庆市“以大数据智能化为引领的创新驱动发展战略行动计划”的具体实践,是以金融科技赋能全行数字化转型升级的生动案例。其一方面提高了企业科技的自主架构设计能力,保障了金融科技转化为具体业务产品的高质高效;另一方面也为银行业全面推广微服务、智能运维和系统架构升级提供了一份良好的模版和参考执行标准。随着数字化转型的全面深化,我们将始终紧跟时代步伐,以科技为矛,以数据为盾,持续提升金融服务质效,为助力数字经济社会高质量发展贡献新的更大力量。


(此文刊发于《金融电子化》2024年2月下半月刊)