当前滚动:金融科技助力系统运维行稳致远
发布时间:2022-11-25 19:04:11 文章来源:郑州商品交易所
当前位置: 主页 > 资讯 > 国内 > 正文

编者按


(相关资料图)

为深入学习贯彻党的二十大精神,推动《证券期货业科技发展“十四五”规划》落实,加快行业数字化转型进程,根据中国证监会“证券期货业数字化转型主题宣传月”活动总体安排,中国期货业协会组织会员开展了“我与金融科技的故事”主题征文活动。希望通过优秀征文的分享,展现行业金融科技人员的成长历程和精神风貌,激发从业人员的职业荣誉感。

2015年1月中旬,已是深冬,正值大雪,我拉着行李驻足在大学校门外,望着校园里纷纷扬扬的雪花淹没我走过的脚印,敬业湖平静的迎接着今年的初雪,北洋大讲堂依旧矗立在风雪之中,守护着读书人的宁静,雄伟的校门披上一身白衣,头顶亮起黄色的灯光,为即将离开的我照亮前行的路。人生路,短暂的相聚必然带来长久的别离,我们能做的就是满怀希望的期待未来。

初入职场邂逅系统运维

经过10个小时的长途跋涉,火车慢悠悠的走到了河南郑州。天色蒙蒙亮,我拖着行李缓慢的挤下车,深吸一口新鲜空气,不禁一个寒颤。冬日的清晨寒气袭人,我带上连衣帽快步走出火车站,带着七年来学到的专业知识,走进职场,迈向施展才能的舞台--郑州商品交易所。我被分配到系统运行部工作,岗位是实时交易系统运行维护,从那时起,我就和系统运维结下了不解之缘。

转眼来到2015年6月,试用期已过,开始正式接触系统运维工作。经过前期的培训,我对系统运维也略知一二,最重要的是交易系统值班,保障交易系统安全稳定运行。跟随资深员工值班,主值人员按照值班操作流程手工启停交易、结算、监查等应用系统,看着他们紧张而谨慎的敲击着键盘,唯恐敲错命令,明显承受着巨大的心理压力,我也替他们捏把汗。日复一日的跟值,日复一日的重复着同样的值班流程,日复一日的敲击着相同的命令,日复一日的承受着出错的风险和压力,让我觉得运维工作与所学的软件开发技术毫无关系,难免不甘。部门领导看出了我心中的失落,和我谈心了解后,鼓励我为什么不能使用自动化技术编排自动化流程,实现一键批量执行固化的命令呢?这便是我尝试应用金融科技——自动化技术,减少人工操作、提高运维效率的初衷。

我主导的第一项工作任务,是将每个季度修改生产环境百余台服务器密码的过程自动化。深刻的记得第一次执行修改密码是手工执行的,服务器都是Unix和Linux系统,每台服务器有多个用户,每个用户的密码长度不少于12位。我和另外一位同事从当日闭市后的下午五点开始变更,到七点才完成,当时庆幸没有影响到七点半的夜盘开市操作。身体是疲惫的,更多的是心理压力,运维工作看似简单,但也有鲜明的特点,就是紧迫性和容错率低。这件事让我下定决心研究自动化技术,减少人工操作,提高运维效率。

精研细究自主研发自动化案例

千里之行,始于足下。我的首要任务就是学习和研究自动化技术,做好技术选型。在不断的学习和总结下,我发现有三种技术可以选择,一是基于Expect的自动化交互技术,优点是稳定性和可靠性,缺点是案例较少,需要阅读英文资料掌握Expect语言和函数使用规则;二是基于Python的paramiko包技术,paramiko实现了SSH协议,优点是Python语言成熟可靠,易于上手掌握,缺点是稳定性差,字符串处理结果时常不符合预期,毕竟当时paramiko发布时间较短,还不成熟;三是基于Python的Ansible技术,优点是基于yaml语言编排playbook,实现自动化流程,缺点是基于paramiko实现的可靠性有待验证。在不断的尝试和积累过程中,领导建议还是保障安全稳定运行为第一任务,最终选择了较为成熟、稳定、可靠的Expect技术。

万里长征迈出了第一步,我怀着激动的心情开始编写业务功能代码。开发、测试和上线一切顺利,但是第一次实战的结果却让我忐忑不安、信心受挫。四百多项修改指令,有五分之一出现了各种问题,导致密码修改失败。原因是多种多样的,归结起来就是需求没有标准化,各岗位在操作系统安装、服务器角色命名等方面都是各自为政,没有统一的规则,无法使用统一的程序逻辑来处理。这一次的失败并没有让我气馁,立即向领导建议统一操作系统基线版本并制定服务器命名规则,推动规范化运维,也让我记住了需求标准化是实现自动化的必要条件。

道阻且长,行则将至,行而不辍,未来可期。我鼓足勇气继续加班加点的研究出现的各种问题,同时与各岗位沟通需求,推动各岗位规范化、统一化服务器命名和操作系统,在需求标准化的基础上完善业务代码逻辑。皇天不负有心人,第二次实战的指令准确率达到100%。我重新收获了信心,昂首走上了运维自动化的“光明大道”。

2016年的春节格外热闹,工作一年,向“穷学生”说拜拜,让家人过了一个富裕的年节。春节已过,冰雪消融,春暖花开,站在期货大厦办公区眺望远处的柳树穿上了绿装,清澈见底的河水肆无忌惮的缓缓流淌,而我已经在思考远程席位管理自动化的工作。

远程席位管理包括席位信息(席位号、秘钥、序列号、授权码、席位权限)的添加、席位权限变更等内容,每周变更次数最多3次,每次变更需要操作30多台服务器,每次变更最多数十个席位。作为日常运维工作,手工操作既耗时又容易出错。在充分了解业务需求的基础上,我使用自动化技术实现了席位管理的一键执行,简化了运维操作,提高了席位管理的效率和准确性。

随着自主研发的自动化应用案例逐渐增加,部门领导也提出了新的要求,既然日常运维工作能够实现自动化,其它场景能不能实现自动化呢?比如缩短应急处置的时间、应用系统的安全检查等。明确了前进方向,但是前进的路该怎么走还是要自己探索,路漫漫其修远兮,吾将上下而求索。

世上无难事,只怕有心人。2016年,自动化应用案例遍地开花。应用巡检方面,我自主研发了交易系统版本和配置参数核查系统,通过建立系统基准版本,比对MD5和CKSUM值,确保生产环境76台应用服务器版本和配置参数的正确性,同时应用于变更前后的核查,验证交易系统全市场测试后恢复的正确性;盘后应急处置方面,实现了备机替换故障服务器的应急操作流程,主要是修改IP、主机名及参数核查的自动化执行;盘中应急处置方面,实现了席位信息查看、异常席位踢出并禁止登录等场景的自动化。

乘风破浪开启系统建设新篇章

在自主研发自动化案例的道路上,我走到了2017年。职级的晋升代表了领导对我工作的认可,但在自主研发自动化的道路上一个人的力量毕竟太过单薄,要想实现日常值班的自动化,引入第三方的力量,借金融科技的东风,打造一款适合于郑商所业务需求的自动化系统势在必行。于是乎,我们走上了运维工具建设的道路,我也从一个技术人员,转变为甲方项目管理人员,负责需求、项目管理和上线后的运行维护。前期需求整理、开发、测试、运维一体的工作经验对我后续的工作助力良多。

技术角色向管理角色转变的过程中,最难的还是项目管理工作。初出茅庐,难以改掉技术人员追求细节的缺点。我深入项目实施过程的每个阶段,需求阶段做实做细需求文档;开发阶段制定编码规则,统一代码格式和参数命名,核查每一个模块的代码,并根据运行维护的需要改进软件本身的功能,提升软件可靠性和易用性;测试阶段制定详细的测试用例,反反复复的测试系统功能和性能,做好软件修改后的回归测试,编写自动化测试脚本,每天下班前批量测试自动化流程,确保每个自动化流程上线前的正确性;上线运行维护阶段,按照制度要求更是亲力亲为,制定上线方案和操作流程,细化异常情况下的应急处置场景。上线运行的第一周,早7点,夜23点半,披星戴月,全程跟踪自动化开闭市流程的执行情况。

事无巨细的项目管理让我身心疲惫,更让我头疼不已的是第三方驻场人员的变更。驻场人员的变更,往往对项目的连续性和周期带来挑战,甚至无法保质保量按时完成项目。驻场人员是带着技术来的,但并不熟悉业务需求,尤其是几十套应用系统运维杂乱无章的自动化需求。从入场到熟练掌握需求,大致需要2个月的时间,期间我要耐心讲解需求,培养真正能够为项目带来收益的骨干成员。驻场人员每次的变更,我都要重复培养的过程,重复讲解业务需求,重复回答他们问的同样的问题,这也极大浪费了我的精力,让我深受其扰而又无可奈何。后来在领导的关心下,我参加了项目管理的培训课程,带着痛点的学习让我管理水平迅速提升。使用甘特图管理整个项目周期,关键任务同时下达给两名人员,完成项目里程碑后开展项目回顾,休整期间开展项目交流和培训,尽量让每个组员了解项目全貌,减少人员流失对整个项目的影响,确保组员之间能够相互替代。

阳光总在风雨后,几分辛苦几分甜。2018年7月,项目顺利实现了主备中心开闭市自动化,如图-1,实现了手工运维向自动化运维的模式转变,图形化的一键开闭市,极大的提高了值班工作效率,减轻了值班人员手工操作压力,避免人为失误,为保障信息系统安全稳定运行提供科技力量。

图-1运维模式转变效果图

日常运维自动化迈上了新台阶,扩展自动化应用范围也提上了日程。首当其冲的就是应急场景自动化,我通过研究交易主中心切换至同城灾备中心的切换业务操作流程,制定自动化实施方案。经过测试环境的验证,确定可以通过自动化技术实现主备中心切换业务操作流程。如图-2所示,从字符界面手工操作转变为图形化一键自动化切换,切换操作时长从原来的约3分钟缩短到1分钟左右,并在全市场测试和证券期货行业应急演练中验证了该流程的准确性和高效性。

图-2应急切换自动化流程效果图

踏平坎坷成大道。2019年,我们也没有停下前行的脚步,进一步扩大了自动化技术应用范围。在研究应急处置业务操作流程的基础上,尝试用自动化技术实现并应用于每日闭市后演练场景,不断地收集各岗位意见并完善应急自动化流程,为后续自动化的发展奠定理论基础,积累了实践经验。职级的再次晋升,是各位领导同事对我工作的认可,从“新学徒”到“老工匠”的转变中我也受益良多。

斗罢艰险再出发。2020年,我们提出了实现变更发布自动化的构想。2018年以来郑商所业务创新蓬勃发展,与之而来的技术变更数量增长迅猛,从每年约600个变更突增到每年900多个,随之各种问题也逐渐暴露出来,我对此有了不少思考。记得是全市场测试的一个周末,所领导莅临运维值班室,看到交易、结算、监查、会员服务等岗位都忙忙碌碌的自顾自做着变更,无法整体看到全市场测试都干了什么、进度如何、怎样交互,总之显得杂乱无章。我的直接领导找我谈话,问有什么解决方案。我整理了之前的想法并做了汇报,最终和领导达成了共识,就是建设一套变更发布自动化系统,打通与IT运维流程服务平台数据交互,获取所有变更发布的数据,各岗位通过自动化系统完成变更。这样既能够建立变更之间的依赖关系,也能展示当日所有变更发布的内容、数量和进度,更重要的是推动各岗位建立自动化思维,让运维人员从键盘侠变为操控手,让变更发布的准备工作前移,制定应用系统升级、数据迁移、系统备份、系统回退等变更发布自动化流程,变更当日一键执行自动化流程,提升变更发布的可视化程度和效率。

项目历时一年有余,2021年10月,变更发布自动化系统正式启用。该系统能够实时展示当日变更内容、数量、进度和依赖关系,并强制变更发布自动化流程按照依赖关系逐个执行。该系统目前应用于系统备份、应用系统升级、标准变更等场景,已完成远程交易席位添加、席位权限变更、席位流控、应用升级等自动化发布200余次。交易系统升级作为典型的应用场景,需要操作70余台服务器,变更发布时间从约80分钟缩短为5分钟左右,极大地提高了变更发布效率。

蓦然回首,我从初出茅庐的工科技术男成长为综合性的行家里手,再次获得了职级晋升,同时获得交易所文化奖项——创新奖。备受鼓舞的同时也让我倍感压力,只有脚踏实地的干好工作,才能对得起领导的指导、同事的帮助以及所领导的支持。

踔厉奋发助力系统运维行稳致远

岁月不居,时节如流。2022年,我们紧跟时代潮流,顺应金融科技的不断发展,完成了日常运维自动化系统的升级改造,完成了28个自动化流程的适配升级,在新版系统上增加了11个自动化流程,进一步实现系统运维工作全面自动化。一叶知秋,我和郑商所运维同仁始终守护初心,在各项运维工作中守正创新,助力系统运维行稳致远,以昂扬的精神面貌庆祝二十大的胜利召开,为郑州商品交易所实现“领先行业的风险管理平台,享誉世界的商品定价中心”持续贡献力量。

转载自:中国期货业协会

标签: 操作流程 项目管理 交易系统

最近更新