查看原文
其他

AIOps:从被动到主动,革新IT思维

常华Andy Andy730
2025-01-01

数字化领域正飞速发展,对IT提出了超越简单工具的变革要求。AIOps应运而生,它不仅是技术的一次升级,更是对IT运维方式的一次全新定义。

本次演讲将深入剖析AIOps,展现它如何作为一场革命,将AI的智慧融入IT思维和流程的基本框架。

核心内容:
  • 从开发到生产、从被动到主动:革新IT思维,摒弃“问题出现才处理”的旧观念,迎接AI主动分析风险、预测问题、提供解决方案,并持续学习的未来化方法。
  • 超越孤立的解决方案:倡导全面协作,AIOps推动跨部门、应用程序和基础架构的无缝融合,实现实时可视化和统一行动。
  • 自动化流程:从洞见到智能化行动,深入探讨自愈性IT领域,通过AI驱动的工作流程和自动化解决问题,优化性能,无需人工介入。
演讲嘉宾:
  • Pratik Gupta,CTO,IBM Automation
  • Michael Hoard,Intel

-----

下面的步骤,如今已经触手可及
  • 一位开发人员运用基于AI的代码生成技术,成功创建了一个微服务,并顺利检入了代码。

  • 自动化构建管道借助AI增强的SAST/SCA功能,精准识别出含有漏洞的软件包。

  • 基于AI的自动化管道将软件包升级至最新版本,并重新启动构建。由于新软件包中的API发生了变动,构建遗憾地失败了。

  • AI代码助手迅速介入,更新了代码并重新检入。

  • AI变化风险评估工具将其判定为高风险,并建议进行代码审查,同时利用CodeGen生成的自动化测试用例进行进一步测试。

  • 测试部署过程中,系统提示需要额外的内存资源。AI自动化调优功能立即响应,调配了额外的资源,确保代码得以顺利部署。

  • 开发者的可观察性平台敏锐地捕捉到了内存泄漏问题,并立即生成了预测性警报。

  • 开发者在编码助手的协助下,迅速修复了代码问题。

  • 自动化管道以更加坚定的信心,再次进行了重建、重新测试和部署。
结论
  • AIOps已经发展至AI无处不在的阶段
  • 工作角色间的界限正逐渐模糊
  • 为充分利用这些进步,我们需持续优化流程、消除孤立
  • 并在流程早期阶段运用问题避免和基于AI的根本原因分析
  • 从而实现服务交付(SLA)和平均故障修复时间(MTTR)的改善
参考资料
代码生成
https://huggingface.co/blog/starcoder
https://www.marktechpost.com/2024/03/14/top-artificial-intelligence-ai-tools-that-can-generate-code-to-help-programmers/

https://www.ibm.com/products/watsonx-code-assistant

基于AI的测试用例生成

https://read.engineerscodex.com/p/metas-new-llm-based-test-generator

基于AI的变更风险评估

https://www.sogeti.com/ai-for-qe/section-3-1-inform-measure/chapter-5/

SAST、DAST、SCA
https://www.mend.io/newsroom/mend-io-launches-mend-ai/
https://www.kiuwan.com/blog/ai-how-it-is-changing-application-security-testing/

https://aptori.dev/blog/dynamic-application-security-testing-the-advent-of-ai-driven-autonomous-testing

向左转移可观测性(Shift Left Observability)
https://stackoverflow.blog/2022/07/18/how-observability-is-redefining-the-roles-of-developers/

https://www.practical-devsecops.com/ai-in-devsecops

云成本优化
https://www.ibm.com/products/turbonomic

https://learn.g2.com/cloud-cost-optimization

自动修复
https://thenewstack.io/aiops-done-right-automating-remediation-and-resiliency/

https://www.redhat.com/en/technologies/management/ansible/ansible-lightspeed

-----

我在IT管理行业已经积累了20余年的丰富经验。见证了AIOps从最初被称为IT运营分析,到如今因AI的飞速发展而取得显著进步的整个过程。

什么是AIOps,它又是如何产生的呢?这实际上是一个关于如何更加稳定地提供IT服务的问题。意味着我们要借助AI的力量,满足服务水平协议的要求,减少停机时间,以及缩短恢复时间或解决方案的响应时间。传统上,它的功能是从运营中获取信息,然后运用AI,尝试以预测性或反应性的方式找到问题的解决方案。

让我们稍微回溯一下。是什么导致了这些停机事件呢?根据2022年IIC的一项调查,安全错误是最主要的原因,其次是人为错误,软件错误位居第三。我们可以看到,这些主题频繁出现。值得关注的是,第四个原因是复杂性,这也是我们讨论这个问题时不可忽视的重要因素。因此,这些因素导致了停机,而我们真正的目标是利用AI构建技术,尽可能预防这些问题或迅速解决它们。

“AIOps”这个术语,我认为是Gartner创造的。观察AIOps平台技术在炒作周期中的位置非常有趣。我相信在座的各位对此都非常熟悉,实际上它目前正处于失望的低谷。这不禁让人产生疑问,为什么这项技术拥有如此巨大的潜力,却会在“低谷期”呢?

其中一个原因是AIOps被视为ITOM或IT运营管理的一部分,这仅仅是整个IT管理和软件开发生命周期中的一个小而狭窄的环节。这就是为什么它没有达到预期成功的原因之一。

第二个原因是,人们往往将AIOps视为一种工具,但我们都知道,单独的工具是无法取得成功的。它们需要人员转型和过程转型,才能获得全面的优势。而AIOps正是其中之一,它需要人员和过程的转型。

第三个原因是,很多关注点都集中在检测问题和解决问题上,而不是预防问题。因此,它更倾向于一种反应性的方法。正如我们将看到的,利用AI变得更加积极主动至关重要。反应式方法无法带来预期的投资回报率。

最后一个原因是技术复杂性。AIOps通常需要建立一个包含所有数据源的数据平台,处理庞大的数据规模和所需的事件数量。此外,AI在这一领域的进展相对较慢,导致高误报率。

因此,让我们看看这一领域实际上正在发生什么变化。另一个关键点是缺陷的成本。使用AI尽早发现缺陷,成本越低,影响越小,停机时间或停机成本也越低。因此,这一点至关重要。从这里我们可以看出,将AIOps局限于纯粹的运营方面并不是一个明智的选择。因此,我们正在推动AI向左移动,正如我们将要讨论的那样。

大转变正在发生:传统的AIOps位于生命周期的右上方。而我们现在正面临着一个新兴的领域,即AI和ML在整个生命周期中向左移动,从规划、构建、测试、发布、部署,到运营。因此,今天我们将讨论整个生命周期,以及AI如何实际上影响所有这些领域,并通过这样做,我们将获得更高的价值和改进程度。

AI运维的旧定义,主要是指利用机器学习和分析来自动化IT运维的技术。然而,新的定义则更侧重于AI for IT是一套促进运营卓越和持续改进的过程。这是一个至关重要的环节,我们需要不断地完善技术和流程。这不仅仅是简单地在开发和IT中引入一个工具或一套技术,而是需要在我们的环境中实施这些技术,包括一套实用的工具和一套实践或最佳实践。更准确地说,我们要利用AI/ML来达成我们所追求的卓越可靠性成果。由于它涉及软件开发和运营的整个生命周期,因此必须在整个生命周期中的相关人员之间进行协同合作。

让我们来全面审视一下AI是如何应用于这个生命周期的各个方面的,从规划环节开始。如何为编写代码的人构建代码至关重要。在构建代码时,必须充分考虑到其运作方式。我们想要实现的一个目标是构建模块化服务。微服务的概念正在不断发展,有助于降低复杂性。如今,AI已经开始涉足代码编写领域,我们将讨论AI在代码生成方面的应用,以及它如何帮助你审查代码——是否模块化、是否安全,以及测试用例是什么。

AI介入的第二个领域是变更风险评估。当对代码进行修改时,无论是修复还是增强,我们需要评估这个修改的风险有多大。是否需要更全面的测试用例,还是只需进行少量修改并获得最小变更审批和最少测试?我们如何确定这一点呢?安全测试,包括静态测试和动态测试,都是我们需要考虑的因素。我们将讨论如何将安全因素融入整个生命周期的各个环节,以及如何利用AI来为安全性测试代码。此外,我们还将讨论向左偏移的可观察性。可观察性和监控工具正在不断扩展和拓宽,以测量管道以及除了操作方面之外的所有方面,并且它们能够提供预测性警报。

传统的动态调整和优化领域也迎来了新的变革。这意味着,当应用程序被部署到虚拟环境或云中时,现在有更多的分析和AI工具可供使用,能够动态地调整和重新定位工作负载。我们将深入探讨这一点,以确保它们得到精心调整以提供优质服务,减少因内存不足、存储不足或计算能力不足而收到的警报。这些情况不再是预测性处理和动态处理的难题。

接下来,我们将讨论事件警报和减少。大多数传统工具都集中在这一领域,它们允许你进行聚类和根本原因分析。然后,我们将探讨如何利用AI进行自动化纠正。

最近,大型语言模型成为了大家热议的话题。从ChatGPT的崛起,到许多其它模型的涌现,这些AI模型展现出了强大的能力,能够生成程序和代码。这些程序能够接收用户的提示输入,并据此编写代码。事实上,我们已经看到了一些出色的工具,如watsonx Code Assistant或StarCoder,它们取得了令人瞩目的成果。还有许多类似的工具,你只需提供一个定义或描述你希望模型编写的内容的提示,它就能够以你选择的语言编写代码。然后,你可以要求进行改进以进行迭代。因此,一系列大型实验正在进行中,我认为其中一些甚至已经投入生产。这些大型语言模型正在编写代码,而不再是初级程序员的工作。这种情况将会持续发展。

在这项生成性AI技术中,一个更值得关注的方面是,它不仅能够编写代码,还能同时生成文档和测试用例。你甚至可以训练它根据你公司的模块化标准编写更模块化的代码。你可以提供现有代码;如果有一名新程序员查看代码,它能够解释代码的功能。对于代码现代化,你可以提供遗留代码;它能够生成新代码。例如,有一种能力正在实验中,那就是将Cobalt代码转换为Java等效代码。此外,还包括了生成带有覆盖率分析的测试用例。因此,这种巨大的演变正在发生,它使你能够以更标准化的方式生成代码,这无疑带来了巨大的生产力提升,同时也使代码更加标准化和可测试,并且测试用例也会随之生成。因此,我们看到了生产力的提高,当生成代码时,我们所谈论的模块准确率在30%到80%之间。要使其完美适应更复杂的用例仍然需要一些努力,但对于大多数用例来说,它表现得非常出色。因此,在未来几年里,我们将见证编写代码的方式、质量以及如何利用其在生命周期早期阶段防止安全问题和基本编程问题方面的巨大演变。

让我们深入了解一下第二个重大变化,那就是构建、测试和经过变更批准委员会的变更过程。假设我们进行了一些代码修复,那么如何判断这个变更是否应该被检入呢?它需要哪些审批流程?是否需要进行特定的测试流程?目前,新的AI变更风险模块虽未正式成为产品,但正在逐步发展之中。许多公司正在构建服务代码,用以回顾过去在IT服务管理工具中出现的问题,从而确定哪些代码模块问题频发、事件多发。他们正将GitHub中的更改与关键或易出问题的模块相关联,并根据风险级别来路由这些更改。高风险的变更可能需要更多的审批、严格的测试和详尽的代码审查,而低风险的变更在不太关键的模块中则可通过更快的流程进行。了解变更的位置、模块化性质和关键性,可以让我们更智能地进行测试和变更风险评估,从而提高生产力,并在早期捕获错误。

接下来,我们谈谈第三个方面——安全测试。安全性已成为至关重要的因素,安全问题往往是导致停机的首要原因。安全测试的类型众多,但最为关键的三种包括静态应用程序安全性测试,它涉及代码扫描,以发现诸如缓冲区溢出、SQL注入和跨站脚本等漏洞;动态测试则是一种黑盒测试,需要对代码进行运行和测试;组合分析则关注代码中的模块。如今,AI正在被集成到众多工具中,使得测试更具上下文性,能够针对特定漏洞进行自定义查询,并进行API测试。像OWASP这样的工具提供了针对各种漏洞的黑盒测试,包括用于检测暴力攻击和自动化测试的AI,这在动态测试代码中发现漏洞方面取得了显著进展。

这些都是早期的技术,我们预见安全测试和左移观察性(Shift Left Observability)将会有显著的进展。现在,我们迎来了一个巨大的转变,观察工具正在关注CI/CD管道、测试环境和合规性。如果你看看主要的供应商,无论是Instana、Datadog还是Dynatrace,都在增加安全功能,即时合规性已成为解决方案的一部分。这非常重要,因为这些工具正在扩大其范围,处理完整的生命周期。你会看到这些工具添加了越来越多的功能。如今,大多数工具都在查看日志、跟踪和度量。就在几年前,它们还主要关注跟踪和度量。现在,大多数工具都在进行异常检测和预测日志记录,这得益于AI的应用,使得产品能够识别异常行为,因为它们已经学会了什么是正常行为。另一方面,开发环境和集成开发环境现在也在集成观察工具插件,这样编写代码的开发人员就可以使用插件查看代码在测试或开发中的实际运行情况,并开始将修复与性能相关联。这标志着一个全新领域的演变,称为开发者原生观察性,其中像VS Code等IDE工具已经配备了用于查看实际功能数据的插件。

对于DevOps团队来说,他们真正负责端到端的工作,这确实是他们所需要的,能够在必要时深入代码并观察操作代码。这已经非常成熟,商业产品正在实现这一点,这确实是高级工具正在转向的主要方向,只为让他们的生活更轻松,看到更全面的观察性视图。现在,我们可以查看管道,查看性能,一些工具甚至正在将应用程序正在运行的业务流程纳入其中,因此与企业的运行方式息息相关。还有一个概念是金融交易如何流经代码,因此如果某些交易未能进行,对金融交易的影响是什么?这些实际上正在拓宽领域,从业务影响到开发者方面,再到生产方面,了解一切。这个行业正在经历巨大的演变。

接下来是动态调整和优化,这是一个新领域,也被称为“云成本优化”,它搭起了FinOps和IT运营之间的桥梁。想象一下,你编写了一些代码,平台工程团队会问:“好的,你在云中运行这段代码需要多少资源?是一个大型计算机还是一个小型计算机?你需要多少内存?”很多时候,大多数人对此并不清楚。这项技术以及像Turbonomic这样的云优化工具正在做的事情,包括像亚马逊等厂商也在构建这些动态工具,它们可以在云中执行一个模块,并建议如何在这些弹性环境中更改内存或CPU,或者将这些工作负载放置在不同的虚拟机中,甚至更改堆大小。在右侧,你可以看到从这些工具中得到的建议,它们会说:“好的,你需要缩小虚拟内存,因为这不是一个需要大量内存的应用程序。”你可以看到选择SSD与HDD,将其放置在哪个群集上,因此在正确运行应用程序方面进行了非常高水平的优化。从运营的角度来看,考虑一下有多少警报是因为CPU用尽、内存用尽或存储空间不足而生成的。现在这些警报都由一些工具动态处理,并且在这一领域它们已经非常成熟。如果你在云中工作,购买预留实例,这实际上是以折扣价预先购买资源,作为对使用它们的承诺,这些都可以由这些工具处理,它们会表示:“根据工作负载,你应该保留购买这么多预留实例作为最优数量。”因此,这些工具可以实现巨大的财务优化和性能优化。这一领域也正在经历巨大的演变。

在监控和运营层面,传统的手段主要聚焦于事件管理和事件减少能力。这些工具已经服务了一段时间,但如今它们正在提升其进行重复消除或聚类的质量,以触及根本原因。大部分工具都能够确定导致警报或事件发生的基础设施,洞察其季节性特征,并据此调整正常运行范围。举个例子,当年度大型销售季节即将到来时,负载将大幅上升,资源利用率也将随之攀升。此时,工具能够在达到真正危机水平前抑制不必要的警报,通过理解应用程序的季节性行为,根据这些异常情况来压制事件,而不仅仅是检测根本原因。这些工具的性能正日益精进,行业中不乏从事件管理角度切入的佼佼者。它们的新进化在于通过追踪警报模式来洞察根本原因,这被称为图形分析。

从AI辅助的修复角度来看,大型语言模型和工具现在能够出色地生成代码。当前的趋势是,这些模型被用来查看潜在的问题工单,识别哪些Runbook最为接近,从而完成纠错工作,并针对特定情况修改Runbook。这一修改过程既可以由循环中的人员提供指导,也可以在某些情况下实现自动化。

实际上,已开启的问题事件描述正在被传递给大型语言模型,它会查看可能的Runbook,可能找到或找不到完全匹配的,但会寻找足够接近的以执行某些任务的Runbook。随后,某些工具能够基于这些信息生成Runbook。在此,我建议你关注一些正在进行的工作,比如Ansible Lightspeed这样的开源工具,它专注于获取Ansible代码,查看库文件,并自动生成用于自动化某些任务的Ansible代码。尽管目前仍处于早期阶段,但这种方式在AI辅助纠错方面拥有巨大的潜力。

放眼整个生命周期,AI的应用及其与工具的融合正深刻影响着人员和流程。跨界合作变得至关重要,职位角色逐渐融合。过去,开发人员、部署人员和IT操作人员的工作相对独立,但DevOps和SRE的出现彻底改变了这一格局。

如今,AI驱动的开发者可观察性平台正崭露头角,它使开发人员能够利用信息解决问题,而站点恢复工程师或站点可靠性工程师也能更快地利用这些信息进行服务恢复。这要求各部门间的紧密协作,模糊工作角色的界限。在我管理云团队时,开发人员曾在SRE的指导下工作,轮流参与,随后再回到开发岗位,这种角色互换正成为一种趋势。网络安全和AI正改变安全性的处理方式,安全运营人员现在已成为端到端开发和运营团队的一部分。这些角色的融合意味着,如果你过去拥有孤立的团队,现在应开始将它们整合,建立跨部门的技能,贯穿整个生命周期,从开发到生产再到安全。在工具层面,我们也看到共同平台的兴起,它们拉近了开发人员与运维人员的距离,并在其中融入了AI,增进了对流程的共同理解,使角色间的协作更为顺畅。因此,公司在构建团队、选择工具和平台以及整合流程方面正经历着巨大的变革。

关于前一页提到的Runbook问题,Runbook是一个存储脚本的库,用于解决一系列重复性问题。例如,你可能有一个Runbook用于重启应用程序、部署内容或重启服务器。这些任务经常被编码为脚本或应用程序,供操作人员快速执行以解决问题。这些脚本被称为Runbook,许多公司都拥有数百个。为了提高恢复速度,运营人员会查找现有脚本,以快速执行所需操作,因为这些脚本已经针对常见问题进行了编码。通常,我们发现大部分Runbook在90%至95%的准确率范围内,而需要手动调整的部分很少。现在,新兴技术使得AI能够处理剩余的变更,使运营人员能够更高效地运行这些脚本来解决问题。因此,Runbook实际上已成为运营的标准操作程序,用于在发生故障时快速恢复服务。

我们探讨了深度操作所涉及的一系列技术。同时,也讨论了跨界合作与人员协作的重要性。

接下来,让我们深入探讨一下自动化。自动化在构建弹性系统方面至关重要,它使系统在大多数情况下能够自动处理各项任务。自动化已成为大多数云运营团队的工作模式,每当遇到问题时,他们都会尝试编写自动化脚本,并保存下来,以便未来再次发生时能够自动处理,尽量减少人为干预。

自动化的起点是代码生成,即人们如何编写代码。我们也看到了功能安全测试方面的自动化。过去,人们需要手动运行安全和功能测试工具,但现在,测试用例和测试代码的生成已经自动化,成为开发和交付流程的一部分。代码审查测试也得以实施,其中AI负责审查代码,识别潜在风险。当然,像Jenkins等工具已经得到广泛应用,但在运营工具方面,自动调整资源、根据需求移动工作负载是自动化的另一个重要方面。

而AI的高级应用正逐渐渗透到数字助理领域。如果你还没见识过,我强烈推荐你查看一个名为“认知实验室”(Cognitive Assistance Laboratory)的资源,他们在此领域有所突破。IBM也推出了一些数字助理,这些AI实体或AI员工能够执行更为复杂的工作。比如有一个名为Deon的员工,他能够根据代码描述修复错误。这些AI助理能够深入代码,修复或执行特定的操作。这些工具实际上正在自动化代码投入生产的整个端到端过程。这对代码交付速度、代码质量与速度的关系等方面都产生了深远影响。

现在,让我们通过一个实例来具体说明这些技术的应用。假设开发人员使用基于AI的代码生成器创建了一个微服务,并检查了代码。随后,自动化构建管道被触发,安全测试也自动进行,并发现代码中包含了一个具有漏洞的包。在传统环境中,这可能会被忽视,但现在自动化管道能够识别问题,并自动升级到最新版本的包,重新运行构建。然而,构建可能会失败,原因可能是新包中的API发生了变化。但好消息是,AI代码助手现在能够更新代码,使其适应新的API。当然,这只是一个简单的例子,但它展示了AI在软件开发过程中的巨大潜力。

接下来,当你部署这个服务时,基于AI的调整工具会根据需求自动分配额外的内存资源。如果发现内存泄漏,新的开发者可观察性平台能够在系统崩溃前发出预警。通过这些预测性警报,开发人员可以在问题发生前修复代码。在数字助手的帮助下,修复后的代码会经过自动化管道进行构建、重启和部署,为你带来更高的信心。

在这个过程中,我们不禁要思考:有了更全面的AI应用,多少之前可能被忽略的潜在错误现在得以避免?如何确保问题在到达运营阶段之前就被发现并解决,而不是等到问题发生后才开始寻找根本原因?是代码的问题?还是内存或部署的问题?AI的应用能够帮助我们更准确地定位问题,从而更快地解决它们。

总的来说,如今AIOps已经广泛渗透到各个领域,成为无处不在的AI技术。从端到端的角度来看,技术持续进步,工作角色也逐渐融合,越来越多的企业开始将相关团队整合在一起,使员工承担起更广泛的端到端责任,而不仅仅是局限于某一特定职责。这一变革虽然会引发一些新问题,但也促使人们在工作方式上进行调整,以适应这种变化。特别是在云计算领域,以及越来越多希望将数据中心运营为私有云的公司中,这种趋势尤为明显,它们都在努力优化流程、消除隔阂。而这,与如何构建自动化体系息息相关。

如果你发现业务的某个特定区域频繁出现问题,那么就需要进行一些重启部署。关键在于如何自动化处理这些问题,以便在下次遇到类似情况时,能够自动运行相应的处理流程,而无需人工介入修复。如今,避免问题的出现已经成为根本原因分析的另一重要领域。我们需要思考如何在代码设计、安全测试或变更风险评估等生命周期的早期阶段,更早地检测到潜在问题,从而采取预防措施,避免问题的发生。这样,在运营过程中,剩下的就主要是那些真正难以预测的问题,如硬件故障或外部环境变化导致的意外情况。要使这些环境达到高度可靠,关键在于尽早发现问题,并尽可能利用AI工具来提高团队之间的协作效率,将其视为一个端到端的流程,而不仅仅是一个名为AIOps的工具那么简单。

-----

一个人应该如何开启他的AIOps之旅呢?

在这个领域中,涉及了众多细分领域、工具和任务。那么,你第一步应该做什么呢?我认为,首先要深入了解自己所处的环境,以及大部分问题和挑战的来源。你可以通过查看服务管理工具中的历史记录来做到这一点,比如分析过去六个月内,业务中哪个部分出现的问题最多。是不是因为安全测试不够充分,或者变更风险评估没有做到位?

确定问题主要集中在哪里之后,第二步就是深入研究那个领域,思考需要调整哪些流程来确保问题能更早被发现,从而避免被忽视。除了流程之外,还要考虑哪些工具能帮助你实时掌握情况。这始于明确你需要解决的具体小问题,不要一开始就试图解决整个大问题,因为它太庞大了。先找到一个影响显著的小领域作为突破口。然后,找到相应的流程变更方案,寻找专门为此设计的工具,实施这些工具,最后评估变化的效果,看看是否有所改进。

然后,再次回到起点,重新审视当前状况。如果某个领域的问题已经得到了有效解决,接下来就应该去解决哪个最关键的领域呢?因此,这将是一个不断迭代的过程。在每一步中,你都需要先明确问题所在,确定需要哪些流程变更,然后找到相应的工具来辅助流程变更。这就是我所建议的工作方法。仅仅因为某个工具被吹嘘得多么神奇就盲目购买,可能并不是明智之举,因为了解何时以及如何进行流程变更才是第一步。

AIOps的投资回报率是多少?

从端到端的生命周期来看,每家公司在避免问题上的成本都是不一样的。再者,即便你优化了流程,又如何确保问题真的被避免了?这确实是一个难以量化的领域。

如今,运营方面的数据越来越丰富,这些都与投入的时间息息相关。就拿开发者可观察性平台和早期发现问题的可观察性平台来说,数据显示,你至少能获得157%到160%的工具投资回报率。这个回报率的计算主要是看检测问题所需的时间,以及工具帮助解决问题所需的时间。这样,检测和解决问题的时间都会被纳入考虑,再加上停机的成本,你就能得到大约150%到160%的改进效果。

然而,由于AI技术的不断发展、工具性能的提升以及AI在各领域的广泛应用,停机成本正在逐渐降低,这使得相关数字发生了巨大的变化。因此,AI在这方面起到了至关重要的作用。但正因为衡量投资回报率涉及众多复杂因素,使得测量工作变得越来越难。

当公司的整体AI使用政策在AI的导入和应用方面依然相当严格时,如何确保你的AIOps目标与公司的整体AI使用政策保持一致?

这涉及到AI的治理问题。那么,AI的指导原则究竟是什么呢?例如,你可以利用哪些AI来审查你的代码?要解决这个问题,首先要明确你的生命周期的哪个环节需要这种AI能力。以代码生成为例,一个治理良好的公司会有完善的治理模型,你可以在其中应用AI,并得到生产公司的保障,即他们不会滥用你的数据。数据保障治理对于关键用途至关重要,现在正有越来越多的相关工具涌现。你可以选择这些公司和工具进行试用,并在你的整体企业AI指南中寻求批准。

这些工具正在工业界以非常严格的指南形式出现。在企业应用方面,我了解到一些公司已经有了关于数据赔偿和使用政策的规定,这些政策可以用于构建或测试代码。然而,在某些领域,这方面的发展还处于初级阶段;在某些领域,要找到符合政策的工具并不容易。但这类工具正在迅速涌现,我预计在2024年,你将会看到许多具有这些AI治理功能的工具,为你的数据安全保驾护航。因此,确保与这些政策保持一致是势在必行的,你应该努力使你的目标与这些政策相契合。

市场上最好的AIOps工具是什么,以及实施AIOps需要哪些编程和工具经验呢?

请留意,即便你查阅了演示文稿,也会发现没有哪个工具能适用于所有情况。每个生命周期的领域都有其适用的工具组合。我相信不会存在一个完全一体化的、能覆盖所有环节的工具集。每个领域都会有其领军者。比如,在安全领域,现在就有很多出色的工具。在这次网络研讨会上,我不会为任何特定的工具背书,这不是我的职责。但我相信市面上有足够的工具供你挑选,找到在某一领域中表现最好的工具或可观察性工具,还有那些最好的运维和事件管理工具。这些领域我已经在演示中按照设计划分了部分,每个部分都会有一组专门为此设计的工具。因此,你可以选择一个领域,进行谷歌搜索,并参考我在演示文稿中提供的资料,以便更深入地了解。我不会为任何工具背书,但在很多领域中确实涌现出了一些非常出色的工具。我会按照各个部分来挑选工具,而不是试图找一个能包揽所有工作的工具。遗憾的是,目前并没有一个工具能为你完成所有工作。

如何开启AIOps之旅呢?

这确实是一个值得深思的问题。在这个领域里,涉及的细分领域众多,工具琳琅满目,任务也是五花八门。那么,你首先要做些什么呢?我认为,第一步是要深入了解你所处的环境,并找出问题和困难主要集中的地方。你可以通过查阅服务管理工具的历史记录来实现这一点,比如,看看过去六个月,业务中哪个部分出现的问题最多。是不是因为安全测试不够充分,或者变更风险评估没有做到位?

确定了问题集中的区域后,第二步就是要仔细研究这个区域,思考需要调整哪些流程,以便在早期就能发现问题,避免它们被忽视。同时,随着流程的变化,你还需要考虑哪些工具能够帮助你更好地掌握实时情况。这要从确定需要修复的具体小问题开始,不要一开始就试图解决整个大问题,那太庞大了。先找到一个对业务影响显著的小领域作为突破口。然后,找到相应的流程变更方案,寻找专门为此设计的工具,实施这些工具,最后评估变化的效果,看看是否有所改进。

接下来,再回到起点,重新审视当前状况。如果某个领域的问题已经得到了有效解决,接下来就应该去解决哪个最关键的领域呢?因此,这将是一个不断迭代的过程。在每一步中,你都需要先明确问题所在,确定需要哪些流程变更,然后找到相应的工具来辅助流程变更。这就是我认为比较有效的工作方法。仅仅因为某个工具被吹嘘得多么神奇就盲目购买,可能并不是明智之举,因为了解何时以及如何进行流程变更才是真正的第一步。

DevOps工程师如何在AIOps领域进一步提升技能呢?

对于DevOps工程师来说,他们需要掌握的技能包括理解AIOps的概念、流程以及工具应用。这些都是非常具体且重要的技能点。

我们先从AIOps的概念说起。DevOps工程师需要了解,在现有的工作中,哪些环节可以运用AI来提高问题解决的效率。可能是根本原因分析,也可能是支持工单的快速解决。通过尝试这些技术,他们可以更好地理解AI在哪些领域能够发挥最大的作用。这并非通过一门课程就能学会,因为这类课程往往过于针对特定公司的情况。但你可以通过学习和实践来掌握这些技能。首先,要了解AI在这个领域能够做什么,我已经在幻灯片上为你列出了一些可能的应用场景。

接下来,你可以关注公司内部已经允许使用的技术,看看是否有适合构建AIOps的工具,或者公司已经购买的相关工具。在得到IT部门的同意后,你甚至可以安排演示来测试这些工具是否适合你的需求。因此,第二步是深入了解这些工具的功能和使用方法。如果你打算自己构建AI工具,那么就需要学习使用哪种模型、哪种编程语言(比如Python),以及需要哪些数据。这个过程需要你从基础理解开始,逐步掌握工具的使用,最终能够编写自己的技术来解决实际问题。虽然这对于初学者来说可能是一个挑战,但绝对是一个值得攀登的高峰。

我个人很喜欢利用市场上现有的AI工具来学习新知识。例如,你可以在浏览器中打开某个AI工具,然后提出你的问题,它会为你提供相关的学习资料和参考。所以,我建议你可以从学习这个领域的基础知识开始,然后掌握相关的工具和技术,逐步建立起自己的知识体系。

最后,关于现有的云成本优化工具,我可以给你推荐一些我认为非常优秀的工具。例如,我曾经用过的某个工具就非常不错,还有Cloudability也是一个很好的选择。在这个领域有很多这样的工具,你可以查阅相关的链接和资源。我甚至为你提供了一些参考资料,供正在寻找合适工具的人参考。请注意,这并不是对某个工具的推荐,而是提供一些用于学习和讨论AI应用的工具示例。比如,在安全领域,我们有Demisto和Turbonomic等工具,它们都利用AI进行优化。这些参考资料可以帮助你了解各个领域的最新技术和工具情况,也是学习新知识的好途径。

在实施AIOps的过程中,与工具相比,流程和人员的变革究竟有多重要呢?

我观察到的主要成功因素在于人们的心态调整和正在运行的流程优化。以前有位导师曾经说:“一个拿着工具的傻瓜仍然是个傻瓜”。他的意思是,我们不能仅仅通过给某人一个工具来解决所有问题。我们必须转变人们的思维方式,深入思考如何做出改变,从人员到流程,整个端到端的流程中都需要进行哪些调整。而工具,只是辅助我们实现这些目标的一个手段。

正确的做法应该是,首先让人们认识到问题的存在,接受需要进行的变革,然后再引入工具来协助他们进行转变。这才是你应该遵循的步骤,而不是简单地拿来一个工具,然后说:“好了,我要如何使用这个工具来解决问题呢?”正确的顺序应该是先确定问题,明确人们需要什么来解决问题,然后再看工具如何能够协助人们解决这些问题。



--【本文完】---

近期受欢迎的文章:

  1. MLPerf推理4.0结果揭晓,GenAI亮相;NVIDIA继续稳居榜首,保持主导地位

  2. VMware公司AI解决方案深度解析(PPT)

  3. 2024年技术趋势:塑造新格局的六大关键领域

  4. GigaOm主存储雷达报告(大型企业)v4.0

  5. 2024年HPC-AI领域预测:存储和数据管理、光学计算、容器、GenAI、Quantum



更多交流,可添加本人微信

(请附姓名/关注领域)

继续滑动看下一个
Andy730
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存