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