《智能化运维在银行基础软件升级工程中的探索与实践.docx》由会员分享,可在线阅读,更多相关《智能化运维在银行基础软件升级工程中的探索与实践.docx(6页珍藏版)》请在优知文库上搜索。
1、近年来,伴随着银行业务规模的急剧增长与应用架构的分布式改造,银行IT系统运维面临着运维效率与复杂度的全面挑战,银行业务系统承载平台的各类基础软件急需进行持续演进与升级。本文基于大型商业银行基础软件升级工程实践,尝试探索了数字化转型与智能化运维在上述升级工作中的实现方式,以期能有效解决系统环境差异度大、复杂架构下测试覆盖度不足等运维痛点,继而深度挖掘运维数据价值,提升运维与测试有效度,为传统运维模式提供转型借鉴与改造模板。一、基础软件升级工作现状分析一般而言,银行业务系统基础软件升级工作大致可分为测试与投产两大阶段。在测试阶段,为降低软件子系统升级或定期补丁维护的投产风险,通常会在测试环境进行一
2、系列测试工作,内容涉及升级工作需求受理、需求研制、新版软件介质定制与安装、软件版本差异影响分析、各类型测试等。同时,根据应用业务系统基础架构和业务类型,测试工作还可进一步划分为升级流程测试、系统测试、应用功能和性能测试等共性测试内容,以及双活切换测试、补丁测试、清理测试等特性测试。在投产阶段,主要工作则是依据测试阶段交付物,进行运维相关验证与升级投产流程验证,如采用自动化方式升级还需开展自动化流程验证等。针对上述流程,结合各类型技术条线的升级项目经验,笔者归纳了当前基础软件升级过程中存在的难点问题:一是因环境配置、资源限制、部署架构等原因,导致测试环境与生产环境存在基础性差异,难以真实反映升级
3、后的生产环境表现,且测试场次有效性验证操作繁琐、复测率高;二是因信息系统采用集中式与分布式混合的应用架构,为各平台软件升级工作的测试边界界定带来极大挑战;三是各类升级运维操作缺少通用化模板与自动化流程,导致运维效率低下;四是面对各类型测试与验证工作中发现的功能与性能问题,因缺少智能化数据分析方法,存在安全隐患。为解决上述问题,笔者在总结研究AIOPS等智能化运维技术的基础上,从数据、策略、执行等多个维度入手,结合构建运维数据仓库、实现运维操作自动化与数据分析智能化等实践路径,深入探索了数字化转型与智能化运维在升级工作中的实现方式。二、运维数据仓库建设实际工作中,通过构建基础软件升级运维数据仓库
4、,对各类型运维数据与配置标准进行规范化建模,将可构建统一的数据治理管控平台,并针对系统平台的差异化架构,进行不同模式的数据提取。基础软件升级运维数据仓库模型如图1所示。该模型中,数据源与运维数据仓库间通过采集模块连接,可实现实时流与离线批处理方式的数据提取。数据源主要包含了需人工校验与定时更新的各类指标与配置规范数据、生产与测试环境实时监控指标、准实时或离线采集的中高阶性能指标等三类数据。其中,配置规范数据主要用于测试环境标准化搭建、升级回退流程制定等;测试环境实时监控数据与指标规范是测试环境性能分析与问题定位的基础依据;中高阶性能指标结合指标规范可作为测试场次有效性的评估参考。采集模块实时流
5、离线批处理用户交互数据挖掘IF图1基础软件升级运维数据仓库模型在此基础上,采集模块通过SqoOp、FIUme等HadoOP体系组件,可将历史数据、基础软件版本数据、流数据、日志数据等提取至运维数据仓库大数据平台,同时将各类配置规范、参数模型、操作流程等数据,定期提取至传统OLTP数据库,实现快速查询与运维自动化。此外,运维数据仓库通过ReStfUlAPI接口,还可实现用户交互与数据可视化,并为数据挖掘与智能化分析提供原始训练数据。简而言之,运维数据仓库为实现智能化运维提供了数据基础,各类型运维数据经过规范化建模,可供下游自动化运维与智能化数据分析等模块使用,并通过机器学习进行规则提炼和运维策略
6、制定,最终构建一体化运维管控机制。三、运维操作自动化在构建运维数据仓库的基础上,结合运维数据仓库提供的配置规范、参数模型和各类操作流程数据,并对其进行规范化模型入库,可实现运维操作自动化功能。自动化运维平台架构如图2所示。该模式基于SPringBOot+Dubbo微服务方式构建平台Server端,可快速响应应用前端各类自动化运维服务请求。例如,当以一个任务来标示一项运维工作,以作业来标示完成一项运维工作所需的各关键操作步骤,即可基于任务编排确定各作业内容和前后序限制条件等内容,并通过提炼规范化模型将任务流程入库。在此过程中,SerVer端主要由任务执行器和数据访问模块构成。其中,数据访问模块用
7、于实现数据库表的关系映射与访问控制;任务执行器负责对并发任务及并行作业进行资源调度,管理线程资源,并确认各作业间关联关系、把控执行进度,以及通过内存数据库实现任务和作业信息的快速入库与实时查询。同时,由通信接口模块负责对各业务系统平台的通信访问接口进行设计。此外,为解决己有银行IT系统与前端DaShboard通信方法中存在的通信链路单一、安全度较低、操作性差等缺陷,平台中创新性引入了多链路模式切换与单双向通信分离方法、交易级性能采集与运维通信方法等,并支持通过异常捕获模块对任务异常状态进行排查与诊断,可快速定位问题根源,实现运维任务快速恢复。结合银行IT系统基础软件升级场景,自动化运维平台重点
8、实现了包含环境部署、升级流程、测试实施、版本管控等在内的自动化实施与验证功能。具体而言,在环境部署方面,平台通过采集生产环境配置参数、脱敏数据与铺底程序,可自动化编排任务,支持从数据库环境ReStOe、双活组件参数配置、应用程序与数据部署等方面构建测试环境,并通过校验程序验证环境基础功能。在升级流程方面,平台重点实现了升级回退流程与双活切换流程的自动化操作。在测试实施方面,平台通过内嵌发压工具,实时采集环境监测数据,可快速出具测试分析报告,并应用测试元数据模型,分析确认测试场次有效性。在版本管控方面,平台通过采集各环境主机基础软件版本,支持对版本差异进行智能化分析与判断,并可对重要版本变更时点
9、的基础软件版本进行自动化备份。四、智能化数据分析基于运维数据仓库大数据平台采集的生产口报数据与各类测试环境测试性能数据,通过数据ETL和数据标注,运维人员即可在平台中对历史数据进行挖掘分析,并构建应用投产表现预判模型与性能问题定位模型:在投产表现预判方面,利用机器学习算法,通过探寻生产环境数据与测试环境数据的关联性,可构建回归问题,并训练投产表现预判模型,用于解决因性能测试环境资源限制因素导致的无法有效反馈应用投产后在生产系统表现的问题。在性能问题定位方面,通过对预处理后的测试环境性能数据进行基于经验阈值的数据标注,并将其与历史问题数据结合,可构建分类问题训练集(数据指标涵盖操作系统、数据库、
10、交易中间件、双活组件等领域),进而实现性能问题快速定位,降低数据分析的繁琐程度,提升性能分析的准确率。基于上述设计,通过将测试环境持续产生的各类指标数据流接入离线训练生成的应用投产表现预判模型与性能问题定位模型,可生成各类报表数据与分析报告,从而快速确定测试有效性,实现对测试性能数据的有效监控与预警。综上,本文所述智能化运维实践为后续生产运维智能化全面改造提供了宝贵的经验与丰富的技术积累,笔者团队通过运维开发框架将运维知识库与运维策略库高效结合,致力于以数据为基础来解决传统运维存在的问题。同时,本次实践在集中运维管控、运维数据可视化、应用广泛度等方面仍存在较大的提升空间,不仅有待进一步经受复杂运维场景的考验,也将是后续改进与探索的重点内容。