来源:第五届农村中小金融机构科技创新优秀案例评选
一、项目背景及目标
随着陕西信合信息科技架构不断向专业化、数字化、标准化、平台化的方向发展。按照我社《智能一体化运维体系建设整体方案》中的相关规划,经过多年的持续建设,目前已基本建成涵盖各类专项监控、基础配置管理、流程管理、日志管理、周期管理等多个运维工具在内的智能一体化运维平台。但随着我社IT信息系统不断的建设和投产运营,运维体系纳管的设备规模不断增长,对系统组件之间关系复杂度、动态弹性架构掌控能力也提出了更高的要求,亟需提高当前运维工作的自动化水平。
为适应新形势下运管工作发展的需要,匹配我社智能化运维体系建设需要,快速适配网点智能化转型以及多中心运行后,信息系统新架构、新平台对运维管理的配置信息采集、快速发布、自动化操作以及配置管理的要求。需进一步提升运维自动化能力,建设一个具备高效自动化配置采集能力与自动化操运维作能力的统一运维自动化平台,实现对应用发布、配置管理、运维日常操作等运维场景的自动化管控。
二、项目方案
根据上述目标,我们按照“统一规划,逐步实施”的指导原则,对平台功能架构进行了总体设计,包含代理管理、作业管理、自动化发布、配置管理等模块(如图1所示)。具体如下:
图1功能架构图
1、代理管理
此部分功能由独立的采控子系统承接。自动化作业代理进行具体作业的执行,并将作业执行结果返回给自动化服务网关模块。支持作业执行指令和结果的持久化,具备异常场景下的自动处置机制。代理管理模块中具备代理远程安装、远程服务启停、代理远程升级、代理监控等功能。
2、作业管理
平台支持提供图形化作业设计工具,可实现单任务作业、作业流程的设计。支持流程设计串行、并行、判断、循环、延时、定时等逻辑机制。对跨作业交叉作业调度的支持。支持多种包含shell、bat、python等在内类型作业的作业类型调度。提供服务端向目标端的远程作业推送,并支持作业审计及监控。
3、自动化发布管理
平台支持用户通过自动化发布管理功实现应用系统同一部署模型在多个多环境中部署的功能,涵盖介质管理、组件管理、应用管理和环境管理。提供发布流程化展示,实现发布操作流程模板管理,满足一套部署流程应用多套环境管理部署发布的要求,可对历史发布进行部署统计分析与展示。
4、自动化配置管理
配置模型定义与管理模块主要实现配置管理模型定义功能,支持模型自定义扩展,采用图形化层次化结构展示。配置管理需要提供相应的审核功能和日志记录功能。日志记录功能对配置项关键字段进行生命周期状态的日志记录和审计,配置项字段变化时自动产生日志。用户可以自定义模型关系,并可对配置项之间的关系类型与关系进行维护。同时用户可通过全文检索的方式进行数据查询,支持对采集的配置数据进行质量检查。
5、日常操作自动化管理
运维人员可将日常运维的脚本、命令等工具通过统一自动化运维平台提供的运维可视化编排能力,抽象封装定义成可执行、可管控的运维工具(实现载体可为脚本、可执行程序等),支持原子工具、组合工具的编排。平台可将编排好的运维工具按照设置权限管理规则提供给不同的运维角色(一、二线运维人员等)执行,执行结果日志支持实时刷新回显,执行操作支持双人复核、短信验证码等多样化授权方式。平台应能提供日常操作场景运行状态的图形化显示功能,并且能够显示日常操作场景下的各步骤的执行状态,能够实时显示当前日常操作场景的执行状态
三、创新点
陕西信合自动化运维平台作为一个具备高效自动化配置采集能力与自动化运维操作能力的统一运维自动化平台,能较好的兼容我社新一代开放式金融科技支撑平台使用的分布式、云平台等新技术。平台实现了面向业务的CMDB动态建模和自适应性高配置数据自动采集,通过构建配置全要素拓扑全景视图,可直观从物理视角、逻辑视角、业务视角将各配置项、各要素之间的关联关系清晰展示,从多层次、多视角将企业级IT应用系统架构全景图提供给目标用户。此外,利用自动化运维平台上集成的自动化发布工具,运维人员可通过流程化的作业工序设计,便捷高效地的进行应用系统发布变更,减少手工部署带来的操作风险,有效提高应用部署的工作效率,提升系统基础环境及应用版本的交付效率及交付质量水平。而作为特色功能,平台的运维工具箱模块,实现了对日常运维操作的脚本及处置程序进行集中管理,从技术层面对日常运维操作进行了标准化封装。这种沙箱化的运维操作模式,提高了操作效率,并实现运维操作作业级的最小化授权,有效控制了运维操作风险。
四、技术实现特点
1、独立的采控系统及统一作业代理(Agent)
作为配置采集、自动化发布等能力的重要落地载体,本平台的采控子系统在功能设计方面保持了一定的独立性,通过标准接口设计,与其他业务功能模块实现了功能解耦,有效的提升了自动化采控效率,同时降低了对被管系统的资源消耗水平。平台采控子系统采用了基于springboot框架的分布式服务架构,实现了服务的自动化伸缩,高可用容灾,故障隔离和负载均衡功能。采控子系统与平台其他核心模块间通信采用优化改造后的国产开源RPC框架Tars,具备基于错误码分类策略的故障重发机制,进一步完善了容错机制,有效提高了采控服务的稳定性和可靠性。
考虑本项目涉及到的配置采集和自动化发布作业都属于低频低负载场景,且agent上执行的业务大多依赖于平台于脚本调度功能,平台在被管逻辑主机上只安装唯一的作业代理(agent)。统一、复用的作业代理可以有效减少被管操作系统性能损耗。平台支持通过对独立部署的agent灵活调整启动参数,实现单个agent的性能调优。并可通过阈值设定,限定Agent资源使用,当资源达到阀值时,自动进行熔断来满足对业务系统最小化入侵。同时agent本身设置作业缓冲池及作业结果输出缓冲池,可以较好的应对集中作业下发、与服务端通讯异常等特殊场景或异常场景,大幅提高系统可用性。平台支持agent在线可视化管理(如图2所示),agent在线升级、在线重启、agent日志文件在线查看、agent配置文件在线热修改等功能。agent在安全防护方面支持引擎IP地址白名单,防止恶意攻击,通过报文加密机制保护数据传输安全性。Agent采集器上包含发现插件、采集插件、操作插件等功能,具有较好的扩展性。
图2代理注册
2、配置项自动识别和配置数据调
区别于传统的“指定模型,属性采集”,陕西信合自动化运维平台尝试了基于特征码的自动配置采集模式,通过构建应用基础设施特征码仓库,不断增强对市面主流的各类中间件、数据库、开源开发组件等应用基础组件的识别能力,使自动化运维平台可以在“盲盒”条件下,实现对被纳管系统主机操作系统、数据库、中间件、端口、服务进程等组件的自动识别,并根据预置配置模型进行属性信息采集。
在配置数据调和能力实践方面,平台可对于单一配置模型中的数据元属性来源指定多种数据来源(如图3所示),例如:CPU个数可以来源于Agent脚本采集,也可以来源于虚拟化平台API接口。这种数据调和机制,打破了传统配置采集模式中中采集手段和模型一一绑定的限制,为配置采集手段的持续扩展和数据质量持续提升提供了技术保障。为甄别数据源真实性,补充数据有效性,数据联邦调和允许不同种协议采集回来的同一对象的多种数据,通过自动调和功能融合成一条完整的数据。数据调和功能还支持首信数据源规则、非空规则等多种调和规则,力求达到99.99%的采集数据准确性。
图3配置数据调和
此外,陕西信合自动化运维平台的数据调和能力还支持针对已采集配置属性的来源数据源进行追溯,可以清晰的确认配置数据最终来源(如图4所示)。系统中展示配置信息来源的血缘分析三维力导向关系图,按照业务场景可以追溯到三代、二代、一代原生数据源。
图4血缘分析关联图
3、全要素配置拓扑全景视图
包含陕西信合在内的中小金融机构一直以来在配置管理方面面临一个难题,即:如何有效的整合和构建复含机房环境、设备平台、逻辑主机/应用容器、中间件及应用程序等多层次的应用系统配置拓扑视图,如何直观的显示物理视角、逻辑视角各要素之间的关联关系。在本项目的实践中,陕西信合尝试对部分重要信息系统的配置全要素拓扑全景视图进行了构建。配置拓扑按照横向递归延展、垂直钻取,基于代码分析、原生中间件的分析、业务影响分析层面进行全景视图展示(如图5所示)。配置拓扑包含10个不同层面的配置关系展现,除了常规用到的基础设施层级,还包含了业
务服务调用层级,服务调用层级可以展现同业务系统、不同业务系统所包含的应用服务节点间的调用关系,可为我社正在建设的运维数据分析系统提供了架构模型支持。
图5配置全景图
作为构建全要素配置拓扑全景视图中重要的一环,平台应用配置信息(内涵业务、交易、服务等要素组件)拓扑交易关联链路展示功能主要基于深度优先搜索(DFS)算法,可实现包含10个不同层面的配置关系展现(如图6所示)。
图6配置拓扑节点关联范围图
除了常规用到的基础资源类层级,还包含了业务服务调用层级,服务调用层级可以展现同业务系统、不同业务系统所包含的应用服务节点间的调用关系(如图7所示)。
图7配置拓扑业务组成查看
4、集成化运维作业工作平台和运维作业开发平台
在自动化发布及运维作业编排能力落地方面,本平台旨在构建统一运维作业开发平台,提供统一脚本平台、统一作业平台、原子服务组件化、统一调度、流程编排可视化等基础核心功能。可供用户进行各种运维工具、运维流程、运维场景的开发及调试。统一运维作业开发平台采用Web可视化的技术,通过托拉拽的方式,无需进行程序代码的开发,即可便捷构建用户需要的运维工具、流程及运维场景;通过对历史经验总结,我们在平台中初始化了大量标准的运维作业、流程及场景的组件及模板,用户在此基础上可以快速的进行开发。
此外,为提高日常运维安全,有效降低运维操作风险,本平台中建设了[运维工具箱]模块。运维管理人员可将日常运维中高频使用的运维作业进行梳理,并通过内置脚本编辑平台进行脚本安全性检查后,采用带参脚本化的方式封装成一个个“运维工具”,通过平台内生的审核和授权体系进行脚本审核,并向运维人员定向进行操作授权。通过运维作业封装,一方面对常规运维操作从技术层面进行了标准化,提高了操作效率;另一方面,通过封装脚本执行,实现了操作最小化授权,有效控制了运维操作风险。
五、项目过程管理
1.项目启动
此阶段启动时间为年12月,项目启动阶段主要工作内容包括制定工作说明书、签订合同、组建项目组、召开项目启动会等工作等。
2.总体调研
此阶段于年12月进行,总体调研阶段主要工作内容包括,项目组成立后,对项目整体的需求范围进行分析。主要分析工作包括:
运维现状总体调研:如目前的现状及存在的问题、系统架构、环境部署信息、自动化程度、系统开发语言、日常运维制度等,通过调研及访谈。根据总体调研情况,初步制定配置及自动化运维平台使用流程及规范。
需求分析:进行自动化运维平台功能覆盖配置方案及范围的需求分析、自动化运维平台配置、自动化发布、自动化日常运维对外提供服务(构建消费场景)的需求分析,自动化运维平台与其他运行管理工具接口联通的技术分析等。
需求跟踪和进度报告:对需求及进度进行跟踪及汇报
3.功能设计及本地化功能开发
此阶段其实时间为年12月至年02月
全要素应用拓扑展示、基于特征代码库的配置采集等本地化功能开发
配置模型设计、关系的理、配置型体系梳理
自动化发布通用作业梳理、通用作业脚本设计及编制
运维工具箱通用作业梳理、通用作业脚本设计和编制陕西信合自动化运维平台系统项目工作说明书
对通过测试的自动化运维平台进行上线部署准备。包括完成安全漏洞扫描、部署方案设计、验证方案设计、回退计划指定等前置工作,并按照陕西信合信息系统上线规范准备上线申请材料,接受上线评审。
4.平台测试
此阶段其实时间为年02月至年03月,按照陕西信合信息系统测试要求,完成本地化平台版本的集成测试、UAT测试、非功能测试、安全评估测试等,并形成相关报告
5.平台部署
此阶段其实时间为年03月至年04月,对通过测试的自动化运维平台(标准平台)进行上线部署准备,设计部署方案、验证方案、回退计划等。按照行内要求,提请变更申请流程,进行变更评审,并按照预定部署方案变更步骤的实施。
6.平台试点系统接入及试运行
此阶段其实时间为年05月至今,主要工作内容包含以下:
选定试点系统接入范围,完成试点系统接入方案设计。
按照试点系统计入方案,完成试点系统生产环境的代理安装、系统配置等接入工作。在标准平台完成相关参数维护。
通过标准平台完成试点系统在生产环境的配置管理、自动化发布、自动化运维工作。
对参与试点系统运行的相关人员进行使用培训
六、运营情况
通过本平台建设,我社基本具备了在当前生产环境高效自动化配置采集能力与自动化操作部署发布的能力,有效的提升了运维工作的自动化水平。目前已经在生产环境部署超过个Agent,已经实现余台设备采集,梳理完成配置模型近个,约多个配置属性、多种配置规则、细分多类模型关系,覆盖所有主流操作系统、数据库及通用中间件。基于统一运维自动化平台实现高效自的动化采集能力,已经对社内已有的多种配置关系进行了梳理,并初步构建包含16个重要信息系统在内的IT架构全景图,实现了面向业务的CMDB动态建模和自动化的CMDB数据维护。
依托平台提供的自动化部署发布、自动化运维巡检、自动化运维操能力,我社已基本构建了全部重要信息系统的快速稳定的自动化部署流程,并形成了部分场景下的自动化运维操作机制。
七、项目成效
1.实现了自动化作业代理(Agent)的统一
统一自动化作业代理agent包含了应用发布、批量、巡检、运维工具箱、配置采集各业务模块底层采集调度功能,避免因为部署了多个agent增加后期运维工作量,另外统一agent有助于减少被管操作系统性能损耗,减少因为agent故障导致操作系统异常的机率。
通过数据统计和定量模拟分析,项目组初步估算由于统一Agent的使用减少了30%的agent维护工作,节约了被管设备5%-10%的基础性能损耗。
2.构建了配置全要素拓扑全景视图的基础框架
配置管理拓扑除直观展示设备之间的关系外结合业务进行联动,当某个业务系统下设备出现异常时,管理员可以根据拓扑全景视图对该故障设备带来的故障影响范围进行直观查看,对故障评级及判断定位提供有力的依据,为日常运维进行故障定位提供了有效辅助。此外,在模型的构建过程中,充分的考虑了人民银行金融基础设施数据报送需要,在金融基础设施类配置模型设计时,完全遵从《金融IT基础设施数据元规范》相关要求,为未来自动化报送提供了坚实基础。
3.基本实现了重要信息系统发布及运维作业自动化
自动化发布依据传统流水线操作流程,结合已有的作业脚本进行优化实现作业发布自动化,目前接入的21套业务系统,最复杂流程的作业节点达到个。应用发布时间由之前的60分钟左右缩短至16分钟之内,运行至今所有变更流程全部执行成功,0失败。
自动化巡检方面,共纳入89个业务巡检任务,个系统巡检任务。运维工具箱中目前装载12个自动化工具,涉及支应用检查、网络线路切换、服务启停等多类型作业。
八、经验总结
项目建设至今,按照项目整体规划,初步完成了以业务应用为导向的配置管理数据库(CMDB)建设,并结合我社数字化转型工作进程,对配置管理工作进行了较全面的场景规划,包括:动态配置检查、关联分析、影响分析、应用拓扑展示、故障分析支持、变更影响分析、交易路由分析等。依据场景需求建设完成如下功能:配置模型管理、配置采集管理、配置拓扑管理、配置对象管理、配置接口管理、权限管理组件。充分利用平台功能实现从业务、系统、网络到硬件基础设施的全链条、多维度的业务应用数据链路的数据组织,最终实现对于业务中台架构下新业务形态的管理配置数据服务。项目建成的自动化运维发布工具,能快速稳定的进行自动化部署流程,规范行内开发、测试、运维各阶段发布流程,实现我社所有重要信息系统日常发布工作的自动化,减少手工部署带来的操作风险,提高应用部署的工作效率,实现了行内系统基础环境及应用版本的快速交付效率及高质量交付的目标。
更多金融科技案例,请登录数字金融创新知识服务平台-金科创新社(FintechinChina.
转载请注明:http://www.0431gb208.com/sjsbszl/2362.html