人工智能和機(jī)器學(xué)習(xí)為DevOps帶來了新的自動化功能,為此需要對這些技術(shù)如何優(yōu)化組織運(yùn)營的示例進(jìn)行了解。
DevOps工程旨在加速軟件開發(fā)流程,從而在不影響代碼質(zhì)量的情況下更快地為客戶提供價值。
在過去的十年中,傳統(tǒng)的DevOps已經(jīng)有了長足的進(jìn)步,現(xiàn)在允許許多組織實(shí)施持續(xù)集成(CI)/持續(xù)部署(CD)管道。但是,在大多數(shù)情況下,組織仍然依靠人工流程和人工驅(qū)動的自動化流程的組合,并沒有進(jìn)行優(yōu)化。
人工智能和機(jī)器學(xué)習(xí)在DevOps的應(yīng)用
在DevOps領(lǐng)域也見證了人工智能和機(jī)器學(xué)習(xí)技術(shù)的興起。這些工具正在成為融合到傳統(tǒng)DevOps工具堆棧中的有力候選者。從決策流程改進(jìn)到自動化操作和代碼質(zhì)量增強(qiáng),在人工智能和機(jī)器學(xué)習(xí)的幫助下,DevOps的未來發(fā)展充滿希望。以下是七個值得關(guān)注的趨勢和變化:
(1)代碼審查實(shí)現(xiàn)自動化
在軟件開發(fā)的早期階段,從編碼本身開始,人工智能和機(jī)器學(xué)習(xí)工具就已經(jīng)能夠基于思想數(shù)據(jù)集(機(jī)器學(xué)習(xí)和響應(yīng)的機(jī)器學(xué)習(xí)算法的輸入)執(zhí)行自動代碼審查和代碼分析。這些有助于減少人類的參與。
此外,使用代碼管理和協(xié)作工具,用戶可以自動將審查的工作量分散到團(tuán)隊(duì)成員中。其最終的結(jié)果是能夠更早地檢測到代碼缺陷、安全問題和與代碼相關(guān)的缺陷,這些缺陷都是這些算法能夠輕松發(fā)現(xiàn)的。這些工具還可以減少代碼審查中的噪聲。除了檢測缺陷之外,自動代碼審查還強(qiáng)制執(zhí)行編碼和安全標(biāo)準(zhǔn)。
(2)代碼分析工具實(shí)現(xiàn)自動化
由人工智能和機(jī)器學(xué)習(xí)支持的智能工具(例如代碼分析和改進(jìn))可以從數(shù)百萬行代碼的存儲庫中學(xué)習(xí)。然后,這些工具可以了解代碼的意圖,并記錄開發(fā)人員所做的更改。在那里,這些智能工具可以為他們分析的每一行代碼提供建議。
還有一些開發(fā)人員則采用不同的方法來分析代碼。在分析了來自開源項(xiàng)目的數(shù)百萬條代碼之后,由機(jī)器學(xué)習(xí)工具提供支持的代碼著重于性能,并幫助找到可能導(dǎo)致重大損失的代碼行,這些代碼會損害應(yīng)用程序的響應(yīng)時間。這些工具可以在代碼中發(fā)現(xiàn)問題,例如資源泄漏、潛在的并發(fā)競爭條件以及浪費(fèi)的CPU周期,并且它們還可以在代碼審查階段和應(yīng)用程序性能監(jiān)視階段與持續(xù)集成(CI)/持續(xù)部署(CD)管道集成。
在同一類別下,對新功能進(jìn)行編碼后,開發(fā)人員開始研究由人工智能和機(jī)器學(xué)習(xí)驅(qū)動的自動化單元測試創(chuàng)建。這可以為開發(fā)人員節(jié)省大約20%的時間。
(3)自我修復(fù)測試
構(gòu)建后驗(yàn)收和集成編碼的下一個階段是功能和非功能測試。在這里,使用人工智能和機(jī)器學(xué)習(xí)進(jìn)行代碼創(chuàng)建以及自我修復(fù)測試代碼和維護(hù)在DevOps領(lǐng)域已成為現(xiàn)實(shí)。
測試自動化可能是一個巨大的瓶頸,并且通常是項(xiàng)目延遲的原因。不可靠的自動化會影響測試過程。而測試自動化不可靠的根本原因之一是測試中的應(yīng)用程序和測試中使用的元素的不斷更改。智能技術(shù)可以幫助識別這些變化并調(diào)整測試,使其更加穩(wěn)定可靠。
(4)低代碼/無代碼工具
此外,創(chuàng)建健壯的測試代碼的技能的成本很昂貴,而且并非總是可用,特別是對于移動應(yīng)用和Web等數(shù)字應(yīng)用程序而言。在這里,通過學(xué)習(xí)應(yīng)用程序流程、屏幕和元素,人工智能和機(jī)器學(xué)習(xí)測試工具可以自動生成測試,而幾乎不需要代碼。這些工具可以在每次測試運(yùn)行之間自我修復(fù)。
低代碼或無代碼工具允許更多的團(tuán)隊(duì)成員參與測試自動化創(chuàng)建活動。它們還為開發(fā)者騰出時間專注于更重要緊迫的活動,例如創(chuàng)建新功能。
(5)機(jī)器人流程自動化
機(jī)器人過程自動化(RPA)是使用人工智能和機(jī)器學(xué)習(xí)進(jìn)行測試的自動化的另一層。這樣的技術(shù)可以用于自動化大型組織中的大量采用人工、耗時、易出錯,以及難以自動化的流程。
(6)測試影響分析工具
在測試執(zhí)行完成后,人工智能和機(jī)器學(xué)習(xí)測試影響分析(TIA)工具將處于適當(dāng)位置,可以指導(dǎo)決策者將哪些測試?yán)^續(xù)進(jìn)行到下一個版本,哪些領(lǐng)域不涉及其他內(nèi)容。在相同的測試類別下,人工智能和機(jī)器學(xué)習(xí)算法可以根據(jù)思想測試數(shù)據(jù)確定故障的根本原因,并節(jié)省大量的平均解決時間(MTTR)。
(7) AIOps
在DevOps流程的后期,在將代碼部署到生產(chǎn)之前和之后,人工智能和機(jī)器學(xué)習(xí)引領(lǐng)了AIOps中的新興技術(shù)。良好的AIOps解決方案不僅涵蓋智能應(yīng)用程序性能監(jiān)視(APM),而且還利用了IT基礎(chǔ)設(shè)施管理(ITIM)和IT服務(wù)管理(ITSM)。這些共同構(gòu)成了生產(chǎn)和運(yùn)營洞察力分析的綜合層,可以在大數(shù)據(jù)上運(yùn)行,并且可以針對先進(jìn)的現(xiàn)代軟件架構(gòu)(微服務(wù)和云平臺等)運(yùn)行。
借助基于人工智能的操作功能,組織團(tuán)隊(duì)可以專注于確定其應(yīng)用程序的服務(wù)運(yùn)行狀況,并獲得對其生產(chǎn)數(shù)據(jù)的控制和可視性。這樣,DevOps團(tuán)隊(duì)可以使用實(shí)時自動事件管理來加快其平均解決時間(MTTR)。在這里,人工智能和機(jī)器學(xué)習(xí)在生產(chǎn)中的應(yīng)用程序內(nèi)的日志可觀察性、趨勢和預(yù)測等方面可以做更多的工作。
使用AIOps產(chǎn)品組合中的此類工具,團(tuán)隊(duì)可以減少并經(jīng)常防止服務(wù)停機(jī)(預(yù)測性警報)。他們還可以加快支持故障解決的速度,更快地分析大型日志文件,并找出根本原因和類別(安全性、網(wǎng)絡(luò)、服務(wù)器等)。
結(jié)語
盡管DevOps和人類工程學(xué)永遠(yuǎn)不會消失,但它們肯定可以使用一些幫助來優(yōu)化和加速那些難以自動化和維護(hù)的單調(diào)、易出錯的活動。
人工智能和機(jī)器學(xué)習(xí)是應(yīng)對這些挑戰(zhàn)的絕佳解決方案,并且通過對每個組織的問題進(jìn)行適當(dāng)?shù)姆治觯瑳Q策者可以從這些工具中獲得巨大價值。而只有在將這些解決方案與現(xiàn)有流程和工具無縫集成的情況下,才能獲得成功。如果人工智能和機(jī)器學(xué)習(xí)無法輕松地集成到標(biāo)準(zhǔn)DevOps工具堆棧中,則項(xiàng)目將無法實(shí)現(xiàn)價值,并最終恢復(fù)到傳統(tǒng)的軟件開發(fā)實(shí)踐。
責(zé)編AJX
-
自動化
+關(guān)注
關(guān)注
29文章
5745瀏覽量
81639 -
人工智能
+關(guān)注
關(guān)注
1804文章
48717瀏覽量
246532 -
機(jī)器學(xué)習(xí)
+關(guān)注
關(guān)注
66文章
8492瀏覽量
134093
發(fā)布評論請先 登錄
機(jī)器人和自動化的未來(2)

工業(yè)機(jī)器人工作站的建設(shè)意義
自動化設(shè)備裝車機(jī)器人給飼料行業(yè)帶來哪些優(yōu)勢

人工智能和機(jī)器學(xué)習(xí)以及Edge AI的概念與應(yīng)用

【「具身智能機(jī)器人系統(tǒng)」閱讀體驗(yàn)】+數(shù)據(jù)在具身人工智能中的價值
SOLIDWORKS 2025:顯著增強(qiáng)的智能自動化功能
嵌入式和人工智能究竟是什么關(guān)系?
人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)存在什么區(qū)別

評論