人工智能的自我學習、預測和自動化能力將加速開發更有彈性、功能更豐富的應用程序。
人工智能( AI )如今無處不在——或者至少看起來是這樣的。這項技術之所以具有很大的前景,是因為它將為仍然主要依靠手動的業務流程實現各種自動化,并為數據分析提供更多動力。
人工智能已經在發揮作用的一個領域是DevOps,而且它注定會產生更大的影響。專家表示,人工智能和機器學習還有繼續增強DevOps的潛力,盡管許多組織已經開始采用這種模型來提高應用程序開發和其他業務領域的效率。
Tata咨詢服務公司高科技行業/軟件部門和業務解決方案部門的業務主管Spandan Mahapatra表示,“人工智能和機器學習與DevOps將有著全方面的互聯互通”。
Mahapatra說:“許多公司已經在他們的DevOps過程中不同程度地推動了數字轉型,使它們能夠真正實現基于結果的成功”。“AI/ML正在提供優化DevOps過程的解決方案。”
國際數據公司DevOps、多云管理、ITSM和軟件定義計算項目的副總裁Stephen Elliot說:“對大多數DevOps團隊來說,利用人工智能還為時過早,但我們看到很多客戶開始考慮人工智能和數據分析可能為他們提供的機會。
Elliot說:“我們確實看到(基礎設施和運營)團隊的分析能力有了巨大的提升,因為許多團隊已經部署了應用程序性能或流分析服務來識別和解決問題”。“DevOps團隊應該考慮分析技術的使用,因為它可以影響流程效率以及問題的識別和解決,同時改進客戶體驗,使業務結果更高效。”
擁抱新的潮流
其中的一家將人工智能和DevOps相結合的公司是Power Home reforming,該公司提供戶外家居改造產品。該公司創建了自己的專有技術平臺NITRO,涵蓋了從客戶關系管理( CRM )平臺到內部社交網絡的所有內容。
首席創新官Tim Wenhold說:“因為我們實際上是一家開發公司,所以我們有一個真正的DevOps團隊。”Power正在通過NITRO建立自己的人工智能基礎設施,其目標是利用其掌握的數據寶庫,并允許人工智能和機器學習幫助其開發更好的客戶服務,提高效率并增強員工的能力。
Wenhold說,DevOps團隊正在“研究如何將人工智能基礎設施投入使用”。“從本質上講,我們的DevOps團隊必須支持我們優先考慮的開發環境。因此,在我們的世界里,人工智能和機器學習目前最大的影響與開發人員學習新技能有關。
Wenhold說,AI也在幫助DevOps進入“預測狀態”。“例如,當我們審視我們的持續集成過程時,它可以告訴我們應該在哪里進行更改以改進CI管道,”他說。
又例如,在安全性方面,以往很難快速識別出那些令人擔憂的模式。“今天,我們需要很長時間來查看與安全監控相關的各種日志和報告,”Wenhold說。“當您將機器學習應用于識別威脅時,我們將能夠比當前的實踐快1000倍地標記異常。人工智能/機器學習將幫助DevOps團隊更加積極主動,而不是被動反應,它讓我們能夠更好地預測所有環境。”
正如商業智能(BI)和大數據旨在提供分析而不是簡單的儀表板和報告一樣,人工智能將有助于推進預測建模,從而使DevOps受益,”Wenhold說。
隨著人工智能變得更加強大,對DevOps的影響只會越來越大。“我們將進入AI /ML不僅有助于快速標記異常的階段;最終他們會幫助我們在我們還不知道問題存在之前就解決問題,”Wenhold說。
這家公司有數百萬條記錄。“目前,我們扮演著偵探的角色:我們查看日志,發現異常并做出調整,”Wenhold說。“人工智能將通過為我們發現異常來改變這個過程。然后,它將告訴我們可能會發生什么,并提出改變以應對威脅的選項。更進一步的,人工智能將在事后告訴我們為糾正異常所做的調整。這是令人興奮的事情。”
醫療保健公司Molina Healthcare也對AI/DevOps的趨勢充滿熱情。“我們已經看到了價值和收益將來自哪里,”Molina Healthcare的首席信息官Rick Hopfer表示,該公司在2016年開始在DevOps領域使用人工智能。
Hopfer說:“我們試圖解決的問題是如何從我們的系統每天生成的所有事務日志中的大量數據中獲得洞察力”。“僅有一個收集信息的系統是不夠的,我們需要關注真正的問題,而不是所有的噪音。”
為了解決這個問題,該公司首先需要使其用于監視應用程序和基礎設施的所有現有工具合理化。其次,它需要匯總數據。這意味著將各種工具的遙測數據引入到一個中央平臺,關聯數據,并使用ML來識別真正的問題。第三,它需要著眼于趨勢和預測分析。
“這意味著要建立正確的視圖,以便數據的可視化并提高效率和主動去管理這項技術,”Hopfer說。“我們使用了一系列供應商解決方案來實現這一目標。結果是令人印象深刻的。它能夠幾乎實時地找到問題,大大縮短了解決問題的時間。”
未來就在眼前
Elliot表示,未來將基于分析能力,在CI / CD、客戶體驗、問題管理等特定視角下采取行動。“現實情況是,自動化和分析就像花生醬和果凍一樣,兩者結合起來的效果要好得多,”他說。“因為這有助于技術和業務流程的加速,并在獨特的、特定的業務和技術情況下采取行動。”
企業絕不應將人工智能和機器學習視為未來的技術,因為它們如今已經可以對DevOps產生巨大的影響。
數據存儲和基礎設施管理提供商NetApp的首席技術專家Andy Grimes表示:“DevOps可以提高新應用程序的速度,但在后數字時代,DevOps必須與人工智能的數據需求相結合”。“DevOps方法和現代數據需求的結合創造了一種新的‘數據操作’模式。”
由于新的人工智能應用程序需要以指數級的速度和規模聚合和準備數據,“在這種新的數據操作模式中,開發人員需要與IT團隊更加緊密地聯系在一起,并且必須了解人工智能應用程序應該在混合環境中的什么位置,”Grimes說。“現代DataOps還將包括邊緣數據的收集,核心本地數據的聚合,使用云工具集增強的數據準備,以及基于工具創新和業務持續發展而頻繁更改的必要架構。”
Grimes說,隨著DataOps的不斷發展和人工智能和分析平臺的需要,數據將保持不變,而應用程序和基礎設施將在不斷創新和迭代設計中不斷發展,以支持巨大的速度和數量。
全球IT解決方案提供商Larsen&Tourbo Infotech的執行副總裁兼首席數據分析官Soumendra Mohanty說,人工智能帶來了三種不同的能力——自我學習、預測和自動化——可以改進當前的DevOps實踐,如CI和CD,該公司通過包括實施AI在內的數字轉型努力指導了許多企業客戶。
雖然DevOps為軟件交付提供了敏捷和更快的時間,但是交付過程中更大的一部分仍然缺少關鍵的組件,比如持續的創新和持續的反饋循環。
Mohanty說:“人工智能和機器學習需要以具有自學習能力的數據為基礎”。“這正是將AI和ML技術嵌入到DevOps任務和流程中非常有益的原因。”
例如,當開發軟件代碼時,AI / ML可以通過模擬各種可能的場景來跟蹤最終用戶體驗的處理程度。Mohanty說:“需求不再需要被凍結,最終用戶也不再是被動的玩家”。“AI / ML在消除早期的基于規則的軟件開發中發揮了關鍵作用,并通過從數據中的學習帶來了很大的靈活性。”
AI和ML有助于跟蹤生產績效,并與過去的問題建立聯系,幫助了解提供了什么樣的解決方案,以及它們在多大程度上是有效的。某些問題可以提前預測并自動修復。Mohanty說:“AI / ML在DevOps上的這些干預不僅會使代碼開發、部署和生產運行更加可預測,還可以提供一個持續的創新過程。”。
DevOps團隊可以專注于開發的生命周期,并將不斷變化的需求牢記于心。“然而,預測代碼和數據管理的一個重要方面是他們沒有特定的關注點,”Mohanty說。“隨著AI / ML嵌入到DevOps流程中,DevOps團隊可以深入了解代碼是如何執行的,包括客戶旅程中的所有場景是否都得到解決了,過去的問題和解決方案是否都得到了考慮,等等。”
管理數據
人工智能還可以幫助管理DevOps環境中不斷增長的數據量。
“AI/ML的應用旨在發現大量數據的模式和趨勢,”卡耐基梅隆大學軟件工程學院CERT部門的網絡安全基金會技術經理Eliezer Kanal說。
Kanal說:“這一領域在工業上的成功很大程度上源于‘大量的弱指標’。”例如,如果你想知道外面的溫度,你可以去找一個單一的信息來源——溫度計——它是溫度的一個強有力的預測指標。不幸的是,在許多情況下,我們沒有一種類似的傳感器,可以直接測量我們想要知道的東西,所以我們不得不依賴很多微弱的指標。人類發現這類任務非常困難,但對于現代機器來說,這幾乎是微不足道的。
“DevOps充斥著大量數據;提交注釋、發布跟蹤者評論、錯誤報告、各種類型的日志文件,以及自動化的代碼輸出。”Kanal說。這些數據經常被開發團隊直接用于陳述他們的目的:例如,Bug報告被用來理解什么是Bug。
Kanal說:“但是當ML/AI被引入時,就可以得到更多的東西。”例如,通過檢查容易被報告的錯誤類型,分析師可以發現一些次要的觀察結果,比如哪些模塊使用得最頻繁,哪些模塊最有可能出錯,哪些模塊有最困難的錯誤,等等與開發過程相關的其他非常有用的信息。
Kanal說:“通過使用bug報告系統作為開發環境的數據來源,而不是作為一個操作工具,公司可以大量地了解他們自己的開發實踐并提高他們的整體性能。”
這方面的另一個例子涉及到生產系統的管理。“現代系統會產生大量的日志,其中大部分都會在系統發生故障時用于事后處理,”Kanal說。“然而,通過將這些日志輸入到人工智能系統中,我們不僅能夠理解為什么會出現特定的故障,而且還能識別出在故障中可能難以檢測到的模式。”
Kanal說,AI / ML技術正迅速變得更容易融入到現有的產品中。許多技術供應商已經發布了API和工具包來幫助企業將這些能力融入到他們的產品中。
從這個角度來看,DevOps團隊不僅會越來越熟悉這些技術本身,還會越來越熟悉如何將它們整合到軟件中。這將大大提高向最終用戶提供的軟件質量。
Kanal說:“隨著AI / ML工具的使用和培訓越來越廣泛,將有可能在未來的許多年里持續提高DevOps過程中AI / ML的影響力。”。