IT 运维新趋势

10 月 21 日(美国时间)晚上 22:52 分开始到 22 日晚上 23 点,GitHub 经历了长达 24 小时的服务降级,给其客户带来很大困扰,同时也给 GitHub 的业务和声誉带来很大损失。

本次服务最早源于要更换出现故障的 100G 光纤设备,美国东海岸网络中心与美国东海岸数据中心之间的连接被断开。连接在 43 秒后恢复,但这次短暂的中断引发了一系列事故,导致 24 小时 11 分钟的服务降级。

近些年,因为 IT 系统出现故障导致对外服务降级和终止,从而造成极大影响的案例屡见不鲜,AWS、Azure 和国内的一些云服务商等曾被报道出过此类事故。背后的原因在于:一方面,随着 IT 系统与业务日益密切,特别是不少企业 IT 即业务(比如银行),

IT 与业务已经分不开,IT 的重要性不言而喻;另一方面,IT 系统越来越复杂,其管理难度越来越高。** 如果高效运维成为 IT 部门乃至 CIO 必须面对的问题,特别是那些大型数据中心这一问题尤为突出。** 在这一背景之下,自动化运维以及 [AI]Ops 等概念一经提出就受到业界关注,特别是 AIOps,在 AI 热的加持下,这一概念很快就成为运维领域最热门的词汇之一。那么,AIOps 到底是什么?有啥魅力?

AIOps 为何被认可

在谈 AIOps 之前,还是先看看 IT 运维的现状。如前所说,近些年来,随着 IT 应用的日益普及,IT 应用越来越复杂,涉及面越来越广,一旦出现故障,诊断越来越困难,导致人才紧缺。比如,硬件方面会涉及用户终端、服务器、存储、网络等,在软件方面则有操作系统、中间件、数据库等,另外还涉及运营商的网络、云服务商、CDN 服务商等,其中任何一个环节出现问题都会导致用户体验欠佳。而让这个问题更为复杂的是,当今互联网环境下越来越多的应用之间通过 API 或者 Web 服务进行通信时,这一切就更为困难。

为了高效运维,此前人们提出自动化运维的理念,希望通过各种软件工具,特别是一些开源产品(如 Ansible、Chef)来自动化流程,通过减少人力来提高效率。但这只是解决执行问题,没有解决诊断和归因的问题。实际上,在故障发生和面对各个各样报警信息时如何快速准确找到问题所在,这是解决故障的关键。而 AI 和大数据技术的出现,让我们看到了解决这个问题的希望。实际也正如我们看到的,AI 和大数据等数据分析和处理技术在改变传统行业的同时,也 IT 行业自己带来新的发展,IT 运维就是其中之一。

IT 运维正在从大数据和 AI 技术中受益,从而使得 IT 运维开始转向 IT 运营,IT 运维也从被动防护转向主动感知。

这种受益首先体现在,大数据的出现让 IT 运维有了能力来收集和处理海量的信息,而且是几乎实时地完成整个过程。其次,AI 技术的引入让系统有了“火眼金星”,可以及时发现问题、预测问题,并自动解决问题,大大减少了人工参与。

从自动化到智能运维

注意到 IT 运维行业上述变化,善于制造概念的 Gartner 于 2016 年提出AIOps(智能运维),称其为应用了 AI 技术的新一代 IT 运维,将代表 IT 运维的新趋势。

Gartner 在对 2018 年的技术预测报告《Predicts 2018: IT Operations》中提到,未来五年,随着数字化程度的提高,75% 的企业可能会遭遇 IT 故障造成的业务中断,越来越多的大型企业将使用人工智能进行 IT 运营(AIOps),以支持和部分取代传统的 ITOM。其中,到 2019 年, 四分之一的全球企业将策略性地实施 AIOps 支持两个或更多主要 IT 运营功能;到 2022 年,40% 的大型企业将结合大数据和机器学习功能, 支持和部分替代监测、服务台和自动化流程和任务。Gartner 在报告中指出,现在是开始战略性地利用 AlOps 平台进行 IT 运营的时候了。

很显然,AIOps 被 Gartner 的一经提出很快就被广泛接受,也引发了众多从事 IT 运维业务的厂商们积极跟进。实际上,今天我们看到几乎所有从事 IT 运维行业的厂商都宣称在其产品中集成了 AI 和大数据功能。

AIOps 能干什么?

根据 Gartner 的定义,AIOps 的主要目标包括:通过采集当前环境中的运维数据,集成现有 IT 运维管理工具,利用算法等高级数据分析技术对 IT 系统中各个环节的问题进行快速定位、故障排除和预测;对来自业务环节中各个分布式系统的数据进行聚合分析,合理优化 IT 服务,挖掘关键业务的 KPI 指标,反哺业务端,帮助其做出明智决策;通过大数据和人工智能技术分析用户的行为日志和运维数据,发掘潜在的系统安全和合规问题,为企业的信息安全保驾护航。

功能看起来很多,但在笔者看来最为核心的功能有:发现异常、定位故障、基线预测等,这些都属于智能运维范畴,在此之上还有提供对业务支撑和运营,也就是现在一些厂商提的“IT 运营”。与前面的核心功能相比,业务支撑和运营各家都有自己的解读。相比较而言,前面的几个功能更容易理解,也更为普遍。

以发现异常为例,传统 IT 运维工具中都会采用基于经验值来定义异常阈值,这种方法主要基于人的主观判断。而基于机器学习的方法,通过积累历史运维数据,根据日常运维的需求在数据特征的基础上建立算法模型,对模型进行周期性地训练学习,从而能为 IT 系统提供更为及时、准确、高覆盖的检测结果。比如,传统异常发现的流程是运维人员在系统中创建了业务路径,并对路径中关注的节点或连线进行告警设置。如数据中心网银交易服务器响应时间告警的设置为 >300ms,如果运维软件监测到响应时间超过 300ms,系统告警。而采用 AI 方法进行异常检测时,运维人员不用对业务路径做任何告警设置,当机器学习算法检测到某个业务路径的某个节点或连线上产生了异常值,就会自动抛出异常事件。

抑制告警风暴也是 AIops 的非常实用的功能。所谓告警风暴是指在短时间内系统产生大量告警消息,这些消息有的是由某种共同因素引发,互相之间存在一定关联。大型企业的 IT 应用系统庞大而复杂,设备数量动辄成千上万,任何一个小小的 IT 问题都有可能引发“告警风暴”。大量同一事故源引发的告警信息会极大地干扰运维人员的工作,导致运维人员疲于应付大量的告警消息,需要耗费更多时间排查和处理问题,大大降低了运维效率,更为严重的是会让真正关键的告警信息淹没其中,由于无法第一时间发现根源问题,延误了故障处理时间。而 AIops 通过算法模型结合固定规则的方式对告警消息进行告警压缩和告警合并,在保证核心告警内容(即不压缩核心告警内容)的前提下合并告警消息数量,为运维人员提供有效的告警信息。

前面还提到,市场也有很多厂商提出“IT 运营”,不只是让 AIOps 用于运维,还希望让 AIOps 为业务运营提供更多直接支持,比如对 IT 系统进行预警和预测,辅助决策,从而为企业的 IT 管理从 IT 运维向 IT 运营转型提供帮助。应该说,这应该是 IT 运维的发展方向,毕竟运营才能产生效益,Gartner 也提出了这个观点。但与 IT 运维相比,IT 运营还是一个更高级的阶段,如何支持还需要更多探索。这里不多赘述。

本文已标注来源和出处,版权归原作者所有,如有侵权,请联系我