人工智能如何应对 DevOps 监控和可观测性挑战
自 ChatGPT 横空出世之后,AIGC 已成为不可逆转的时代浪潮。在之前的文章中,我们介绍了DevOps 领域中AI的用例,需要回顾可以点击下方链接。在本篇文章中,我将简单聊聊人工智能(AI)如何通过分析日志和指标来预测潜在的系统故障或性能下降,从而实现主动维护和问题解决。
持续监控和可观测性用例
CI 异常检测:人工智能可以分析历史数据,检测持续集成阶段的异常情况。在进入下一阶段之前,任何异常变更都会被标记为审查对象。像 IBM Watson Anomaly Detection 这样的工具可以通过使用人工智能来检测模式和异常,从而帮助识别这些异常。
代码质量保证:在开发阶段可以使用人工智能来分析代码以确保其质量,有助于减少错误和漏洞。DeepCode 和 Codota 等工具会使用 AI 来识别潜在问题,并根据学习的代码和解决方案数据库提出改进建议。
测试用例优化: AI 可以帮助优化持续集成(CI)中测试用例的选择。利用历史测试数据,人工智能可以确定哪些测试用例最有可能发现新缺陷。Testim.io 等工具可以根据风险和变更影响使用人工智能来确定测试的优先级,从而帮助实现这一目标。
CD 中的预测分析:AI 可以分析历史部署数据并预测持续交付 (CD) 期间的潜在问题。这可以帮助先发制人地解决问题,减少停机时间。Splunk 等工具使用人工智能和机器学习来为运营数据提供预测分析。
自动回滚:在持续部署的情况下,AI 可用于自动回滚导致问题的部署。Harness 等工具使用机器学习来了解典型的应用程序行为,如果检测到异常,则会自动恢复到最后的稳定状态。
基础设施优化: AI 可帮助优化云环境中的资源使用。CAST.AI 和 Turbonomic 等工具可以利用人工智能持续优化基础架构,确保在降低成本的同时提高性能。
事件管理:AI 帮助实现从检测到解决的事件管理流程自动化。BigPanda 和 Moogsoft AIOps 等工具使用人工智能来汇总、关联和分析来自不同来源的警报,从而减少噪音并加快事件解决速度。
日志分析:人工智能可以分析日志,找出人类难以发现的模式。Logz.io 等工具利用人工智能对日志数据进行认知洞察,从而提供对数据的更深入理解。
安全威胁检测:人工智能可以分析模式,更有效地检测安全威胁。Darktrace 等工具利用机器学习来实时检测异常行为,从而在潜在威胁造成破坏之前将其检测出来。
网络监控:人工智能可以通过分析流量模式预测网络中断。Kentik 等工具利用人工智能在影响用户之前主动识别潜在的网络问题。
将持续监控转变为使用人工智能时的挑战
以下是企业在过渡现有 CI/CD 流水线以将人工智能纳入持续监控和可观察性时可能面临的一些挑战,以及可能的解决方案:
数据质量和可用性:人工智能工程工具的有效性在很大程度上取决于所提供数据的质量和数量。数据不足或质量不佳会导致洞察力或预测不准确。实施有效的数据治理和管理实践可确保数据的质量和可访问性。数据应彻底清理并适当标注,以方便人工智能模型的训练。
技术差距:采用人工智能工程工具需要现有 IT 团队可能不具备的新技能。他们可能不了解如何有效地使用这些工具。为您的 DevOps 团队提供全面培训,弥补技术差距,还可以考虑聘请 AI 专家或与经验丰富的供应商合作,帮助实施和管理人工智能工具。
变革阻力:与任何重大转型一样,变革阻力也可能是一个巨大障碍。员工可能会担心工作保障或认为难以适应新工具。无论是在组织层面还是个人层面,都要清晰透明地宣传人工智能转型的好处。确保员工认识到,人工智能是用来帮助他们的,而不是取代他们。组织研讨会和培训课程,帮助员工轻松过渡。
与现有系统集成:人工智能工具需要与现有的 DevOps 工具和工作流程无缝集成,以确保在不影响运营的情况下增加价值。选择与现有基础设施兼容的人工智能工具,或考虑实施集成中间件。进行概念验证(PoC),确保新的人工智能工具顺利集成。
实施成本:部署人工智能工具可能需要大量的前期投资,包括工具本身和必要的基础设施升级。进行全面的成本效益分析,以了解人工智能工具所能带来的投资回报(ROI)。考虑从低成本或开源工具开始,或使用基于云的人工智能服务,以减少对基础设施的初始投资。
总 结
随着 DevOps 世界的发展,人工智能在监控和可观测性方面的整合变得越来越重要。无论是在持续集成、持续交付或持续部署阶段,还是在应用程序、基础设施和流水线阶段,人工智能都能带来非凡的效益。从 CI 中的异常检测、代码质量保证和测试用例优化到 CD 中的预测分析,人工智能可以改变您的运维,提供更快速、更可靠的结果。
然而,向人工智能优化的 DevOps 环境过渡并非没有挑战。必须考虑并解决数据质量、技能差距、变革阻力、系统集成和成本影响等问题。但不用担心,解决方案就在眼前。通过有效的数据治理、全面的培训、透明的沟通、明智的工具选择和彻底的成本效益分析,您可以应对这些挑战,并在 DevOps 之旅中收获人工智能带来的回报。准备好迎接 AI 驱动的 DevOps 的未来了吗?现在就开始探索各种可能吧。
参考链接:
https://devops.com/how-ai-addresses-devops-monitoring-and-observability-challenges/
人工智能如何应对 DevOps 监控和可观测性挑战的更多相关文章
- DevOps专题 |监控,可观测性与数据存储
对于DevOps而言,监控是其中重要的一环,上一次的专题内容中,我们与大家分享了大型企业级监控系统的设计.今天我们将和大家从另一个角度进一步探讨互联网工程技术领域的监控设计(monitoring):系 ...
- DevOps - 监控告警 - Zabbix
官网3.4版本中文文档 Zabbix documentation in Chinese [Zabbix Documentation 3.4] https://www.zabbix.com/docume ...
- 一图看懂华为云DevCloud如何应对敏捷开发的测试挑战
作为敏捷开发中测试团队的一员,在微服务测试过程中,你是不是也遇到同样困惑:服务不具备独立验证能力.自动化用例开发效率很低等? 华为云DevCloud API全场景测试技术来支招~围绕API的全场景,打 ...
- 人工智能是如何改变IT运维和DevOps的?
要解决IT运维和DevOps团队面对的挑战,就是能够在大量的日志数据流中识别潜在的小的有害问题,这正是认知洞察力所做的事情. 接下来的几年里,DevOps(开发软件工程.技术运营和质量保障三者的交集) ...
- DevOps是云计算时代的开发与运营
DevOps(英文Development和Operations的组合)是一组过程.方法与系统的统称,用于促进开发(应用程序/软件工程).技术运营和质量保障(QA)部门之间的沟通.协作与整合.[1] 它 ...
- DevOps,你真的了解吗?
与大数据和PRISM(NSA的监控项目之一),DevOps(开发运维)如今是科技人士挂在嘴边的热词,但遗憾的是,类似圣经,每个人都引用DevOps的只言片语,但真正理解并能执行的人极少.根据CA的一项 ...
- vivo 服务端监控体系建设实践
作者:vivo 互联网服务器团队- Chen Ningning 本文根据"2022 vivo开发者大会"现场演讲内容整理而成. 经过几年的平台建设,vivo监控平台产品矩阵日趋完善 ...
- IoT与区块链的机遇与挑战
区块链, 分布式账本技术的一种形式, 自从2014年或多或少地获得了大量的关注: 区块链和物联网, 区块链和安全, 区块链和金融, 区块链和物流, 凡是你能想到的,仿佛都可以应用区块链. 在本文中, ...
- [转帖]开源的监控技术栈除了ELK,还有InfluxData的TICK
开源的监控技术栈除了ELK,还有InfluxData的TICK https://cloud.tencent.com/developer/news/357119 来源 | Influxdata 译者 ...
- 数字化转型:敏捷和DevOps如何降低风险,提高速度
进行数字化转型就意味着团队需要应对经常发生冲突的挑战--例如,要应对在复杂的相互依赖环境中快速变化的需求.对软件开发人员来说,这是一个熟悉的困境. 如果使用传统的瀑布方法来应对这些挑战,就会发现,在线 ...
随机推荐
- Redis主从和哨兵搭建
今天主要分享Redis主从架构和哨兵的搭建. 主从集群搭建 总共三个节点,一个主节点和两个从节点.都安装在一台机器上模拟主从集群,信息如下: IP PORT 角色 192.168.246.140 70 ...
- JUC并发编程原理精讲(源码分析)
1. JUC前言知识 JUC即 java.util.concurrent 涉及三个包: java.util.concurrent java.util.concurrent.atomic java.ut ...
- EasyExcel自适应列宽
import com.alibaba.excel.enums.CellDataTypeEnum; import com.alibaba.excel.metadata.Head; import com. ...
- 这个字段我明明传了呀,为什么收不到 - Spring 中首字母小写,第二个字母大写造成的参数问题
问题现象 vSwitchId.uShape.iPhone... 这类字段名,有什么特点?很容易看出来吧,首字母小写,第二个字母大写.它们看起来确实是符合 Java 中对字段所推崇的"小驼峰命 ...
- 2022-06-17:给定一个数组arr,含有n个数字,可能有正、有负、有0, 给定一个正数k。 返回所有子序列中,累加和最大的前k个子序列累加和。 假设K不大,怎么算最快? 来自Amazon。
2022-06-17:给定一个数组arr,含有n个数字,可能有正.有负.有0, 给定一个正数k. 返回所有子序列中,累加和最大的前k个子序列累加和. 假设K不大,怎么算最快? 来自Amazon. 答案 ...
- JavaWeb概念
1 基本概念 1.1 前言 web开发: web,网页的意思,类如:www.baidu.com 静态web: html,css 提供给所有人看到的数据始终不会改变! 动态web: 几乎所有的网站:类如 ...
- Vue cli3 整合SuperMap巧遇js异步加载的坑
最近使用到superMap做三维地图,而项目又分为可视化大屏与后台管理系统两部分,所以项目配置了多入口,然引入cesium依赖就成了问题,在vue cli3 整合Cesium,处理build 时内存溢 ...
- STM32H5移植zbar记录
ZBar是一种流行的二维码扫描和解码工具,它在嵌入式系统中拥有广泛的应用.在嵌入式系统中,我们面临着有限的资源和更严格的性能要求,因此,选择适当的库来完成特定的任务非常重要. ZBar适用于各种嵌入式 ...
- 【python基础】编写/运行hello world项目
1.编写hello world项目 编程界每种语言的第一个程序往往都是输出hello world.因此我们来看看,如何用Python输出hello world. 1.如果你是初学者,main.py中的 ...
- Java中序列化和反序列化解释
在Java中,序列化(Serialization)是指将对象的状态转换为字节流的过程,以便将其保存到文件.在网络中传输或持久化到数据库中.而反序列化(Deserialization)则是将字节流转换回 ...