究竟什么是AIOps?IT领导者需要了解有关AIOps的常见误解,特别是了解对于AIOps方法为何符合或不符合目标的解释。
你认为DevOps很难理解吗?可以先了解AIOps。调研机构Gartner公司于5年前首次创造了这个术语,AIOps的含义如今已从“Algorithmic IT Operations(基于算法的 IT 运维)”转换为“AI Operations(人工智能运维)”。使用通用算法帮助IT运营团队的想法并不是那么新颖。有人可能会说,AIOps试图赶上人工智能的宣传和炒作浪潮,也有一些运维和监视工具制造商试图增加人工智能的成分。如果要求10个人来定义AIOps的话,就可能会得到10个不同的定义:这类似于以前很少有人就云计算的定义达成共识一样。
DevOps研究所的研究主管Eveline Oehrlich对此进行了描述:“AIOps解决方案使IT运营和其他团队能够通过对即将到来的数据量和类别进行更好的分析,以改善关键流程、任务和决策。采用这些工具可以自动快速接收大量数据。机器学习用于分析数据并提供可预测或警告发现的问题。这些新发现的知识可以用于自动化或决策。”
IT领导者需要能够了解并解释一些关于AIOps的常见误解,这些误解可能来自组织的领导者、同事、合作伙伴和客户。以下将解释各种AIOps方法符合或不符合业务目标的原因。
关于AIOps的真相:它是什么,能做什么
因此,以下深入地研究推动当前AIOps势头增长的因素以及IT团队所看到的收益。例如,如果组织已经在使用容器和Kubernetes,那么可能会有喜欢自动驱动集群的想法,那么现在可以立即开始实施AIOps。
1. AIOps不是一种产品
如果想将AIOps引入组织,则可能会想购买一种AIOps产品,并计划在一年中部署并完成。在运营堆栈中添加了另一种产品,并且增加了复杂性,如何处理更多的复杂性?
首先,考虑当前AIOps产品提供的常见功能,仔细查看当前的工具集,并评估存在漏洞的地方:
基线:用于度量和其他基于时间序列的数据。
根本原因分析:连接多个信息源并深入掘取。
异常检测:预测未来并警告偏差。
相关性:例如指标和票证之间的相关性。
模拟:假设场景。
人们会看到AIOps是一种功能,而不是独立的产品。对于某些功能来说,专用工具的功能并不够,因为可能只将所有工具进行互连,才会产生“魔法”。这就像单个神经元无法构成大脑一样。
2.在使用AI之前,需要Ops
俗话说,“在学会跑步之前需要先学会走路。”原有的监控措施并没有什么问题,只是需要在系统环境中增加指标、日志和可观察性。因此,首要任务是使其运营变得简单。如果遇到太多警报,需要确定最重要的警报。如果没有从关键应用程序中获取指标,则开始实施指标。开始定义组织需要满足的服务水平指标(SLI)和一些服务水平目标(SLO)。
在这样做的同时,就会发现监控设置中的一些盲点,并提高工作的可视性和运营能力。在遇到障碍之后,人工设置警报阈值不再起作用,那么现在是使用新工具的时候了。
了解局限性始终是改进的第一步,因此,AIOps的旅程始于收集数据并理解这些数据。如果人工智能研究人员涉足新领域,那么要做的第一件事就是进行探索性数据分析(EDA)。这包括了解数据特征,例如什么是列名,什么是值以及什么是语义场景。
同样,AIOps工作的第一步将是确保组织可以轻松地收集和访问所有运营数据,并且能够将其可视化。这不仅意味着当前的数据,也意味着历史数据。
只有在这样做之后,才能开始下一步旅程,尝试寻找新的信号和见解,并将其投入自动化的行动中。
3. AIOps是一种文化的转变
有些人将AIOps看作是运营中的一种文化变革,就像DevOps运动因相关的文化变革而闻名一样。DevOps结合了开发和运营团队的两种文化思想,创造出一种以速度和试验为特征的新文化。如今,人们理所当然地认为DevOps专业人员同时使用开发人员和运营工具集中的工具。将会看到诸如统一的基础设施或应用程序开发团队之类的东西为运行其代码提供了服务水平指标(SLI)。
现在,可以将数据科学家角色添加到组合中,将会获得AIOps。换句话说,使用探索性数据分析(EDA)之类的方法或Jupyter Notebooks之类的工具来使组织的卓越运营变得更好,这将推动更多的IT专业人员进入AIOps领域。
人工智能/机器学习的社区实际上也是如此,它仍然与部署模型的运营方面脱节。如果数据科学家变得更像人工智能工程师并且接受和理解DevOps的优势和挑战,那又会怎样?然后随着时间的推移,人们会将注意力转移到IT领域的问题上:很有趣的是,采用人工智能技术,在识别有关猫的图片方面可能比人类还要强大,但识别坏硬盘方面对于人工智能技术来说仍然是一个挑战。
4.整合成为首要事项
因此,如果AIOps不是一种产品,那么将在哪里产生?一旦发现数据集之间存在某种关联,或者多次发生中断,就希望AIOps自动执行某些运行或指导如何解决中断问题。
而这个“魔法”发生在工具之间的结构中。它可以体现在零售价格较小的连接层中,例如聊天机器人为用户提供了到相关系统的链接,从而使从指标仪表板跳转到调试控制台变得更加容易。
但是关联如果不是因果关系,即使使用AIOps工具找到了两组指标之间的相关性,仍然需要对其进行验证,并决定将来是否要对它采取行动。或者,相关性可以帮助确定中断的原因。
一切都是为了更好地理解和管理设置的复杂性,然后集成自动化的帮助程序和操作。
5.使用开源的软件
这正是开源软件发挥重要作用的地方。在开源产品中,组织可以在任何级别读取代码并理解正在做什么。将其转换为运营领域,用户能够在软件堆栈的每一层公开指标并跟踪数据,并理解其含义。新一代数据中心建立在Kubernetes的基础上,Kubernetes大量使用了微服务和API驱动的软件部署流程。如今,监视API调用非常简单。从本质上来说,可观察性意味着可以随时以任何细节层次检查景观。使用一些数据科学工具可视化并指导浏览数据,可以帮助进行根本原因分析和故障排除。
现在,组织使用相同的范例来部署和管理自己的应用程序,将它们容器化,然后重新使用监视堆栈,可以检查和观察其应用程序堆栈。
因为使用了相同的工具,所以可以轻松地将平台和应用程序中的指标关联起来。 Prometheus已经成为该领域中的实际监控标准,并且本身是由API驱动的。而类似的项目(例如Loki和Jaeger),可以帮助进行日志和跟踪。
然后,组织可以使用诸如Open Data Hub或Kubeflow之类的Kubernetes本地数据科学平台来收集和分析所有数据。
对于IT团队而言,其好处是减少了摩擦并实现了深度集成,其标准是通过开源工具实施的。
6.数据至关重要
也许组织无法拥有足够的数据。但是如上所述,这些数据必须干净且易于理解。因此,组织可以收集自己的数据池并训练自己的人工智能模型,实际上,所有商业AIOps工具都需要这样做,因为没有内置的预先训练的智能。
但是,如果可以在公共数据上训练一些通用模型,然后将其用作训练自己的模型的基准,那该怎么办?没有人希望从头开始,而是希望获得更多的帮助。数据库应用程序很可能会为常见的工作负载和架构提供自己的模型。然后根据组织特定需求将学习内容转移到特定设置中。这将是一个开始,根据自己的需求进行区分。
例如在一个公共云项目中,平台和工作负载在社区中运行,而运营数据(例如度量、日志和票证)则在开放源代码许可下发布。这是为了使数据科学家能够创建开放和免费的模型。
如何开始采用AIOps
任何采用DevOps工作方式的IT领导者都知道,改变习惯需要不断的实践。对于采用AIOps思维方式的IT团队也是如此。可以从一个容易理解的问题开始做起,然后经历开发AIOps功能的演进周期,努力实现更多的人工智能辅助、人工智能增强,最后是人工智能自动化的IT运营。
文化的改变需要组织中的拥护者、赞助者和榜样。与其陷入对人工智能的宣传和炒作,不如先采用,理解基本原理,并解决问题。每一次革命性的创新都是从小事开始的。人们在未来可能会为思想开放的工程师、运营专家以及先进的平台和操作堆栈所能完成的工作感到惊讶。