人工智能驱动 DevOps 工具:加速软件开发全生命周期,缩短周期时间 20% - 40%
借助人工智能工具加速软件开发全生命周期流程
如果软件开发团队的最高目标是尽可能快速、高效且安全地将高质量产品推向市场,那么部署人工智能驱动的 DevOps 工具或许是实现这一目标的途径。人工智能工具能够通过自动化复杂且重复的任务,加速软件交付、提升系统可靠性并降低运营成本。它们能让开发、运维和安全人员更快地解决事件、主动检测异常、优化云资源管理,最终加速整个开发生命周期的流程。
人工智能与 DevOps 是否完美契合?
从很多方面来看,人工智能和 DevOps 似乎是天生的一对。团队能为软件开发流程增添的任何自动化功能都是有益的。研究公司 Gartner 的管理合伙人 Jackie Swanson 表示:“目前,我合作的大多数企业团队已经不再停留在实验阶段,人工智能已成为日常工作流程的一部分。对大多数团队而言,切入点是人工智能辅助编码。像 GitHub Copilot 和 Amazon Q Developer 这样的工具随处可见,它们能帮助开发人员快速完成样板代码、更快地编写单元测试,以及搭建基础设施即代码(Infrastructure - as - Code)。”
不过,Swanson 指出,更有趣的转变发生在后续环节。“团队正逐渐采用 AIOps 平台,以实现更智能的监控、异常检测和事件分类,这些工作过去常常会耗费工程师每周数小时的时间。如今真正的趋势是,从采用单个的人工智能单点解决方案,转变为将人工智能视为贯穿整个交付链的一层。”
Swanson 称,使用人工智能辅助编码和自动测试生成的团队能将周期时间缩短 20% 至 40%。他们还能更高效地解决事件,人工智能平台可以关联警报、标记可能的根本原因并提供修复建议。这意味着“值班工程师无需在夜间查看仪表盘”,Swanson 说,“解决问题的平均时间缩短了,人员倦怠情况也有所改善。”
此外,开发人员花在重复工作上的时间减少了,而更多地投入到推动业务发展的工作中,如架构决策、面向客户的功能开发和问题解决。拥有超过二十年独立软件开发经验,曾为花旗集团全球交易平台构建前端,为索尼音乐出版公司和思科等进行企业堆栈现代化改造的 Sonu Kapoor 表示:“我看到人工智能被用作贯穿 DevOps 工作流程的一层,而非单一工具。团队将其用于代码辅助、CI/CD 支持、日志和遥测分析、事件调查和安全分类。实际上,这意味着工程师可以使用人工智能解释构建失败的原因、总结警报信息、更快地调查生产问题,并减少在不同工具之间切换的时间。”
Kapoor 认为,特别值得关注的是,人工智能正逐渐融入实际的工程流程。“它不仅仅是生成文本,还能帮助解读信号,并针对代码、基础设施和运营提出下一步建议。”他说,这一趋势最大的好处是减少了摩擦。“人工智能缩短了从信号到行动的路径,体现在更快的入职培训、更迅速的事件调查、减少编写重复代码的时间,以及更好地解读日志和指标。当工具基于实际环境(代码库、基础设施和遥测数据)时,它才具有真正的意义。否则,它只是给出看似合理的答案。”
Kapoor 表示,这同样适用于安全工作流程。“如果一个工具无法将检测结果转化为可操作的建议,那么无论其底层人工智能多么先进,其价值都会迅速降低。”
能否简化工程工作流程?
工程和建筑公司 MasTec 的高级人工智能系统工程师 Sid Vangala 表示,人工智能工具正逐渐成为日常工作流程的一部分,但并非以一种引人注目的方式。“根据我在生产后端和人工智能平台方面的工作经验,这种采用是渐进且非常实用的。在开发方面,像 GitHub Copilot 这样的工具在脚本编写、基础设施配置编写和加速重复任务方面应用广泛,尤其是在处理 Python 服务、API 或 Docker 配置时。这并非是让工具编写整个系统,而是减少日常工作的阻碍。”
从运维角度来看,MasTec 依靠基于 Azure 的监控工具和人工智能辅助的可观测性功能来分析日志和性能指标。“这些工具能比人工更早地发现异常或性能瓶颈。实际上,DevOps 中的人工智能工具并非单纯为了自动化,而是为了让工程师更快地了解系统行为。”
Vangala 认为最大的好处是更快的故障排除。“在分布式系统出现问题时,通常困难的不是修复问题,而是找出问题的根源。人工智能辅助的日志分析和异常检测工具能比人工检查更快地缩小可能的根本原因范围。”另一个显著的好处是减少了在重复工程任务上花费的时间。“编写脚本、设置环境或生成 API 文档模板过去需要大量时间,有了人工智能辅助工具,这些任务变得更快,让工程师有更多时间专注于架构和可靠性。”
商业管理平台 MyManager 的首席执行官 Clinton Oh 表示,该平台逐步将人工智能引入开发工作流程,以提高工程生产力并简化日常开发任务。“在整个团队中,人工智能主要用于加速代码编写、减少重复的实现工作、协助调试和解决问题,并支持开发人员在实现过程中探索不同的方法。”这种方法有助于规范公司在开发中使用人工智能的方式,让工程师在保持对系统设计和技术决策完全控制的同时,加快工作速度。“总体而言,人工智能在我们的开发过程中起到了提高生产力的作用,能够更高效地执行任务,同时不会取代核心工程判断。”
如何评估人工智能驱动的 DevOps 工具?
在评估用于 DevOps 的人工智能工具时,最重要的考虑因素之一是上下文感知。Kapoor 表示:“工具需要了解你的实际环境,包括代码、管道、基础设施和遥测数据。”这还包括能够融入现有的工作流程。“最好的工具能集成到工程师现有的工作环境中,”Kapoor 说,包括集成开发环境(IDE)、CI/CD 和可观测性平台。
Vangala 说:“当我们评估用于 DevOps 的人工智能工具时,第一个问题总是:它是否能融入我们现有的工作方式?如果一个工具需要进行重大的架构更改才能采用,那通常是个危险信号。最好的工具能无缝集成到现有的 CI/CD 管道、日志系统和云环境中。”
Swanson 表示,无论供应商的产品演示多么令人印象深刻,“如果它迫使工程师改变工作方式,那么推广就会停滞。”Vangala 还密切关注工具的透明度。“如果一个人工智能系统建议采取某项行动,工程师需要理解其原因。在生产环境中,盲目自动化是有风险的。”
可操作性也是需要探索的方面。“工具只是总结问题,还是会给出下一步的建议?”Kapoor 说,“我在使用命令行界面(CLI)工具进行依赖漏洞扫描的工作中,一直在直接探索这个问题。”Kapoor 发现的一个问题是,工具会显示常见的漏洞和暴露(CVEs),“但不会明确指导开发人员首先修复哪些问题。我采取的方法是区分直接和间接问题,并提供具体的修复路径,而不仅仅是一份报告。”同样的原则也适用于 DevOps 中的人工智能。“如果输出不能减少不确定性或帮助你采取行动,那么它就没有解决实际问题。”
整体安全性也是一个关键因素,包括验证工具是否采取了必要的预防措施以防止数据泄露。Kapoor 说:“工程师必须验证人工智能的建议,特别是在生产或安全环境中。”Vangala 表示:“许多 DevOps 工具会与敏感的基础设施数据(如日志、配置和部署管道)交互,因此治理和数据处理政策与技术能力同样重要。但说实话,最大的考验是工具在故障场景下的表现。工具在正常运行时看起来总是很好,真正的评估是在出现问题时进行的。”
有哪些热门的 DevOps 人工智能工具?
人工智能驱动的 DevOps 工具形式多样,涵盖了软件开发全生命周期的各种任务。以下列出的八种工具只是大量且不断增长的人工智能辅助开发、软件测试、安全扫描、基础设施自动化、CI/CD、监控和可观测性、云优化、事件响应等工具中的一小部分。
- **Amazon Q Developer**:这是一款人工智能驱动的编码助手,它结合了代码补全、代码生成、代码解释功能,还有一个能在软件开发全生命周期中自主执行一系列任务的代理。你还可以与 Amazon Q Developer 交流 AWS 的功能,让它审查你的资源、分析账单或设计解决方案。它了解 AWS 的良好架构模式、文档和解决方案实现。
- **Azure Monitor**:这是微软提供的全面可观测性服务,它收集、分析云环境和本地环境的遥测数据并采取相应行动,以最大化应用程序和基础设施的性能。它能自动监控 Azure 资源的指标和日志,提供对虚拟机、容器和数据库的深入洞察,主要功能包括警报、仪表盘和自动故障排除。
- **Datadog Bits AI**:这是集成在 Datadog 平台中的生成式人工智能驱动的 DevOps 副驾驶,旨在自动化事件调查、安全分类和修复工作流程。它就像一个“智能队友”,通过分析日志、指标和跟踪信息来协助工程师,提供代码修复建议,并可通过网页应用或 Slack 进行聊天交互。
- **GitHub Copilot**:这是一款人工智能编码助手,能帮助开发人员更快速、轻松地编写代码。它在代码编辑器(如 VS Code、Visual Studio 和 JetBrains)中直接提供实时的、上下文感知的代码建议,范围从单行代码到整个函数。该工具支持 OpenAI、Anthropic 和 Google 模型。企业可以通过企业账户为开发团队获取 Copilot Business。
- **Google Gemini Cloud Assist**:这是集成在 Google Cloud 中的人工智能协作工具,旨在帮助团队从被动的故障排除转向主动的、自主的云运营。这个多代理系统可以通过为云工作负载的设计、部署、故障排除和优化提供智能指导,简化端到端的应用程序生命周期。
- **Harness AI**:这是一个原生人工智能的软件交付平台,它使用专门的人工智能代理自动化 DevOps、测试、安全和云成本管理,从而加速开发。它通过为持续交付和事件管理提供智能的上下文洞察,实现更快、更安全的软件发布,减少开发人员的手动工作。
- **IBM Cloud Pak for Watson AIOps**:这是一个由人工智能驱动的平台,通过实时分析日志、指标和事件来自动化 IT 运营。它帮助团队预测事件、减少警报干扰并加速事件解决,增强混合云的弹性。主要功能包括异常检测、拓扑映射和 ChatOps 集成。
- **Snyk AI Security Platform(或 Snyk AI)**:这是一个开发人员安全平台,旨在通过为人工智能生成的代码、原生人工智能应用程序和智能系统提供可见性、控制和自主防御,确保人工智能驱动的开发安全。它使开发人员能够使用人工智能编码助手安全地创建产品,同时自动识别、排序并修复源代码、开源依赖项和基础设施即代码中的漏洞。
