来源:2022年第六届农村中小金融机构科技创新优秀案例评选

获奖单位:河南农信

荣获奖项:运维管理创新优秀案例

一、项目背景及目标

1.项目背景

按照河南省农村信用社前期同城灾备体系建设规划,结合监管部门有关业务连续性的监管要求,为实现全部重要系统灾备切换接管的建设目标,为全面提升河南农信业务连续性技术支撑能力,确保重要信息系统安全、稳定、持续运行,提出了建设支持同城灾备的常态化切换演练的技术支撑平台,持续优化灾备切换流程,降低人工操作风险,提高切换效率和切换成功率,实现灾备切换的自动、安全、高效,确保在信息系统中断事件发生后,能够快速实现信息系统恢复,减少信息系统中断带来的影响。

2.项目目标

通过灾备自动化运维运维平台项目的落地,实现灾备切换方案管理,支持多场景的灾备切换演练管理,为灾备系统切换工作提供统一技术操作和多部门协作的管理平台;同时实现对核心、柜面、渠道等重要系统的灾备系统纳管。另一方面,利用平台有效降低人力成本,提高效率,让灾备体系“平战结合”的管理理念真正落实到位,通过开展同城灾备切换演练,结合全行业务和应用系统的变化,丰富完善适应多业务场景的灾难应急管理体系,扩大应用系统纳管范围,持续完善灾难恢复预案和系统切换流程,优化RTO、RPO指标。基本建成风险、业务与技术融合发展的,符合ISO 22301体系的业务连续性管理体系。

二、项目方案

1.业务功能

在本系统的建设过程中,采用模块化、组件化的建设方式,同时根据我社对灾备自动化运维平台的整体要求,整个平台分为五个层次,实现全局可视化指挥、灾备体系化管理、灾备系统一键切换、灾备运维管理、系统管理等功能模块,实现以下主要功能:

一是灾备切换全局可视功能,支持大屏展示视图、灾备切换指挥视图,主要展示正在切换中的桌面演练、切换演练、灾备切换流程信息;图形化的监控界面,支持对切换流程进行全方位监督与控制,包括整体进度、负责人,所有任务执行状况及具体执行人情况等信息,决策层与指挥人员能更直观地了解切换流程的进展情况。

二是灾备体系化管理功能,提供场景管理、预案管理、演练管理、组织架构管理、应急管理、报告管理等功能。

三是灾备系统一键式切换功能,支持针对单个或多个灾备信息系统的“一键式”自动切换,在统一管理界面内实现整体的灾备系统切换管理;切换功能包括真实切换、模拟切换,可根据实际需要定制切换形式,真实切换调用平台脚本执行任务,模拟切换使用模拟器反馈任务执行结果。

四是灾备运维管理功能,提供灾备配置检查、日常运维管理、告警管理等功能。支持生产环境与灾备环境配置比对功能,并可生成对比报告,实现生产和灾备系统基线的统一配置管理;实现对光传输、复制网络、磁盘阵列、主备主机设备的运行状态,对系统、应用关键用户资源一致性状态进行监测。

五是系统管理功能,支持操作日志查看、系统参数配置、角色配置、权限配置、菜单配置等。提供操作日志记录功能,并有相应的查询界面;支持系统logo自定义,支持短信、邮件接口自定义配置,支持企业数据中心信息维护功能;实现对系统角色的管理,以控制用户对系统菜单、报表、录入及其他操作的权限;提供菜单权限配置,配置粒度可精细到页面的按钮级别。

2.技术架构

整个平台分为访问层、负载均衡、接口网关、服务层、存储层、执行层。

访问层: 采用HTML5、VUE、以及封装的hatech-UI(自定义插件库)等目前主流技术和框架,基于VUE做前后端分离的开发架构,使用ElementUI为前端UI框架、使用Axios调用后台接口API进行数据展示、使用Canvas+Echats做数据可视化。

负载均衡层:通过F5实现前端访问的负载均衡、nginx实现服务层的反向代理。

接口网关:通过Spring Cloud Gateway实现所有服务接口API的统一管理和调用,整合Ribbon、Hystrix实现服务的负载、融断和限流。

服务层:服务层包含基础服务和应用服务。其中基础服务由注册服务、鉴权服务组成。应用服务包括的所有的业务服务,如预案、场景等,各服务之间通过Feign调用。使用的主要开源框架或组件有Springboot、Mybaits、Quartz、JMS、JWT、OAuth2等。

存储层:存储层采用Mysql实现数据的持久存储,使用Redis实现数据的缓存。通过RabbitMQ实现服务与worker之间的数据传递。利用minio分布式文件集群来存储平台使用过程中用户上传的日常文件。

执行层:在生产中心或灾备中心分别部署worker,worker与上层服务之间通过MQ进行通信。Worker支持实时交互指令执行和数据周期性采集。主要用到协议有SSH、SMI-S、CLI、SNMP、JDBC等。

3.实现原理

系统提供系统运行数据监控告警、流程任务调度、流程数据展示能力。

1)系统运行数据监控告警

系统提供内置插件进行应用、插件的运行状态、内存、cpu等资源的监控,通过短信、邮件的方式进行告警通知。

系统各个微服务内置HealthCheck,通过访问actuator端点,获取整体监控信息列表其中包括服务基本信息及状态、中间件的状态、配置信息、服务映射、服务日志信息等等;

系统提供用户操作数据采集,通过该系统查看某个用户做了哪些操作,统一纳管系统操作日志。系统提供各个微服务操作日志规整到统一文件夹便于日志搜集和问题排查,并提供外部监控系统采集接口。

2)流程任务调度

应急和演练任务都会关联一个方案或预案,每一个方案中都会关联参与演练的组织和处置流程,任务执行都是基于处置流程中事先规划好的流程来进行执行,每一个演练任务流程中每一个步骤都关联有负责人,在任务执行过程中执行到某个或某几个任务时会对任务负责人进行发送待办消息通知步骤负责人完成任务。

提供的能力包括按照处置流程执行相应步骤任务,实时跟踪任务相关进度和完成情况。消息提醒通过WebSocket技术实现,根据消息中用户id对用户进行消息推送。

3)流程数据展示

演练大屏、子步骤大屏等大屏同样采用WebSocket技术实现,当用户进入大屏界面时,会根据任务和用户等信息查询相应任务相关数据存入Redis缓存中,并通过WebSocket推送缓存中存入的Key,通过接口请求方式访问该演练数据。当任务执行时数据改变的同时更新缓存中演练数据并重新通过WebSockect推送相应的key获取数据。

三、创新点

项目从业务连续性管理视角出发,结合容灾环境的全局一体化监控和场景化预案定制,实现灾备切换演练流程化,切换自动化、指挥可视化,形成统一的灾备自动化运维工作支撑平台。并结合业务视角多维评估,持续改进,助力提升河南农信IT韧性管理。

1.灾备体系化

在灾备自动化运维平台建设过程中,建立了完整的预案体系,包括总体预案和各业务条线的专项应急预案。同时为了满足业务连续性的要求,梳理出来业务之间的关联关系与逻辑关系,确保灾难发生时能快速切换,灾备中心能够迅速完成业务的接管,保证了业务的连续。

2.切换一体化

灾备自动化运维平台投产后,生产数据中心出现故障时可一键启动切换,灾备中心接管重要业务系统,减少业务中断时间,降低切换RTO。

3.全视角管理

环境配置的一致性、数据复制的状态是灾备管理的重要工作,也是造成切换失败的重要影响因素,灾备自动化运维平台对关键灾备资源健康状态进行监控,在数据复制视图中实时展现数据复制工具在生产源服务器、灾备目标服务器上的运行状态、复制链路状态,RPO延迟时间等相关信息,并在实时告警模块展示。通过环境检查,保障生产、灾备数据同步正常、配置数据一致,保障环境具备灾备切换条件。

4.微服务架构

灾备自动化运维平台采用微服务架构,支持zuul分布式、高可用网关,支持Eureka、consul等作为服务注册与发现中心高可用集群部署。支持Redis作为数据分布式异地缓存,确保数据零丢失;支持RabbitMQ、Kafka分布式消息队列实现与云平台的兼容性。

5.高可用部署

灾备自动化运维平台的系统采用高可用架构设计。支持负载均衡架构。以双机或集群方式部署,前端通过Nginx方式访问中台服务。中台服务根据业务压力做高可用部署,访问服务可以自动路由到对应服务。当其中的某个服务出现故障时,通过熔断机制把服务请求自动分配到可用服务上,支持自动容错。各组件均具备不间断服务能力,多个服务器节点间可实现自动互相接管,支持7x24小时不间断运行,规避单点故障,降低故障率。

6.丰富的监控

在真实切换和演练工作之前掌握生产和灾备环境的综合信息是进行切换决策、保障切换成功的重要基础。灾备自动化运维平台集成了监控系统资源状态监控能力:支持对灾备系统设备基本状态监控,包括在线状态、关键链路延时等指标获取,支持日常批量自动化巡检灾备设备,支持定时任务;配置比对功能:支持一键对灾备设备进行配置比对,灾备数据一致性比对检查,保证切换环境状态正常;数据复制状态监控:支持对关键复制技术(存储复制、数据库复制)状态监控。且所有的监控数据都可以通过大屏进行直观展现。

四、技术实现特点及优势

1.切换对象海量化

支持在线使用脚本模板,配合切换对象参数的配置,实现切换脚本的封装,具备将切换脚本自定义内置到平台中的能力,创建了灾备切换脚本库,可开箱即用。

2.文档管理结构化

在传统电子化文档管理方式之上,结合各类标准化文档模板的快速创建能力,将文档要素内容拆分,通过页面化操作,实现组织结构、切换场景等在文档中的配置,以及在文档任意位置插入系统变量数据要素,形成特色化预案、演练方案、演练报告等资料归档。

3.数据更新自动化

场景中的脚本,预案中的场景等,底层数据实例发生变化时,根据关联原则自动向上更新关联关系,确保在场景调用最新版本脚本,预案启动最新版本场景。

五、项目过程管理

河南农信于2021年9月启动灾备自动化运维平台项目,11月完成了平台的上线投产工作,并顺利完成了核心系统、综合柜面系统、统一支付系统、手机银行等重要信息系统的调研与灾备切换演练工作。

2022年5月份陆续完了核心系统、统一支付系统、金融互联网平台等各渠道重要信息业务系统的“一键切换”功能。

2022年9月份完成了核心系统、综合柜面系统、统一支付系统、企业服务总线、信用卡前置系统、统一P端、加密平台、金融互联网平台(含手机银行、网上银行、微信银行、电子合同、消息推送、渠道管理平台)等重要信息系统的切换演练工作。

通过以上各系统的灾备切换演练,灾备自动化运维平台都能顺利的完成相关切换演练工作,证明我社在灾备管理体系和平台的支撑下,能够应对各种突发的应急或者灾难事件,保证各个业务系统的持续、稳定运行。

六、运营情况

在灾难恢复能力的提升和业务连续性体系建设的同时,我们结合常态化的真切实换演练,通过平台自动化手段简化演练准备环节,提升切换效率;并且结合状态监控和评估体系来逐步提高应急响应和综合处置能力。通过三位一体、平战结合等灾备管理思路和方法上的创新,为我社在防范信息科技风险、确保信息系统安全方面取得显著成效。

七、项目成效

1.管理效益分析

构建可计量、可验证的灾备管理体系;

通过灾备自动化运维平台实现过程资产积累、组织赋能;

通过规范化应急响应、处置流程,提升业务连续性能力;

通过线上组织跨部门联合演练,不断验证和改进业务连续性管理能力;

规范业务连续管理全过程,满足监管要求。

2.经济效益分析

通过灾备自动化运维平台建设,自动化执行切换流程,有效提升切换、演练工作效率,降低人力成本投入、降低供应商依赖程度。

3.社会效益分析

加快管理理念创新的步伐,提升我社的业务连续性管理水平,保障信息系统的更稳定高效运行。

八、经验总结

灾备自动化运维平台作为重要工具支撑灾备体系日常维护和战时应急处置,其在建设和管理过程中都存在诸多难点,具体如下:

1.场景及切换流程梳理

应急场景及处置流程需要根据实际情况进行梳理;当场景及处置流程规划的越完善则单位应急响应能力越强。

可根据情况梳理整体切换场景和分项应急场景(业务系统维度),覆盖重要应急场景,也可结合平台模板库能力迅速封装新的场景。

2.上线测试

生产环境无法支撑切换测试,而测试环境虽有一定的参考意义,但难以保障生产与测试环境完全1:1。基于此上线前需要做好差异化比对分析,并做好相关的应对策略与调整。

3.兼容性问题

灾切平台需具备全环境自动化能力,包括操作系统、应用、数据库、虚拟机、存储、网络/安全设备等切换对象。

4.易用性问题

开发及维护相关流程/脚本工作量较大,一部分依赖于人,一部分依赖于平台开箱即用能力,包括普适环境切换脚本、调度API接口、应用切换流程、配置比对文件等。

鉴于以上问题的发现与总结,接下来我们将持续完善灾备应急管理体系和灾备自动化运维平台的技术支撑能力,扩大覆盖的应用系统范围,并结合后续项目建设和业务发展情况,逐步实现灾备中心实时接管业务的能力,确保重要信息系统的安全、稳定、持续运行。

更多金融科技案例和金融数据智能优秀解决方案,请登录数字金融创新知识服务平台-金科创新社案例库、选型库查看。