什么是AIOps?IT领导者需要认识到与AIOps相关的常见误解,尤其是理解AIOps如何符合或不符合他们的业务目标。
如果你觉得DevOps难以理解,可以先了解AIOps。五年前,Gartner首次提出了这个术语,如今它的定义已经有所演变。利用通用算法来支持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构建,广泛采用微服务和API驱动的软件部署流程。如今,监控API调用变得更加简单。从本质上讲,可观察性意味着可以随时以任意细节层次检查整个系统。使用一些数据科学工具可视化和引导数据浏览,能够协助进行根本原因分析和故障排除。
现在,组织使用相同的模式来部署和管理应用程序,将其容器化并重用监控堆栈,以检查和观察其应用程序堆栈。
由于使用相同工具,平台与应用程序中的指标可以轻松关联。ProMetheus已成为该领域的实际监控标准,且本身是由API驱动的。类似的项目(例如Loki和JaegeR)可帮助处理日志和追踪。
接着,组织可以利用如Open Data Hub或Kubeflow这样的KubeRnetes本地数据科学平台来收集和分析所有数据。
对于IT团队而言,这减少了摩擦并实现了深度集成,而其标准则通过开源工具得以实现。
6. 数据至关重要
组织可能无法获得足够的数据,但如前所述,这些数据必须是干净且易于理解的。因此,组织可以建立自己的数据池,并训练自己的人工智能模型。实际上,所有商业AIOps工具都需要这样做,因为没有内置的预训练智能。
但如果可以在公共数据上训练一些通用模型,进而作为其模型训练的基准呢?没有人希望从零开始,而是希望获得更多的支持。数据库应用程序可能会为常见的工作负载和架构提供自己的模型,再根据组织的具体需求将学习内容迁移到特定配置中。这将是一个开始,帮助组织根据自身需求实现差异化。
例如,在一个公共云项目中,平台和工作负载在社区中运行,而运营数据(如度量、日志和工单)则在开源许可下发布,以便数据科学家创建开放和免费的模型。
如何开始采用AIOps
任何采用DevOps工作方式的IT领导者都知道,改变习惯需要持续的实践。对于采用AIOps思维的IT团队亦是如此。可以从一个易于理解的问题开始,然后经历开发AIOps功能的演进周期,逐步实现更多的人工智能辅助、增强与自动化IT运营。
文化变革需要组织内的倡导者、赞助人和榜样。与其被人工智能的宣传所迷惑,不如先尝试,理解基本原理,解决问题。每一次革命性创新都是从小处开始的。未来,人们可能会对那些开放思想的工程师、运营专家以及先进的平台和操作堆栈所能带来的成果感到惊讶。
