人工智能和机器学习如何改变DevOps

简介: 人工智能和机器学习为DevOps带来了新的自动化功能,为此需要对这些技术如何优化组织运营的示例进行了解。

DevOps工程旨在加速软件开发流程,从而在不影响代码质量的情况下更快地为客户提供价值。


在过去的十年中,传统的DevOps已经有了长足的进步,现在允许许多组织实施持续集成(CI)/持续部署(CD)管道。但是,在大多数情况下,组织仍然依靠人工流程和人工驱动的自动化流程的组合,并没有进行优化。


人工智能和机器学习在DevOps的应用


在DevOps领域也见证了人工智能和机器学习技术的兴起。这些工具正在成为融合到传统DevOps工具堆栈中的有力候选者。从决策流程改进到自动化操作和代码质量增强,在人工智能和机器学习的帮助下,DevOps的未来发展充满希望。以下是七个值得关注的趋势和变化:


(1)代码审查实现自动化


在软件开发的早期阶段,从编码本身开始,人工智能和机器学习工具就已经能够基于思想数据集(机器学习和响应的机器学习算法的输入)执行自动代码审查和代码分析。这些有助于减少人类的参与。


此外,使用代码管理和协作工具,用户可以自动将审查的工作量分散到团队成员中。其最终的结果是能够更早地检测到代码缺陷、安全问题和与代码相关的缺陷,这些缺陷都是这些算法能够轻松发现的。这些工具还可以减少代码审查中的噪声。除了检测缺陷之外,自动代码审查还强制执行编码和安全标准。


(2)代码分析工具实现自动化


由人工智能和机器学习支持的智能工具(例如代码分析和改进)可以从数百万行代码的存储库中学习。然后,这些工具可以了解代码的意图,并记录开发人员所做的更改。在那里,这些智能工具可以为他们分析的每一行代码提供建议。


还有一些开发人员则采用不同的方法来分析代码。在分析了来自开源项目的数百万条代码之后,由机器学习工具提供支持的代码着重于性能,并帮助找到可能导致重大损失的代码行,这些代码会损害应用程序的响应时间。这些工具可以在代码中发现问题,例如资源泄漏、潜在的并发竞争条件以及浪费的CPU周期,并且它们还可以在代码审查阶段和应用程序性能监视阶段与持续集成(CI)/持续部署(CD)管道集成。


在同一类别下,对新功能进行编码后,开发人员开始研究由人工智能和机器学习驱动的自动化单元测试创建。这可以为开发人员节省大约20%的时间。


(3)自我修复测试


构建后验收和集成编码的下一个阶段是功能和非功能测试。在这里,使用人工智能和机器学习进行代码创建以及自我修复测试代码和维护在DevOps领域已成为现实。


测试自动化可能是一个巨大的瓶颈,并且通常是项目延迟的原因。不可靠的自动化会影响测试过程。而测试自动化不可靠的根本原因之一是测试中的应用程序和测试中使用的元素的不断更改。智能技术可以帮助识别这些变化并调整测试,使其更加稳定可靠。


(4)低代码/无代码工具


此外,创建健壮的测试代码的技能的成本很昂贵,而且并非总是可用,特别是对于移动应用和Web等数字应用程序而言。在这里,通过学习应用程序流程、屏幕和元素,人工智能和机器学习测试工具可以自动生成测试,而几乎不需要代码。这些工具可以在每次测试运行之间自我修复。


低代码或无代码工具允许更多的团队成员参与测试自动化创建活动。它们还为开发者腾出时间专注于更重要紧迫的活动,例如创建新功能。


(5)机器人流程自动化


机器人过程自动化(RPA)是使用人工智能和机器学习进行测试的自动化的另一层。这样的技术可以用于自动化大型组织中的大量采用人工、耗时、易出错,以及难以自动化的流程。


(6)测试影响分析工具


在测试执行完成后,人工智能和机器学习测试影响分析(TIA)工具将处于适当位置,可以指导决策者将哪些测试继续进行到下一个版本,哪些领域不涉及其他内容。在相同的测试类别下,人工智能和机器学习算法可以根据思想测试数据确定故障的根本原因,并节省大量的平均解决时间(MTTR)。


(7) AIOps


在DevOps流程的后期,在将代码部署到生产之前和之后,人工智能和机器学习引领了AIOps中的新兴技术。良好的AIOps解决方案不仅涵盖智能应用程序性能监视(APM),而且还利用了IT基础设施管理(ITIM)和IT服务管理(ITSM)。这些共同构成了生产和运营洞察力分析的综合层,可以在大数据上运行,并且可以针对先进的现代软件架构(微服务和云平台等)运行。


借助基于人工智能的操作功能,组织团队可以专注于确定其应用程序的服务运行状况,并获得对其生产数据的控制和可视性。这样,DevOps团队可以使用实时自动事件管理来加快其平均解决时间(MTTR)。在这里,人工智能和机器学习在生产中的应用程序内的日志可观察性、趋势和预测等方面可以做更多的工作。


使用AIOps产品组合中的此类工具,团队可以减少并经常防止服务停机(预测性警报)。他们还可以加快支持故障解决的速度,更快地分析大型日志文件,并找出根本原因和类别(安全性、网络、服务器等)。


结语


尽管DevOps和人类工程学永远不会消失,但它们肯定可以使用一些帮助来优化和加速那些难以自动化和维护的单调、易出错的活动。


人工智能和机器学习是应对这些挑战的绝佳解决方案,并且通过对每个组织的问题进行适当的分析,决策者可以从这些工具中获得巨大价值。而只有在将这些解决方案与现有流程和工具无缝集成的情况下,才能获得成功。如果人工智能和机器学习无法轻松地集成到标准DevOps工具堆栈中,则项目将无法实现价值,并最终恢复到传统的软件开发实践。

相关文章
|
7月前
|
机器学习/深度学习 人工智能 供应链
从概念到商业价值:AI、机器学习与深度学习全景指南
在这个科技飞速发展的时代🚀,人工智能正以惊人的速度渗透到我们的生活和工作中👀。但面对铺天盖地的AI术语和概念,很多人感到困惑不已😣。"AI"、"机器学习"、"深度学习"和"神经网络"到底有什么区别?它们如何相互关联?如何利用这些技术提升工作效率和创造价值?
|
5月前
|
机器学习/深度学习 人工智能 监控
AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程
本系列文章深入讲解了从Seq2Seq、RNN到Transformer,再到GPT模型的关键技术原理与实现细节,帮助读者全面掌握Transformer及其在NLP中的应用。同时,通过一个房价预测的完整案例,介绍了算法工程师如何利用数据训练模型并解决实际问题,涵盖需求分析、数据收集、模型训练与部署等全流程。文章适合初学者和开发者学习AI基础与实战技能。
754 25
AI 基础知识从0.1到0.2——用“房价预测”入门机器学习全流程
|
5月前
|
机器学习/深度学习 人工智能 运维
阿里云PAI人工智能平台介绍、优势及收费标准,手动整理
阿里云人工智能平台PAI是面向开发者和企业的机器学习与深度学习工程平台,提供数据标注、模型构建、训练、部署及推理优化等全链路服务。内置140+优化算法,支持PyTorch、TensorFlow等多种框架,具备高性能训练与推理能力,适用于自动驾驶、金融风控、智能推荐、智慧医疗等多个行业场景。PAI提供零代码开发、可视化建模、大模型一键部署等功能,助力企业快速构建AI应用。支持多种购买方式,如按量付费、预付费等,满足不同业务需求。
|
6月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL消息传递接口的PyG替换
DGL (Deep Graph Learning) 和 PyG (Pytorch Geometric) 是两个主流的图神经网络库,它们在API设计和底层实现上有一定差异,在不同场景下,研究人员会使用不同的依赖库,昇腾NPU对PyG图机器学习库的支持亲和度更高,因此有些时候需要做DGL接口的PyG替换。
|
7月前
|
数据可视化 Rust 机器学习/深度学习
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
mlop.ai 是首个为国区用户优化的机器学习工具,全栈免费开源,是主流付费解决方案 ClearML/WandB 的开源平替。常规实验追踪的工具经常大幅人为降速,mlop因为底层为Rust代码,能轻松支持高频数据写入。如需更多开发者帮助或企业支持,敬请联系cn@mlop.ai
416 12
mlop.ai 无脑使用教程 (机器学习工具 WandB/ClearML 的首个国区开源平替)
|
6月前
|
机器学习/深度学习 PyTorch API
昇腾AI4S图机器学习:DGL图构建接口的PyG替换
本文探讨了在图神经网络中将DGL接口替换为PyG实现的方法,重点以RFdiffusion蛋白质设计模型中的SE3Transformer为例。SE3Transformer通过SE(3)等变性提取三维几何特征,其图构建部分依赖DGL接口。文章详细介绍了两个关键函数的替换:`make_full_graph` 和 `make_topk_graph`。前者构建完全连接图,后者生成k近邻图。通过PyG的高效实现(如`knn_graph`),我们简化了图结构创建过程,并调整边特征处理逻辑以兼容不同框架,从而更好地支持昇腾NPU等硬件环境。此方法为跨库迁移提供了实用参考。
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
333 6
|
10月前
|
机器学习/深度学习 人工智能 自然语言处理
Java+机器学习基础:打造AI学习基础
随着人工智能(AI)技术的飞速发展,越来越多的开发者开始探索如何将AI技术应用到实际业务场景中。Java作为一种强大的编程语言,不仅在企业级应用开发中占据重要地位,在AI领域也展现出了巨大的潜力。本文将通过模拟一个AI应用,从背景历史、业务场景、优缺点、底层原理等方面,介绍如何使用Java结合机器学习技术来打造一个AI学习的基础Demo。
513 18
|
10月前
|
机器学习/深度学习 数据采集 人工智能
容器化机器学习流水线:构建可复用的AI工作流
本文介绍了如何构建容器化的机器学习流水线,以提高AI模型开发和部署的效率与可重复性。首先,我们探讨了机器学习流水线的概念及其优势,包括自动化任务、确保一致性、简化协作和实现CI/CD。接着,详细说明了使用Kubeflow Pipelines在Kubernetes上构建流水线的步骤,涵盖安装、定义流水线、构建组件镜像及上传运行。容器化流水线不仅提升了环境一致性和可移植性,还通过资源隔离和扩展性支持更大规模的数据处理。