什么是智能运维:我对智能运维的理解

随着时代的发展,企业 IT 设施的规模不断扩大且复杂度日益增加,同时业务对系统稳定性的要求也愈发严苛。在这样的背景下,寻找更为高效的途径以保障业务稳定成为了当务之急。鉴于人工智能技术在其他行业的迅速发展和显著成效,运维领域的专家也开始积极运用这一技术,以应对运维保障过程中所面临的效率挑战。
那么,智能运维究竟是什么呢?在接下来的讲解中,我将为大家详细阐述何为智能运维。

智能运维能为我们做什么呢?

首先,我们需明确智能运维所能带来的益处。许多人会提及无人化运维,这确实是一个理想化的愿景,也是我们追求的最终目标。然而,就当前的技术发展水平而言,我们尚未达到这一境界。因此,在实施智能运维的过程中,我们必须根据具体的应用场景,设定切实可行的目标,并选用恰当的技术手段。接下来,我们来分享业内的几个例子:

Google 基于意图的容量规划

对于运维工程师而言,容量规划堪称一大挑战:

  • 首要难题在于规划过程的冗长与复杂。收集充足数据以预测未来需求不仅繁琐,而且容易出错。此外,在寻找适当资源以满足预期需求时,还需面对资源选择的难题。
  • 另一问题在于,该规划往往因微小变动而全盘崩溃。例如,用户数量的意外增长会导致需求激增,或者某个集群的资源延迟部署,进而影响到整体服务的冗余度和延迟要求。

运维工程师长期受到容量规划难度大和需求频繁变动的困扰。而 Google 工程师研发的 Auxon 系统,成功实现了容量规划的自动化,显著提升了工作效率。

阿里云的调度系统

在 2018 年的技术峰会上,阿里云揭晓了一套能够为其每年节约高达一亿基础设施成本的系统。该系统专注于优化 CPU 资源、内存资源以及网络费用,旨在最大化 CPU 和内存的使用效率,并且针对运营商的不同网络计费模式(如一次性缴费无上限使用或按需计费)进行了针对性的优化措施。

美团的支付通道自动化管理

在初期阶段,支付通道的首要任务是拓宽其覆盖范围,并提升用户支付成功的比率。然而,随着支付通道的陆续接入,由于公共网络环境、银行系统或第三方服务的不稳定,导致故障频率升高,故障时间延长。通过引入通道的自动化管理机制,我们成功地在以下三个方面取得了显著进步:降低了平均故障响应时间、减少了平均人力成本投入,以及缩短了平均故障恢复所需的时间。
在这里插入图片描述
该表格展示了美团内部的数据,清晰反映出三个关键指标均实现了数十倍的提升。

人工智能技术框架

以上三个案例充分证明了智能运维在运维工作中发挥的巨大作用。其实智能运维本质上就是人工智能在运维领域的应用。那么,首先让我们来了解一下什么是人工智能。中国电子技术标准化研究院发布的《人工智能标准化白皮书》对其进行了详细阐述:“人工智能是指通过数字计算机或其控制的机器来模拟、拓展和提升人类智能,包括感知周围环境、获取并应用知识,以达成最优结果的一系列理论、方法、技术和应用系统。”
然而,要实现这一目标,单一算法远远不够。一个完整的人工智能系统,是一个极为复杂的综合性方案。接下来,让我们一同深入剖析人工智能的整体技术架构。
在这里插入图片描述
上图展示了人工智能的技术架构,该架构由五个核心阶段构成:

  • 第一阶段聚焦于智能信息感知。以智能驾驶为例,此阶段利用摄像头和毫米波雷达等传感器捕获外部的信息。
  • 第二阶段聚焦于智能信息的表示与形成。从摄像头和雷达获取的原始二进制数据,需经历一系列的数据处理流程,以提炼出关键信息,诸如道路上行驶的车辆详情、交通标志牌的内容等。针对车辆信息,我们需要明确其位置、速度以及行进方向;而对于交通标志牌,则需准确识别其指示的转向信息,比如左转或右转。
  • 第三阶段和第四阶段分别对应智能推理与智能决策。在智能驾驶的情境下,基于前两个阶段获取的道路、车辆等信息,系统需判断适宜的行驶速度、是否直行、左转或右转的角度以及是否刹车等。
  • 最后一个阶段是智能执行与输出。在智能驾驶中,一旦系统做出决策,该决策将被传递给车辆的控制系统,由车辆执行相应的操作。

什么是智能运维

鉴于人工智能系统的复杂性,你或许会质疑智能运维是否只是追逐潮流、名不符实。然而,事实并非如此。本小节将详细阐述为何这一观点不成立。
首先,让我们先来回答一下什么是智能运维。基于前面讲的人工智能相关的一些概念,我个人理解是:智能运维是模拟和延伸运维工程师的操作或者行为,并且根据外部产生的数据或者信息,通过智能推理的算法,形成内部决策,并且反馈给外部环境。
在这里插入图片描述
接下来,我们根据上述人工智能技术框架,以质量保障为例,画出一张智能运维技术框架图(详见上图)。我们将结合人工智能技术框架图,对这张图进行详细的讲解:

  • 智能信息感知对应智能运维的数据采集,主要是指监控数据的采集。监控数据采集手段非常多,包括各种编程语言的 SDK,各种类型的 agent,比如说日志采集 agent,网络探活 agent,服务探活 agent 等等。
  • 智能信息的表示与形成与智能运维中的异常检测环节相对应。异常检测的核心任务是识别异常数据,并激活警报系统以发出警告。质量保障工作的目标是快速且准确地识别出故障,并确保故障能得到及时处理。这一过程依赖于从外部收集的数据,旨在迅速发现系统中的实际或潜在异常点,并立即触发警报。当前,异常检测的研究主要集中在两个方向:一是针对时序数据的异常检测,二是针对日志文本的异常检测。当然,除了基于监控数据的异常检测外,异常检测还广泛应用于其他领域,如基站数据的质量分析。
  • 智能推理在智能运维中对应于根因分析环节。根因分析指的是利用软件手段分析出产生故障的根本原因。根因分析是一个非常复杂系统,可以细分出很多的业务场景。比如说基于告警数据的根因分析、时序数据维度下钻、基于日志的根因分析。从技术上来讲,根因分析的分为实时分析和离线分析两种。实时分析旨在故障发生后一分钟内迅速确定其根本原因。然而,由于诸如算法复杂度、算力受限等种种因素,有时可能无法在一分钟内提供满足需求的信息,因此需要通过离线分析手段进行补充。
  • 智能决策对应智能运维的自恢决策。一旦系统分析出根因,我们的目标是能够自动的恢复故系统故障。但是这个时候,如果直接恢复,有可能会小故障变成大故障,因此我们需要对当前故障做评估,比如说我们要判断当前产生这个故障的服务的重要程度,它的影响面,还有我们的产品跟客户的协议等等,最后才能得出结论,我们当前该怎么做。
  • 智能执行与输出对应智能运维是自恢执行。简单来说就是一旦做出了具体操作的决定,比如说重启服务,那么我们会有一套专门的自恢平台执行跟重启服务相关的脚本。同时自恢平台还需要监控自恢的执行过程,以及验证自恢的结果,如果自恢失败,还需要通知人工介入处理。

如果想对智能运维做进一步了解的,欢迎移步我在《极客时间》的专栏《智能运维(AIOps)入门指南》。

通过课程,你将会学到:

从业务、产品、数据、算法、工程这五个核心方面,全面剖析智能运维的实施路径;
掌握不同运维业务场景下所需采用的算法策略;

智能运维研究方向

现阶段智能运维的研究方向有三个,第一个是质量保障,第二是成本管理,第三是效率提升。

  • 质量保障的目标是快速准确的发现系统故障并且恢复。
  • 成本管理的目标是能够用尽可能少的资源承载尽可能多的业务。
  • 效率提升的目标是把一些常规的重复性的工作自动化掉,比如说智能问答,开发人员常见的一些咨询问题,可以通过问答机器人回复,不需要人工的介入。
    在这里插入图片描述

质量保障方向有四个研究的子领域:

  • 异常检测分为时序指标异常检测,日志文本异常检测。时序指标异常检测是基于监控采集的结构化数据,分析出异常波动,比如说突升突降。日志文本异常检测,比如说订单创建失败的日志,能够及时从日志中挖掘出来,并且通知给相关的开发人员做处理。
  • 根因分析的场景有非常多。a. 基于告警的根因分析:我们同一时间接收到 1000 个告警,甚至是 2000 个告警,系统自动分析出产生这么多告警的根因告警是哪一个,或者哪几个。b. 基于时序数据的根因分析:当用户访问量突然下降了,我们需要进一步分析出是安卓平台引起的苹果 ios 引起的,或者说是广西的电信引起的,还是江西的移动引起的。c. 基于日志的根因分析:当系统出现故障的时候,从日志中分析出故障原因。
  • 故障预测的场景也有很多,比如说磁盘故障预测。磁盘故障预测指的是通过操作系统拿到磁盘的各种各样的状态,以此来预测这个磁盘在未来一个月或者半年之内,出故障的可能性。
  • 故障自愈,目前常见的故障自愈场景有磁盘清理,服务切换,版本回退等等。

成本管理方向也有四个研究的领域:

  • 成本报表指的是通过数据报表的方式,从不同的维度去评估当前资源的负载或者空闲率。比如说,我们可以从硬件资源的角度来评估当前资源的使用率,也可以从业务的角度来评估当前该业务的资源使用率和成本预算,也可以从部门或个人的角度去做分析。
  • 资源优化指的是基于不同服务的资源需求,采用不同的硬件资源,以此来降低硬件成本。现阶段服务的类型可以分为计算密集型、内存密集型和 io 密集型。计算密集型分为 CPU 和 GPU, IO 密集型分为磁盘 io 的网络 io。
  • 容量规划跟业务紧密关联,如果资源过多,会造成资源浪费,成本上升,资源过少又会影响到业务。因此,我们需要建立容量预测模型,以此来准确的评估未来一个周期或者未来一年之内,我们需要多少的资源。
  • 性能优化,比如说操作系统参数调整。我们可以根据当前服务器上服务的特点,自动对操作系统的参数做调整,以此来提升服务的性能。比如说实时业务和批处理业务,操作系统的参数差别是很大的。

效率提升方向也有四个研究领域:

  • 智能预测包括容量预测。容量预测,指的是针对一个特定的业务,评估未来一段时间之内需要增加多少的资源。
  • 智能变更包括应用变更。针对当前的发布变更需求,评估此次变更的风险程度,以及需要采取的一些预案措施。或者说采取一些特定的变更策略来提升变更效率。
  • 智能问答包括问答机器人。对于一个产品的开发人员或者运维人员,可以针对用户提出的一些常见问题,可以事先写好文档,通过问答机器人自动回复。
  • 智能决策包括扩缩容决策和智能调度。扩缩容决策指的是当资源负载达到某一个阈值的时候,可以自动做出扩容的决策,或者是资源负载低于某一个阈值的时候,可以做出缩容决策。扩缩容同样也需要做风险评估。智能调度指的是基于一些特定的业务需求,针对性的设计部署方案并执行。

我们需要智能运维吗?

当前市场上存在一种误解,认为智能运维只能依托成熟的云平台实现,这完全是错误的观念!
首先,我们需明确的是,并非实现了无人运维才叫智能运维。以智能驾驶为例,自动泊车便是智能驾驶功能的重要组成部分,而非要求驾驶者能在车内完全放松、无需关注才算是智能驾驶。从前文的讨论中,我们可以清晰地看到,智能运维涵盖了众多研究领域和丰富的应用场景,比如异常检测,这一功能仅需依赖监控系统和日志系统收集的数据即可实现。
那么,问题随之而来:我们是否真的需要智能运维?又或者说,在何种情况下需要引入智能运维?这主要取决于业务系统的规模和发展需求。

  • 起初,当机器数量较少,如五台、十台时,开发人员亲自进行维护工作便绰绰有余。
  • 然而,随着服务器规模的不断扩张,系统复杂度也随之急剧上升,比如达到 100 台机器时,组建专业的运维团队就显得尤为必要。这个团队将负责基础设施运维、业务运维以及技术支撑(涵盖监控服务和日志服务等)。
  • 当硬件和软件规模进一步扩大,系统可用性要求日益提高时,单纯依靠人工运维已难以满足业务需求。此时,运维平台的引入成为关键,它主要承担以下功能:实现运维工作的规范化(如发布变更需经过审批流程)、确保系统稳定性(如监控和告警功能)、以及进行成本管理(如资源报表统计)等。
  • 随着业务规模的不断增长,算法的应用已成为提高效率的关键因素,标志着进入了智能运维的新阶段。例如,在运维工程师每日需处理成千上万乃至数十万告警的情况下,传统技术手段已难以应对,这时就需要借助强大的根因分析能力来显著提升故障排查的效率。

小结

好了,这就是今天的主要内容。最后我们一起来回顾一下。
首先,我们概述了人工智能的概念与技术架构,强调其远非单一或少数算法的简单集合,而是涉及数据采集、知识提取、智能推理、决策制定、执行与输出结果的全过程。这一理念同样适用于智能运维领域。以质量保障为例,智能运维体系涵盖了系统监控、异常检测、根因分析、自我恢复决策与执行等多个环节。并且,这些流程中的每一个都可以进一步细化为多种业务场景,每个场景下的算法策略都可能各具特色。
接下来,我们探讨了智能运维引入时机的合理性。必须明确的是,智能运维的开发伴随着成本投入,从商业效益的角度考量,若开发成本超出了预期收益,那么引入智能运维便显得缺乏经济性。因此,智能运维的应用对业务规模和系统规模有着一定的要求。只有当业务和系统规模达到一定水平时,智能运维才具备在这片沃土上持续发展的潜力。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值