实战丨商业银行信息系统自动化运维的研究与实践
Posted 金融电子化
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实战丨商业银行信息系统自动化运维的研究与实践相关的知识,希望对你有一定的参考价值。
欢迎金融科技工作者积极投稿!
各抒己见!
投稿邮箱:
newmedia@fcmag.com.cn
——金融电子化
本文节选自《金融电子化》2018年9月刊
孙宇峰 李锐
编者按
本文首先分析了商业银行IT运维的难点和痛点,此后进一步介绍了交通银行自动化运维体系的架构设计和建设成效。
行业现状:当前商业银行随着互联网的发展正经历着快速变革,各类业务创新和交易量呈爆炸式增长、信息系统规模及复杂程度迅速增长、云计算、区块链等新兴概念快速涌现,业务发展对IT的依赖性越来越强,同业之间的竞争已愈加趋向于产品质量和客户体验的竞争,行业监管愈发严格。对于商业银行信息系统而言,功能实现是根本,生产稳定运行是关键,在业务系统整个生命周期中,生产运行环节的周期是最长的,对业务运转和客户体验有最为直接的影响。所以如何安全高效地做好信息系统生产运维已成为商业银行IT部门共同关注的重要课题。
商业银行IT运维难点和痛点
商业银行信息系统的建设大都优先强调开发和管理流程建设,运维自动化建设工作则在其次,优先级甚至低于测试自动化建设;业务的稳定性、健壮性要求越来越高;业务系统对IT支撑的依赖性越来越强;IT架构的复杂度不断提高;IT部门工作职责越来越重;人员不足难以应对繁重的运维要求;IT事故直接影响客户使用责任重大;运维成本居高不下,耗费大量人力物力财力。
日常运维过程中可固化的、例行且操作步骤复杂的工作项较多,要求操作人员具备丰富的技能。这部分工作如仍然依赖人工操作,如通过人工编写脚本,生产环境直接执行命令等,效率低、风险大、缺乏审核机制,过度依赖技术人员的技术能力和工作状态,稍有不慎就有可能出现差错。一旦人员误操作就可能直接导致业务损失,而商业银行的业务损失直接影响着银行的公信力甚至地方和国家的金融稳定。因此既需要利用自动化工具代替人工快速高效地完成这些工作,也需要严格的流程控制确保固化和例行的工作按照正确的步骤执行不被遗漏,并能及时发现诊断过程中出现的问题,同时要尽可能支持各应用系统的个性化需求。
自动化运维体系
交通银行IT应用系统已实现全球一体化架构设计,建立了全球一体化运维体系。IT部门聚焦运维工作的新变化和新挑战,务实地面对运维自动化的迫切需求,扎扎实实打牢基础,搭建了自动化运维平台,并逐步实现规范化、自动化、服务化、智能化的运维体系,将平台作为一个产品去运营打磨,更好地实现IT服务管理和价值创造。自动化运维平台逻辑结构如图1所示。
图1 自动化运维平台逻辑结构
自动化运维平台严格控制工作流程,通过实现各流程管理要求对运维操作进行管理,避免人为操作风险,保证生产运维工作合规、安全、可追溯。例如实施生产数据变更,为了控制操作风险,都需要按一定流程进行准生产环境测试、复核、审批、生产预执行对比前后结果并回滚、生产最终执行双人复核等,有无运维自动化体系,这都是必然要求。
自动化运维平台对生产数据和自动化数据进行分析,并将分析结果作用于服务,包括交易运行报表、流程报表、自动化运行报表、审计报表等。例如对于应急启停和自动化验证作业流,平台自动出统计报表显示以作业流和系统为单位的调用情况,包括调用次数、成功次数、失败次数、作业流执行耗时、报错原因等信息,供技术人员和管理人员进行分析和调优。
自动化服务介绍
1.验证自动化。自动化验证分自动化脚本和实时交易量场景两个模块。技术人员在自动化运维平台上根据需求配置自动化验证作业流将两者串联起来,配置完成后的作业流即可在自动化运维平台执行。
自动化脚本模块,在自动化运维工具平台提供了大而全的模板供技术人员按需挑选。缺省检查项包括文件系统mount检查、进程检查、网络端口检查、WAS数据源连通性检查、日志文件错误码检查、网络端口连通性测试、文件更新检查、MQ队列管理器和通道状态检查、日志错误码检查等。技术人员无需关心函数的实现方式,只需配置具体的检查项即可,此外自动化脚本模块还支持个性化jar包的调用。
实时交易量场景模块,自动化运维平台获取交易量管理平台的实时交易信息,由技术人员设置不同纬度的判断阀值、调用频率等参数,实现模拟人工对实时交易情况进行验证。
技术人员可以授权一线值班人员或24小时运行值班人员远程执行,也支持设置定时调度。自动化验证作业流执行结果将在平台展示通过消息推送的方式发至技术人员手机。如设置定时调度作业流,如验证结果为失败,则生成响应告警由24小时运行值班通知技术人员确认(如图2所示)。
图2 自动化验证作业流执行平台
2.信息系统异常处理自动化。当信息系统发生异常时,无需技术人员到场可以通过执行配置的作业流一键完成故障信息收集、恢复、验证(如表1所示)。
表1 信息系统异常处理对比
故障信息收集:例如CPU、内存、端口连接情况、进程、交换空间、数据库快照,网络连接,生成JavaCore、文件句柄使用情况、日志错误码信息等。为了不影响快速恢复的原则,整体故障信息收集时间控制在20秒以内。
快速恢复:包括摘集群、suspendMQ、停SNA、停止应用、启动应用、恢复MQ、启动SNA、加集群等。
一键验证:通过自动化验证作业流进行一键验证。
3.应用版本发布自动化。技术人员事先在自动化运维工具平台自行配置版本发布的各种环节,将准生产环境预发布、备份、传输、解包、停服务、更新、启服务、验证甚至回退在同一个平台配置好固化下来。每次版本前可以根据版本需求选择对应的调度流程,只需更改版本日期即可实现一键式发布和验证,如验证失败支持一键回退。
主机系统更是实现了无人值守的全自动版本发布流程。通过自动执行特殊作业、主动监测CICS状态、主动判别DB2ENTRY资源、多进程多任务发布模式、设置启停联机交易场景、主动判断资源更新级别、精确控制同步触发停联机交易等手段,减少了版本发布人力成本,大大降低了操作风险,满足了全球一体化的版本发布需求。同时通过一系列策略的实施使得版本发布过程对业务的影响控制在秒级。此外通过监控系统实时跟踪发布进程,准确判断发布过程对交易的影响,对安全稳定的发布起到显著的保障作用。
4.变更自动化。规范变更的步骤,将变更的内容标准化,形成变更模版,基于模版编写变更的实际步骤,在自动化运维平台配置变更计划。确保变更在规定的变更时间窗口执行,以及变更严格按照既定步骤实施;确保变更与预期的目标和要求一致,并监控变更执行的结果。彻底规避变更中容易出现的不合规行为,避免变更中出现的操作风险,降低技术人员的工作量,提高变更的效率和质量;并能够及时发现变更中出现的问题,实现两者的联动。变更脚本审批通过后就可以直接启动变更操作自动化功能,完成之后再将实施结果自动反馈到变更管理流程中,实现流程的关闭。
变更自动化还有助于简化变更管理流程。在手工执行变更的情形下,为了控制变更风险,我们往往要求在变更申请单中附上详细的变更实施步骤、测试报告及回退方案,长达几页的文档司空见惯,编写、审核的工作量都很大。如果实现了变更自动化操作功能,可能只需要在变更申请单上说明变更自动化功能执行的简单步骤,相关环节可大大简化。
5.巡检、日志集中展示和备份自动化。各系统部署巡检脚本,每日定时自动调用,产生格式化结果文件在统一页面展示,技术人员无需登录生产即可查看详细巡检结果。巡检异常信息将会发送短信通知技术人员。日志集中展示,对于分区较多的系统,配置应用日志自动化传输作业,在统一的页面展示日志供技术人员查询并提供统计分析功能,大大提升日志查询和问题排查的效率。备份自动化,对程序包、重要文件和数据库文件按需进行自动化定时备份。
6.实时交易量监控。统一页面展示各系统实时交易量情况,除了展示整体交易情况,技术人员按需提维度信息需求进行配置。例如服务器IP、分行号、渠道编号、交易码等,并可以对不同纬度的交易情况设置监控告警,并具有历史信息查询及交易量分析预测功能。
自动化运维建设成效
随着平台建设愈加完善、自动化服务日益丰富、用户体验逐步提升,我行自动化运维已成为技术部门日常工作中不可或缺的部分。日常运维工作基本不直接接触生产,切实提升了工作效率、降低了生产风险、严控了操作流程。自动化做到事前全面防范、事中及时处理、事后智能分析,保障了信息系统这颗大心脏的稳定性,为集团快速发展保驾护航。
(点击查看精彩内容)
《金融电子化》新媒体部:主任 / 邝源 编辑 / 潘婧
以上是关于实战丨商业银行信息系统自动化运维的研究与实践的主要内容,如果未能解决你的问题,请参考以下文章
民生银行数据库智能运维的探索与实践——DBPaaS数据库统一管理平台 | 最佳实践