DevOps 的生成式人工智能:一個現實的視角
生成式 AI 使 DevOps 團隊能夠消除乏味的重復、加強自動化并將復雜的工作流程壓縮為簡單的對話操作。
生成式 AI 的概念描述了機器學習算法,這些算法可以從最少的人工輸入中創建新內容。該領域在過去幾年發展迅速,文本作者工具 ChatGPT和逼真圖像創建器 DALL-E2等項目引起了主流關注。
不過,生成式 AI 不僅僅適用于內容創作者。它還準備轉變軟件工程和 DevOps 領域的技術工作。 例如,備受爭議的“AI 結對程序員”GitHub Copilot 已經在促使人們重新考慮代碼的編寫方式,但協作 AI 的潛力在 DevOps 領域仍未得到充分開發。
在本文中,我們將展望一個未來,在這個未來,生成式AI能夠使 DevOps 團隊消除乏味的重復,加強他們的自動化,并將復雜的工作流程壓縮為簡單的對話操作。但在此之前,讓我們深入探討生成式 AI 可以改進的 DevOps 問題。
DevOps 有什么問題?
DevOps 遠未解決。盡管 DevOps 思想的采用逐年快速增長,但該過程仍然依賴于許多工具、有限的人才庫和僅部分自動化的重復性任務。
DevOps工程師可能會將太多時間花在不會貢獻顯著業務價值的瑣碎工作上,例如批準部署、檢查環境狀態和構建基本配置文件。盡管不可避免,但這些工作是雜務,不會直接對最終產品做出貢獻。它們也是生成 AI 處理的絕佳候選者,ChatGPT 和 Copilot(或構建 Copilot 的 OpenAI Codex)都可能減輕一些壓力:
- 它們可以填充通用配置文件和模板,因此工程師不必這樣做。
- 他們通過建議上下文相關的片段來幫助團隊成員獲得新技能。這會在需要時提供幫助,從而減少技能提升過程中的學習曲線。
- 它們減少了構建新資產所需的時間并提高了它們的一致性,從而有助于提高可維護性。
然而,現有系統受限于它們對內容生成的狹隘關注。如果 DevOps 助手還提供基于意圖和基于操作的體驗來觸發工作流程步驟并應用狀態更改,那么它們將更加強大。例如,想象一下將 Copilot 的代碼作者身份與雙向對話界面合并時的體驗:
- 您可以要求助手按需啟動流程,然后在需要時提示您提供輸入。
- 開發人員可以 自助訪問潛在的敏感任務,例如請求部署到生產環境。人工智能將代表他們安全地執行操作,最大限度地降低錯誤風險,并在開發人員和基礎設施之間建立安全屏障。人工智能助手還可以在提交程序之前請求相關團隊成員進行審查,以確保每個人都了解平臺的變化。
- AI 可以在監控指標發生變化時實時提醒您。例如,當部署失敗、檢測到安全漏洞或性能偏離基線時,您會收到一條消息,可以選擇立即采取行動。
重要的是,這些能力并沒有取代人類或從根本上改變他們的角色。這種形式的 AI 通過處理平凡且始終如一地執行安全機制來增強工程能力。它解放了 DevOps 團隊,使其能夠在更短的時間內完成更有意義的工作。
DevOps 與生成 AI 的未來
生成式 AI 具有重新定義 DevOps 工作方式的巨大潛力。以下是它將主導的三個特定領域。
1.自動故障檢測,建議補救措施
對于開發人員和運維人員來說,失敗是一個老生常談的問題。它們是不可預測的中斷,會強制立即進行上下文切換以優先修復。不幸的是,這會影響生產力,延緩發布進度,并在補救工作未按計劃進行時導致挫敗感。
人工智能代理可以檢測故障并調查其原因。此外,他們可以將他們的分析與生成能力和對過去失敗的了解相結合,以建議在顯示警報的上下文中立即采取行動。
考慮一個簡單的 Kubernetes示例:助手注意到生產中斷;意識到 Pod 由于資源限制已被驅逐;并提供操作按鈕來重啟 Pod、擴展集群或終止其他廢棄的資源。團隊只需單擊一下即可解決事件,而無需花費幾分鐘手動進行故障排除。
2. 按需代碼/配置生成和部署
生成式 AI 編寫代碼的能力提供了難以置信的價值。分層對話意圖使其更易于訪問和方便。例如,您可以通過在聊天界面中寫入一條簡短消息來要求 AI 代理設置新項目、配置文件或 Terraform 狀態定義。代理可以提示您為任何模板占位符提供值,然后通知適當的利益相關者內容已準備好進行審查。
獲得批準后,AI 可以通知原始開發人員,將項目啟動到實時環境中,并提供查看部署的鏈接并開始對其進行迭代。這將幾個不同的序列壓縮為開發人員的一個自助服務操作。運營團隊無需事先手動配置項目資源,讓他們可以專注于自己的任務。
3. 提示驅動的按需工作流管理
下一代 AI 代理超越了簡單的文本和照片創建,支持完全自動化的提示驅動工作流。例如,雙向 AI 讓您可以使用自然語言啟動流程,例如“重啟生產集群”以與您的 AWS ECS 資源進行交互。無需告知 AI 您正在使用哪個平臺或它應該運行的具體步驟。例如,在 Kubiya.ai,我們已經充分利用了這一點,現在為我們的客戶提供了通過自然語言提示創建任何 DevOps 工作流程的選項。
這些代理的語言模型是根據您的云服務的詞匯進行訓練的。當您要求重新啟動集群時,代理會使用其領域知識來解釋您的話。例如,它知道您的“生產”集群在 AWS 上運行,并且它必須檢索集群的詳細信息,然后進行正確的API 調用以重新啟動它,例如ecs.UpdateService等。您的話直接轉化為功能齊全的工作流.
此外,雙向方面意味著 AI 代理會隨著時間的推移變得更加強大。一旦你開始運行你的工作流,代理也會針對它們進行訓練,允許它為未來的場景建議類似的過程并描述每個工作流的實際作用。
這種方法可以讓開發人員在不涉及運維團隊的情況下做更多事情。AI 代理在人類和基礎設施平臺之間進行調解,允許任何人在不影響安全性的情況下一致地啟動工作流。作為工作流程的一部分,代理可以在相關點提示輸入,例如當您要求它“添加新虛擬機”時,要求您選擇云帳戶、數據中心區域、機器類型和定價層。
要點:生成式 AI 安全地加速您的工作
生成式 AI 的 DevOps 用例可加速主要任務,同時提高可訪問性、安全性和可靠性。此外,它們使開發人員能夠專注于推進新功能,而不是重復運行熟悉的流程并等待結果。
智能程度足以維持對話的座席就像您團隊中的另一名成員一樣。他們為可能不熟悉某些工具的開發人員提供支持,同時確保完全遵守組織的安全性和合規性政策。這些安全措施保護代碼庫,讓開發人員相信他們可以啟動任何工作流程。此外,減少與 DevOps 團隊的交互次數可以提高效率,收緊反饋循環。
生成式 AI 也不是靜態體驗。隨著時間的推移,它會變得更好,因為它會分析交互以更準確地確定用戶意圖。例如,如果建議在您第一次鍵入查詢時不合適,您可以期望隨著您和其他人重復請求并采取不同的行動方案,它們會得到改進。
人工智能代理也支持缺失的人類知識。它們讓開發人員即使在不熟悉所涉及的某些步驟、工具或術語時也可以啟動流程。人工智能可以填補諸如“哪些實例失敗了?”等問題的空白。計算出您指的是生產集群中的 Kubernetes Pod。這些能力讓人工智能有效地補充了人類的能力,使其成為團隊支持性提示的來源。
投資回報率對于生成人工智能至關重要
經常使用人工智能的組織可能會取得最好的結果,因為他們的代理人會更善于預測他們的需求。但是,在將 AI 添加到工作流程中時不要過度使用也很重要。最成功的采用 將專注于解決真正的業務需求。首先,評估您的流程以確定開發和運營團隊之間的瓶頸,然后使用 AI 瞄準那些重復的用例。
您選擇的解決方案應該可以幫助您達到 KPI,例如關閉更多問題或更快地解決事件。否則,AI 代理將得不到充分利用,阻礙您的自然操作程序。
概括
生成式 AI 是當今成熟最快的技術之一。因此,隨著越來越多的研究人員、消費者和組織開始探索其功能, ChatGPT 獲得了一定 程度的傳播。DALL-E2 也取得了同樣 驚人的成果,超過 120 萬開發人員在其前 12 個月內使用了 GitHub Copilot。
這三種技術都展示了明顯的革命性潛力,但從長遠來看,DevOps 的混合且高度復雜的工作流可能受益最大。例如,DevOps 將代碼和配置等新資產的創建與部署批準和審查請求等順序流程相結合。
與一些局外人的預測相反,用于 DevOps 的生成式 AI 將超越普通文件片段的簡單模板,以提供完整的工作流程自動化。使用簡單的會話短語,您可以指示您的代理代表您采取特定操作,從配置新的云資源到檢查生產性能。因此,代理將提供實時雙向反饋循環,以改善協作、提高生產力并減輕開發人員面臨的日常壓力。