关于开发者在 DevOps 中使用 AI 时应考虑哪些因素的见解,我们收集了 DevOps 专家和开发者的观点。
译自 Using AI for DevOps: What Developers and Ops Need To Know,作者 Jeff James。
随着开发者对AI工具和智能体的采用率不断提高,利用AI实现更大规模的DevOps方法是AI驱动软件开发的下一个前沿领域。虽然可能很想首先采用技术方法,但采用更全面的战略来拥抱DevOps可能是更好的选择。为了深入了解开发者在将AI与DevOps结合使用时可能需要考虑的内容,我收集了一些DevOps专家和开发者的观点。
“[DevOps的成功不仅取决于工具,还取决于人和流程,”David Brooks(Copado公司布道高级副总裁)[写道]。“大多数用户通常远远落后,他们没有时间专注于改进流程并教育员工正确使用这些新工具。”
几位我交谈过的其他DevOps专家也赞同这种“三思而后行”的方法,这种方法侧重于人和流程。他们都强调,使用AI必须作为支持组织目标的更大计划的一部分。
“[在DevOps中,AI工具在管理身份验证、权限、测试和部署管理等关键工作流程方面发挥着关键作用,”[Amit Eyal Govrin],Kubiya.ai的创始人兼首席执行官说。“与代码生成工具不同,代码生成工具的结果偏差是可以接受的,而DevOps中的AI需要精确性和一致性……开发者需要优先考虑不仅符合组织标准,而且能够提供可预测和可重复结果的解决方案。确保AI模型以代码为基础,能够提供透明、可解释的结果,对于企业环境中的法规遵从性和可靠性能至关重要。”
清晰地了解组织的开发工作流程是必须的,[Nick Durkin](Harness公司现场首席技术官)鼓励开发者在使用AI之前完全理解这一点。
“在DevOps中,AI工具在管理身份验证、权限、测试和部署管理等关键工作流程方面发挥着关键作用。”
– Amit Eyal Govrin,Kubiya.ai的创始人兼首席执行官
“[当AI在清晰的框架下实施时,它在DevOps中可以发挥令人难以置信的强大作用,这使得开发者更容易做正确的事情,也更难做错事情,”Durkin说。“让做正确的事情变得容易始于标准化模板和策略以简化工作流程。创建模板并实施支持AI工具轻松、可重复集成的策略。通过建立自动化安全和合规性检查的策略,AI工具可以在这些边界内运行,提供有价值的支持,而不会影响标准。这种方法简化了采用过程,并使跳过必要步骤变得更加困难,从而加强了团队间的最佳实践。”
Durkin强调需要制定明确的策略来执行“……每个步骤的安全、质量和治理标准”,以帮助开发者并最大限度地减少错误。“将策略驱动的检查嵌入AI工具意味着管道中的每个操作都遵循严格的规则,消除了捷径或遗漏步骤的可能性,”Durkin说。“例如,如果您的策略要求进行AI驱动的安全扫描,那么每次部署都将自动包含这些扫描,从而确保合规性,而无需增加人工工作。”
这种方法在受严格监管的行业中尤其重要。Durkin解释说,他们的一位金融服务客户要求每个使用OpenAI的开发者都必须经过一个严格的、明确定义的管道,其中包括为增强弹性和安全性而增加的额外步骤。
“[这种平衡——使用模板简化工作流程,同时实施策略以保持质量和安全——创建了一个框架,在这个框架中,AI增强了开发者的能力,而不是限制了他们,”Durkin说。“它使采用和集成更加顺畅,并帮助团队专注于高影响力的工作,因为他们知道合规性和治理会自动得到满足。”
在拥抱 AI 和 DevOps 之前制定周全策略至关重要,但 Durkin 和 Govrin 还提供了一些额外的技巧和建议,以更轻松地将 AI 工具和技术与 DevOps 愿景相集成。
Govrin 说:“在企业环境中,本地部署 AI 应用程序可以显著提高采用率和集成度。”“与消费类应用程序不同,企业 AI 从自托管设置中受益匪浅,其中本地推理、对自托管模型的支持和边缘推理等解决方案发挥着关键作用。这些方法可以确保数据安全,并降低与跨公共云传输数据相关的风险。”
“把它想象成厨房里的厨师:AI 应该用于自动化准备和清理工作,但实际烹饪则留给厨师[开发人员]。”
– Harness 现场 CTO Nick Durkin
Durkin 建议使用 AI 驱动的 DevOps 来最大限度地减少干扰,并为开发人员简化工作。“自动化开发人员不喜欢做的繁琐工作。引入 AI 的最佳方法之一是利用它来处理必要的但重复性或耗时的任务,例如合规性检查、测试或基础设施管理。这些是开发人员必须完成但并不期待的任务。当 AI 承担这些任务时,它就能解放开发人员,让他们专注于工作中更具创造性和成就感的部分,从而从一开始就使 AI 集成成为一种积极的体验。”
除了自动化之外,Durkin 还主张在考虑 AI DevOps 采用时“去除工作中最糟糕的部分,而不是最好的部分”。“AI 应该使日常工作更容易、更愉快,而不是取代开发人员最重视的工作。把它想象成厨房里的厨师:AI 应该用于自动化准备和清理工作,但实际烹饪则留给厨师。开发人员希望编写代码和解决问题;他们不想花时间做重复性、[低价值]的工作。”
利用 AI 消除——或最大限度地减少或简化——最令人不快的工作,有助于团队亲身体验 AI 驱动的 DevOps 的价值,并转化为“更有可能热情地拥抱变革”的团队。Durkin 说,这种方法还有助于培养支持创新的文化,在这种文化中,AI 被视为赋权工具,而不是替代品。
虽然到目前为止我们主要讨论的是 AI 驱动的 DevOps 方法和技巧,但许多 AI 工具和平台已被证明有助于最大限度地减少与 DevOps 方法的任何潜在摩擦。
Eran Bibi, Firefly 的联合创始人兼首席产品官,[分享了使用 AI 通过开源工具 AI as Code (AIaC) 和专注于 Kubernetes 的 K8sGPT 简化 DevOps 的实用示例](https://thenewstack.io/2-open-source-ai-tools-that-reduce-devops-friction/)。
“快速创新的步伐表明,AI 将很快嵌入到大多数 DevOps 工具中。”
– Firefly 联合创始人 Eran Bibi
Bibi 写道:“AI 在 DevOps 中的应用仍处于早期阶段,但随着新的开源和商业服务的推出,它正在迅速发展势头。快速创新的步伐表明,AI 将很快嵌入到大多数 DevOps 工具中。从使用 AIaC 自动生成代码到使用 K8sGPT 进行高级诊断,可能性似乎是无限的。”
Raj Rajkumar, Tata Consultancy Services 的技术顾问,概述了他认为在不久的将来使用 AI 驱动的工具将为 DevOps 带来的好处。
Rajkumar 写道:“目前需要人工干预的任务——例如需求收集、高级代码审查和预测性维护——很快就可以完全由 AI 管理,从而使开发人员能够更多地专注于创新。”“AI 和 DevOps 工具的结合不仅会增强软件开发,还会重新定义团队的工作方式,创建更快、更智能、更可靠的系统。”
虽然 AI 在 DevOps 圈中的应用仍然相对较新,但随着时间的推移,采用率必然会增加。Durkin 认为,通过专注于一些巧妙的采用策略,例如使用 AI 来促进协作并超越仅将 AI 用于代码生成的思维方式,也可以使采用之路不那么艰辛。
人工智能应该减少团队之间的摩擦,无论是在开发、安全还是运维方面。如果某个 AI 工具带来的摩擦多于和谐,那么它可能并不合适,”Durkin 说。“AI 驱动的 DevOps 工具可以彻底改变整个软件交付生命周期,远不止于生成代码。最有价值的 AI 实施将影响测试、合规性、监控以及其他经常被忽视的领域,消除‘繁琐工作’,让开发人员能够专注于具有战略意义、影响力大的工作。”