时代的变迁,人的梦,这些都是挡不住的。

 

瞬息万变的IT行业,新技术新思维的火花时刻迸发着。对于运维,稳定与创新是永恒的课题,自动化运维、DevOps 、AIOps 是运维未来的发展方向,那么如何顺应潮流去实践 AIOps 呢?怎样保持对技术的热情和活力?

 

近期社区采访到中国银行软件中心维护部系统分析师袁纯良老师,请教从业20年的老专家,听他娓娓道来,分享从开发到运维,从自动化运维到 AIOps 实践的经验。


袁纯良(左)接受萧田国(右)采访


进入中行 12 载

开发运维紧密连接


1999 年袁纯良研究生刚毕业,从那时起开始了他的软件开发的职业生涯。2007 年袁纯良老师进入了中国银行(以下简称“中行”)软件中心,从事核心银行系统开发、维护。在 20 多年的时间里他深深体会到计算机科技不断普及和飞跃发展的过程,特别是近几年来感受到了科技力量对金融行业发展产生的从未有过的影响力。

 

2014 年伊始,中行开展机构整合,把原本在数据中心的维护部划分到了软件中心,促进了运维与开发更紧密地融合,同时在人工智能、大数据等新技术浪潮大背景下,进一步推动了应用维护领域新技术应用实践。

 

2016 年初,袁老师从开发部转入维护领域,这是他职业生涯的一个关键点。在银行,开发和运维是不同的部门,但是从技术及工作流程上二者有着紧密的联系。在维护部,袁老师能够更直接专注于生产系统一线运维情况,能更深入思考生产系统运行安全与运维效率的关系。让袁老师感到欣慰的是,当前 Devops 和 AIOps 的兴起,中行软件中心在质量管理部的统筹下,使得维护与开发的联系更加紧密,同时维护工作在提升效率降低风险的同时,迎来了新技术转型的难得机遇。袁老师多年开发经验在维护领域也有了更多的用武之地,能够在新技术的潮流中继续丰富自己的职业生涯。


水到渠成

银行是AIOps实践最佳场景


核心银行系统架构转型是实践 AIOps 的开端


2017 年,中行开启了主机核心银行系统的 X86 下移工作。中行核心系统采用了集中式架构和分布式架构并存的格局,在大幅降低 MIPS 等系统资源开销的同时,系统运行稳定性、安全性都有明显提升。对熟悉集中式架构的维护人员来说,刚上线的分布式核心银行系统是一个全新的事物,面对数百个虚机节点和大量的开源软件,批次投产、日常变更、应急处理等工作中非常需要高效、安全的运维工具。


袁老师回忆道,“我们在分布式核心系统上线之初就开始研究相应的自动化工具,比如基于 DUBBO 的交易自动统计与监控工具、基于 QREP 的数据同时延时自动感知工具等等,以解决生产运维中出现的问题。”


主机核心银行系统下移拉开了中行大规模架构转型的序幕,也兴起了分布式系统运维创新的热潮。比如维护部自主研发了很多工具像交易统计与监控适配器、节点应用信息自动采集等,以及与开发部共同设计交易自动切换机制、分布式灾备系统架构等等。在这些创新中,维护人员使用了包括机器学习、神经网络、移动计算和大数据等能的多种新技术,并取得了不错的效果。谈及这些工作时,袁老师深有感触,“核心银行系统架构转型是我们实践 AIOps 的真正开端”。



袁老师介绍,中行做AIOps 的目的,是为了提高效率,减少风险。

 

在大规模 X86 分布式系统日常运维过程中,维护人员为更好的解决监控中的问题,提出了无阈值智能监控这种全新的监控机制。X86 下移后,一个系统从原来几个 LPAR 增长到几百个甚至上千个虚机节点;几十个系统下来,日常运维工作量的激增可想而知。所以维护部在日常运维做了很多创新,实现了集中化和一键式操作,大大减轻了运维工作量。

 

但是在监控领域,袁老师认为这是一个全新的挑战,不能基于传统的方式去改良。不仅仅是说分布式系统规模庞大,而且其中每个节点角色不同,监控需求千差万别。更重要的是,分布式系统是一个动态系统,节点版本迭代频繁,虚机资源也可能随着压力而调整。很明显,传统的固定阈值监控方法不能有效面对这个局面。在这种情况下,运维人员设计了一种全新的机制——无阈值智能监控。

 

无阈值智能监控实践


“银行是一个非常好的场景”,袁老师谈到无阈值智能监控方式时这样说道。银行业务具有非常明显的时序特征,包括周期性、趋势性和特殊时点,而且非常稳定,由此带动了后台系统的运行也具有明显的时序特征。


据袁老师介绍,无阈值智能监控系统能够根据系统运行历史数据来自动判断系统当前运行是否正常,并且能够计算每个监控项的风险概率值,也就是说,它是智能的。第二,它是自适应的,也就是说它能跟随系统动态变化而自动调整,当系统变化后,它能够很快的掌握新的运行特征,并在此基础上进行有效监控。第三,这种监控方式是“无创”的,对银行生产系统不会带来风险。

 

无阈值智能监控系统最核心的技术是时序预测模型、风险识别模型以及自适应告警模型三类模型,今年的 GOPS 大会上海站,袁老师分享了其中的建模细节,包括它们是如何协同工作的,以及在规模化应用中遇到的问题及解决方案。

 

中行无阈值监控系统覆盖了三类指标:

    1、系统级,像 CPU、内存、数据库链接数、MQ 深度、磁盘空间等等。 

    2、应用层面的,包括 TPS、交易响应时间、交易成功率等等。

    3、业务层面的,比如说客户数量增长、外币汇率波动等等。  

 

袁老师举例,比如说有一次无阈值监控发现磁盘空间消耗上涨异常并发出告警,维护人员及时检查发现是一个节点的开源软件 Zookeeper 自己不停地写日志,消耗大量文件系统。进一步分析,发现有一个Connection 断掉触发了Zookeeper 的一个 BUG。当时采取了应急措施重启有问题的节点,临时解决这个问题,成功消除了一次安全隐患。之后通过ZooKeeper版本升级,彻底解决了这个问题。


由于大部分开源软件来源于互联网公司,并非给银行量身定做的,并且缺少专业厂商支持,对银行系统来说是一个风险点,需要维护人员重点关注开源软件的运行情况。“无阈值智能监控很大程度上帮助我们这个忙,一但开源软件的运行有风吹草动我们能够第一时间感知。

 

中行软件中心应用无阈值智能监控已经一年多了,推广到8个重要生产系统,取得了良好效果,不但能够提前发现风险隐患,让生产事故消除在萌芽阶段,而且告警数量以及误报率大大降低,减轻了值班同事压力。

 

无阈值智能监控应用是软件中心 AIOps 创新落地实践中的一项重要内容,受到了总行和软件中心领导的关注,软件中心也把它纳入了工程活动管理领域重点专题,并专门立项进一步完善、推广。

 

联机系统多指标智能监控工具


同时,中行维护部门开展了基于多指标的智能监控基础研究,比如多维时序数据的聚合,分布式场景的异常特征分布等等。在这个基础上陆续开发了一些特定场景的智能监控工具,比如:联机系统多维度联合监控、利用前馈神经网络监控和预测复杂场景下 MQ 队列深度等,都已经在实际中应用。这些不同于一般的单指标监控技术,而是非常灵活的多指标监控技术,在某些复杂的特定场景下有很好的预测效果。袁老师认为这是维护部门在智能监控领域自主创新的另一个亮点。

 

全流程智能工单处理系统


近几年各类新技术的兴起激发了中行维护人员的技术热情,开展了新技术在维护领域的各类应用研究,并取得了一些成果。比如在工单处理领域,维护部针对工单数量不断增加和人员不足的情况,开发了“全流程工单处理智能辅助系统”。这个系统使用人工智能算法建立工单分类模型,帮助处理人员快速判断工单所属系统和模块,并定位问题类型、推荐处理方案。同时,在整个工单流转过程中,系统能够协助运维管理人员实现工单自动的分类、分派和提醒,大大提高了工单处理效率。袁老师全程参与了这项工作,成果已发表在《中国金融电脑》上。

 

另外,中行还开展了一些大数据类的算法研究,应用在银行客户风险等级预测、核心交易数据快速挖掘等相关领域。

 

云时代的前瞻思考,以不变应万变据袁老师介绍,后续中行还将进一步推动 AIOPS 的落地实施,比如建立统一的应用维护数据源、常见运维场景微服务平台等等,提升现有AIOPS的功能和效率。现在中行处于数字化战略转型时期,如何面向云场景开展维护工作也是下一步要积极考虑的问题。


无论是现有系统向云端迁移,还是新建的基于云的系统,未来产品运行形态都会发生很大变化,运维流程也会随之有新的调整。这方面中行维护部希望可以参考借鉴业界的SRE机制,建立“主动运维”思维,提升运维开发能力,做到以不变应万变。

 

日积月累不放松

体现真正的价值


从 1999 年开始,如今袁纯良已经从业20年之久。回首往事,他感受到对于银行,运维是极其重要的一项工作,维护人员肩负保证系统的安全性、稳定性的重要职责。运维工作对人的体力、精力是很大的考验,加班通宵都是常态。同时维护工作也非常锻炼人,年复一年的维护工作,在增长技术能力的同时,也培养我们敢于担当的责任感,临危不乱的心理素质,细致入微的观察能力。在解决问题的同时提升了自己,实现人生价值。

 

印象深刻的困难与挑战


没有工作能一帆风顺,袁老师在工作中也遇到了过很多困难和挑战,他都是积极寻找解决方法并顺利过关。他回忆起在做无阈值智能监控期间,最困难的是做特征工程阶段。那是2018 年中,袁老师为了确定分布式系统中虚拟机节点TPS、时序及CPU的关系,在没有任何资料可以借鉴的情况下,尝试了很多模型,包括线性模型、多项式模型和指数模型等。最终通过大量真实数据分析确定了不同角色的节点所适用的不同模型,以及模型自动选择的算法。之后做时序建模,也遇到了很大的困难。


因为现有的开源工具不能拿来直接使用,需要做很多优化,修改接口源码。在缺少文档的情况下完全靠自己摸索,连续加班加点,考验非常大。袁老师笑着对我们说,“我看到了它的价值,所以我能够下决心技术攻关,即便只有我一个人,哪怕我不再年轻。”



年轻运维的成长


袁纯良在谈起 AIOps 的各种实践工作时依旧是神采奕奕,一切犹如昨日,热情不减。对于运维的年轻人如何做好运维工作,袁老师分享了自己的宝贵经验。

 

要真正做好运维工作,肯定离不开过硬的技术能力和长期的经验积累。对于刚进入维护领域的年轻人来说,只要认真、踏实,能够很快掌握相关领域的基本运维技术,积累相关经验。但是,做好运维工作,最重要的是必须始终具备强烈的责任心。要始终保持安全、合规的意识,这是所有运维人员必须坚持的底线。


其次要注意在个人技术上的积累,不要把自己看作一个操作员,要努力理解系统内外架构,系统内部不是黑盒子,系统之间也不是孤立的,一定要找到它们之间的关联,明白系统内部结构和外部关系,一旦出现故障对于其他系统可能造成什么影响,建立自己的全局观、脑图。


在新技术时代,要注意哪些手工操作是可以自动化的,同时要关注自动化或者智能化可能带来的风险与应对策略。


运维人站在舞台中央


在刚过去不久的 GOPS 全球运维大会 2019 · 上海站上,袁老师做了非常精彩的演讲,将中行 AIOps 的实践经验分享给大家,也为能够和运维行业众多专家、同僚交流探讨而感到十分高兴。袁老师说道,GOPS 是让运维人员从幕后走到台前,站在舞台中央的好活动,有助于发挥个人价值,点燃大家的热情!


   

在采访中,我们能深切地感受到袁老师对于工作的热情和乐趣所在,不论是做开发还是做运维,袁老师都是一直顺应时代潮流,努力学习和实践,做对企业有价值的事情,同时也成就了他的自身价值!

 

希望袁纯良老师的故事可以为大家带来启发,我们身处最好的时代,IT行业的蓬勃发展,为我们每一个人提供了无限大的舞台;我们同时也身处最具挑战的时代,前路尚未可知,资本寒冬尚未褪去,而你,准备好了吗?



©著作权归作者所有:来自51CTO博客作者mob604756f0266e的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 从零搭建一个自动化运维体系
  2. 喂,业余草吗?你的生死簿管理系统我出10万买了!
  3. 我们不一样!运维自动化典型案例观止
  4. Linux运维入门教程03-02 (目录文件的浏览、管理及维护(二))
  5. 城市复杂巨系统如何数字化、孪生化?ThingJS
  6. inter CPU 不在支持win7系统
  7. “互联网+党建”让智慧党建系统更实用!
  8. win10系统,开机一直转圈圈,不能进系统【解决办法】
  9. Linux下性能压测之系统参数调优

随机推荐

  1. Windows系统下制作Android开关机动画
  2. android 屏幕上面画线
  3. Android使用NDK进行联网签名认证
  4. android官方资源下载url
  5. iOS与Android对比学之NSNotificationCent
  6. Android 启动app的几种方式
  7. Android(安卓)Studio里面的Build.gradle
  8. AES Crypto 在 Android P(Android 9.0) 被
  9. Android manifest属性总结
  10. android——ListView功能的实现