我们处在这个数字化时代,数据中心规模和容量都在成倍增长,随之而来的运维管理复杂度和难度也越来越大,从脚本运维、工具运维到平台运维演进至今,人力已接近极限,AIOps应运而生。AIOps (Artificial Intelligence for IT Operations),即智能运维,是将人工智能与运维结合,基于已有运维数据(日志、监控信息、应用信息等),通过机器学习的方法来提升运维效率,从而逐步取代人工的运维。早些时候,关于机器人是否能代替人类的话题引起热议,很多人还担心人类引入AI的后果可能是最终被机器人所击败,世界变成是机器人的。别的领域不说,单说运维,那巴不得AI能将人替代,这样可以节省很大的人力开支,人工运维效率低不说,还容易出错,将运维交给AI是不错的出路,这就是AIOps火起来的原因。
AIOps并不是凭空而起的技术,实际上,运维一直是数据中心重要的工作之一,在数据中心漫长的生命周期内,几乎大部分时间都是运维的工作。在运维发展的过程中,从最开始的人工运维,到工具运维,再到Devops,Devops可以理解为自动化运维,现在到了AIOps的时代。人工运维顾名思义,是利用单独的脚本或者一些简单的工具,没有较为完善的系统和运维理念,绝大部分运维的工作靠人工完成;工具运维则依赖较为完善的工具,并经过不断改进,工具越来越成熟,工具可以替代一些重复性的操作类人工工作;Devops则完全依赖自动化,通过SRE、Chatops等高级形式工具,将运维流程和操作实现完全自动化,Devops可以代替大部分的人力工作;AIOps则将AI技术引入到运维当中,通过机器的自我学习、自行分析决策,自动去执行脚本。显然,随着运维技能的提升,数据中心越来越多运维的工作都可以交由机器来自动完成,至少最终数据中心完全可以自动运行,鲜有人工参与,这样能极大降低数据中心的人力成本,提升数据中心的竞争力。
图源:图虫创意
AIOps可并不是拿来就可以用的,它要对海量的数据进行学习,学习完后有了经验,才能够根据学习的经验来工作。所以AIOps需要大量的监测日志、设备运行状态信息、已发生过的故障、历史经验、自动化脚本等等,数据越丰富,AIOps的能力就越强,试想如果靠人去记忆查找,人的大脑是记不住太多东西的,而机器不同,它可以清楚记得数十G文件中的任何位置的标点符号,相对于人类的智慧——虽然是无限的,但不如机器来得高效。所以当遇到问题时,AIOps依赖的历史数据要比人脑积攒的多得多,如此才能给出最佳的问题处理方式,这也是AI在任何一个领域中应用时所用的相同方式。AIOps就是将人工决策分析交给了机器,用机器学习方法做决策分析。从技术上说,AIOps需要大量的实践和沉淀,任何历史的经验数据对AIOps都有益。如果说AIOps学习的数据样本很少,那么再好的算法,也会经常给不出决策结果,最终还是要人工干预,要是事事还要人去参与,那AIOps就失去存在的意义了。在AIOps学习阶段,要给AIOps输入大量的学习样本,学的越多,AIOps能够代替人处理的工作就会越多,随着时间的积累,你会发现AIOps能干的事情越来越多,只要让AIOps学习一次,类似的工作AIOps都可以做起来,比人工高效多了。数据中心出现故障是无法完全避免,重点是快速应对,不以发生故障为耻,以快速修复为荣,AIOps几乎可以数秒之间就可以完成故障排查和解除,在这么短的时间完成,人工是无法做到的,这么快就恢复,业务层面也基本不会有感知,真正做到即便出故障了,也能保持业务无中断。
AIOps既然是这么棒的技术,一定在数据中心大受欢迎吧,实际却不是这样。AIOps概念炒得挺火,真正落地实现的案例并不多。一方面是AIOps采用的机器算法很重要,算法要适应数据中心的环境,根据数据可以得出接近人判断的结果,AI技术本身也在不断发展过程中,这方面也还不成熟,技术虽够先进,可与实际应用还有距离。另一方面是每个行业的数据都有自己的特点,数据中心也不例外,而且数据中心的数据量和特征都特别多,这对AI是个挑战,数据中心里有太多新的IT技术,产生很多新的数据,这些都需要AIOps不断调整算法,不断去适应和学习,如果学的不好,容易给出错误的决策,导致系统失控和瘫痪,这时就需要人工多介入,及时调整AIOps的算法和数据录入的准确性,将一个数据中心的AIOps真正建起来,这不亚于数据中心运维工作几年的工作量。所以AIOps需要一个专业的团队来做,大型的企业都有自己的AIOps团队,而中小企业则从外部聘请IBM、Oracle等AI技术公司来做,这种投入目前看也是蛮大的,往往让那些想引入AIOps的数据中心暂时搁置起来。所以,当前AIOps落地成了最大的难题,已有部署AIOps的数据中心,AIOps发展差异都很大。
运维未来的方向肯定是AIOps,这一点毋庸置疑,只不过AIOps仍处于偏理论阶段,还需要时间进行不断完善。AIOps 可以贯彻整个运维领域,从硬件资源规划、管理、实施,操作系统安装配置,到中间件及应用软件的上线、变更,以及后续的监控、报警、维护、优化等各方面都能够支持,AIOps几乎无所不能,只要人能做的工作,AIOps都能做,人不能做的工作,AIOps也都能做。随着AIOps的成熟,后面也许会进入AIDevops时代,它比AIOps多了一个Dev,比Devops多了一个AI。这是智能化开发和运维、智能化生命周期管理时代,这要比AIOps还要智能,将具有度量、分析、学习、预测、指导,行动的能力,AIDevops才是智能运维的未来。