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