当前位置: 首页 > 科技观察

DevOps的生成式AI:现实观点

时间:2023-03-19 13:24:54 科技观察

生成式AI使DevOps团队能够消除乏味的重复,增强自动化,并将复杂的工作流程压缩为简单的对话操作。生成式AI的概念描述了机器学习算法,这些算法可以从最少的人工输入中创建新内容。该领域在过去几年发展迅速,文本创作工具ChatGPT和逼真图像创作者DALL-E2等项目获得了主流关注。不过,生成式AI不仅仅适用于内容创作者。它还准备转变软件工程和DevOps中的技术工作。例如,备受争议的“AI结对程序员”GitHubCopilot已经在促使人们重新思考代码的编写方式,但协作AI的潜力在DevOps领域仍未得到充分开发。在本文中,我们展望未来,生成式AI使DevOps团队能够消除乏味的重复,增强自动化,并将复杂的工作流程压缩为简单的对话操作。但在此之前,让我们深入探讨生成式AI可以改进的DevOps问题。DevOps有什么问题?DevOps远未解决。尽管DevOps思想的采用每年都在快速增长,但该过程仍然依赖于许多工具、有限的人才库和仅部分自动化的重复性任务。DevOps工程师可能会将太多时间花在不会产生重大业务价值的琐碎任务上,例如批准部署、检查环境状态和构建基本配置文件。尽管不可避免,但这些工作都是琐事,不会直接对最终产品做出贡献。它们也是生成式AI处理的理想候选者,ChatGPT和Copilot(或构建Copilot的OpenAICodex)可能会减轻一些压力:它们可以填充通用配置文件和模板,因此工程师不必这样做。他们通过建议上下文相关的片段来帮助团队成员获得新技能。这会在需要时提供帮助,减少技能提升过程中的学习曲线。它们减少了构建新资产所需的时间并提高了它们的一致性,有助于提高可维护性。然而,现有系统受限于它们对内容生成的狭隘关注。如果DevOps助手还提供基于意图和基于操作的体验来触发工作流程步骤和应用状态更改,那么它们将会更加强大。例如,想象一下当您将Copilot的代码作者身份与双向对话界面相结合时的体验:您可以让您的助手按需启动一个流程,然后在需要时提示您输入。开发人员可以自助访问潜在的敏感任务,例如请求部署到生产环境。人工智能将代表他们安全地执行操作,最大限度地降低错误风险,并在开发人员和基础设施之间建立安全屏障。AI助手还可以在提交程序之前要求相关团队成员进行审核,以确保每个人都了解平台的变化。AI可以在监控指标发生变化时实时提醒您。例如,当部署失败、检测到安全漏洞或性能偏离基线时,您将收到一条消息,其中包含立即采取措施的选项。重要的是,这些能力并没有取代人类或从根本上改变他们的角色。这种形式的AI通过处理平凡且始终如一地执行的安全机制来增强工程能力。它解放了DevOps团队,使其能够在更短的时间内完成更有意义的工作。DevOps和生成式AI的未来生成式AI有可能重新定义DevOps的工作方式。以下是它将主导的三个具体领域。1.故障自动检测,建议补救措施故障是开发者和运维者的老生常谈。它们是不可预测的中断,会强制立即进行上下文切换以优先修复。不幸的是,这会影响生产力,减慢发布计划,并在补救工作未按计划进行时导致挫败感。AI代理可以检测故障并调查其原因。此外,他们可以将他们的分析与生成能力和对过去故障的了解相结合,以在显示的警报上下文中建议立即采取的行动。考虑一个简单的Kubernetes示例:助理注意到生产中断;意识到由于资源限制,pod已被逐出;并提供操作按钮来重启pod、扩展集群或终止其他废弃的资源。团队无需花费几分钟进行手动故障排除,只需单击一下即可解决事件。2.按需代码/配置生成和部署为生成式人工智能编写代码的能力提供了难以置信的价值。分层对话意图使其更易于访问和方便。例如,您可以通过在聊天界面中编写一条短消息来要求AI代理设置新项目、配置文件或Terraform状态定义。代理可以提示您为任何模板占位符提供值,然后通知相应的利益相关者内容已准备好接受审查。一旦获得批准,AI就可以通知原始开发人员,将项目启动到实时环境中,并提供一个链接来查看部署并开始对其进行迭代。这将几个不同的序列压缩为开发人员的一个自助服务操作。运营团队无需提前手动配置项目资源,让他们可以专注于自己的任务。3.提示驱动的按需工作流管理下一代人工智能代理超越了简单的文本和照片创建,支持完全自动化的提示驱动的工作流。例如,双向AI让您可以使用自然语言来启动诸如“重启生产集群”之类的流程,以与您的AWSECS资源进行交互。无需告诉AI您正在使用哪个平台或它应该运行的确切步骤。例如,在Kubiya.ai,我们利用了这一点,现在为我们的客户提供了通过自然语言提示创建任何DevOps工作流程的选项。这些代理的语言模型是根据您的云服务的词汇进行训练的。当您要求重新启动集群时,代理会使用其领域知识来解释您的话。例如,它知道您的“生产”集群正在AWS上运行,它必须检索集群的详细信息,然后进行正确的API调用以重新启动它,例如ecs.UpdateService等。您的话直接翻译成完全功能性工作流程。此外,双向方面意味着AI代理会随着时间的推移变得更加强大。一旦你开始运行你的工作流,代理也会针对它们进行训练,允许它为未来的场景建议类似的过程并描述每个工作流的实际作用。这种方法允许开发人员在不涉及运营团队的情况下做更多事情。人工智能代理在人类和基础设施平台之间进行调解,允许任何人在不影响安全的情况下始终如一地启动工作流程。作为工作流程的一部分,代理可以在相关点提示输入,例如当您要求它“添加新虚拟机”时,要求您选择云帐户、数据中心区域、机器类型和定价层。要点:生成AI安全地加速您的工作DevOps生成AI用例加速主要任务,同时提高可访问性、安全性和可靠性。此外,它们使开发人员能够专注于推进新功能,而不是重新运行熟悉的流程并等待结果。一个足够聪明以保持对话的座席就像您团队中的另一名成员一样。他们为可能不熟悉某些工具的开发人员提供支持,同时确保完全遵守组织的安全性和合规性政策。这些安全措施保护代码库,让开发人员相信他们可以启动任何工作流程。此外,减少与DevOps团队的交互次数可以提高效率并收紧反馈循环。生成式AI也不是静态体验。随着时间的推移,它会变得更好,因为它会分析交互以更准确地确定用户意图。例如,如果在您第一次键入查询时建议不合适,您可以期望它们会随着您和其他人重复请求并采取不同的行动方案而得到改进。AI代理还支持缺失的人类知识。它们允许开发人员启动流程,即使他们不熟悉所涉及的某些步骤、工具或术语。人工智能可以填补“哪些实例失败了?”等问题的空白。计算出您指的是生产集群中的KubernetesPod。这些能力使人工智能能够有效地补充人类的能力,作为团队支持性线索的来源。ROI对于生成AI至关重要。经常使用AI的组织可能会取得最佳结果,因为他们的代理人会更好地预测他们的需求。然而,在您的工作流程中添加AI时不要过度使用也很重要。最成功的采用将侧重于解决实际业务需求。首先,评估您的流程以确定开发和运营团队之间的瓶颈,然后使用AI来定位那些重复出现的用例。您选择的解决方案应该可以帮助您满足KPI,例如关闭更多问题或更快地解决事件。否则,AI代理将得不到充分利用,阻碍您的自然操作程序。总结生成式AI是当今成熟最快的技术之一。因此,随着越来越多的研究人员、消费者和组织开始探索其功能,ChatGPT获得了一定程度的传播。DALL-E2也取得了同样令人瞩目的成果,在头12个月内有超过120万开发人员使用GitHubCopilot。这三种技术都展示了明显的革命潜力,但从长远来看,DevOps的混合和高度复杂的工作流可能会受益最大。例如,DevOps将代码和配置等新资产的创建与部署批准和审查请求等顺序流程相结合。与一些局外人的预测相反,用于DevOps的生成AI将超越常见文件片段的简单模板,以提供完整的工作流自动化。使用简单的会话短语,您可以指示您的代理代表您采取特定操作,从配置新的云资源到检查生产性能。因此,代理将提供实时的双向反馈循环,以改善协作、提高生产力并减轻开发人员面临的日常压力。