根據(jù)調(diào)研機(jī)構(gòu)德勤公司在今年早些時候發(fā)布的一份調(diào)查報告,提供基于人工智能的軟件開發(fā)工具的初創(chuàng)公司在2019年籌集了7.04億美元的資金。
•調(diào)研機(jī)構(gòu)IDC公司預(yù)測,全球定制應(yīng)用程序開發(fā)服務(wù)市場規(guī)模預(yù)計(jì)將從2018年的470億美元增長到2023年的610億美元以上,并在五年內(nèi)實(shí)現(xiàn)5.3%的復(fù)合年增長率(CAGR)。
•根據(jù)IT軟件質(zhì)量協(xié)會關(guān)于美國低質(zhì)量軟件成本的調(diào)查報告,低劣的軟件質(zhì)量使美國企業(yè)在2019年損失了3190億美元。
•調(diào)研機(jī)構(gòu)Gartner公司表示,到2023年,40%的DevOps團(tuán)隊(duì)將使用集成了人工智能的IT運(yùn)營(AIOps)平臺的應(yīng)用程序和基礎(chǔ)設(shè)施監(jiān)控應(yīng)用程序。
為了減少DevOps團(tuán)隊(duì)所面臨的延遲,軟件開發(fā)工具提供商正在加快將人工智能和機(jī)器學(xué)習(xí)技術(shù)集成到其應(yīng)用程序和平臺中的步伐。其目標(biāo)是在提高軟件質(zhì)量的同時,加快軟件開發(fā)生命周期(SDLC)的每個階段。好消息是其用例表明正在實(shí)現(xiàn)這些目標(biāo),從而使DevOps達(dá)到了更高的準(zhǔn)確性、質(zhì)量和可靠性水平。
人工智能加快DevOps的10種方式中最吸引人的地方是它在幫助開發(fā)人員完成困難的、耗時的任務(wù)方面十分有效。最耗時的任務(wù)之一是管理需求文檔的許多迭代和版本。Atlassian ps公司開發(fā)的Jira軟件是使用人工智能簡化軟件開發(fā)生命周期(SDLC)的每個階段并幫助管理需求的行業(yè)領(lǐng)導(dǎo)者,它被廣泛認(rèn)為是DevOps領(lǐng)域的行業(yè)標(biāo)準(zhǔn)。
以下是人工智能加快DevOps的10種方式
(1)依靠人工智能和機(jī)器學(xué)習(xí)實(shí)時自動提示代碼段,以加快開發(fā)速度,從而提高DevOps的生產(chǎn)效率。
一些行業(yè)領(lǐng)先的企業(yè)軟件廠商的DevOps團(tuán)隊(duì)在客戶關(guān)系管理(CRM)、供應(yīng)鏈管理和社交媒體市場上展開了激烈的競爭。他們表示,人工智能的這個用例是更有成效的,并且在準(zhǔn)確性方面獲得了更大的收益。一家行業(yè)領(lǐng)先的客戶關(guān)系管理(CRM)提供商的DevOps負(fù)責(zé)人表示,最初使用人工智能自動完成代碼的努力是徒勞的。她認(rèn)為DevOps的開發(fā)工具提供商使用有監(jiān)督的機(jī)器學(xué)習(xí)算法可以提高模型學(xué)習(xí)和響應(yīng)代碼請求的速度。微軟的Visual Studio Intellicode目前已安裝600萬次以上,而這是DevOps團(tuán)隊(duì)將其列為DevOps中最有價值的人工智能開發(fā)的原因。
(2)事實(shí)證明,使用人工智能簡化需求管理可以有效提高需求文檔的準(zhǔn)確性和質(zhì)量,從而捕獲用戶在下一代應(yīng)用程序或平臺中的需求。
人工智能正在提供可靠的結(jié)果,簡化了創(chuàng)建、編輯、驗(yàn)證、測試和管理需求文檔的每個階段。DevOps團(tuán)隊(duì)成員正在使用基于人工智能和機(jī)器學(xué)習(xí)的需求管理平臺節(jié)省時間,以便他們可以經(jīng)常在緊迫的期限內(nèi)恢復(fù)編碼和創(chuàng)建軟件產(chǎn)品。第一次正確地滿足需求有助于使整個項(xiàng)目保持在其項(xiàng)目計(jì)劃的路徑上?;谌斯ぶ悄艿能浖_發(fā)工具提供商看到了建立按時完成項(xiàng)目的商業(yè)案例的機(jī)會,因此正在這一領(lǐng)域迅速開發(fā)和啟動新的應(yīng)用程序。令人興奮的是,自然語言處理技術(shù)在DevOps工具這一領(lǐng)域中的采用速度很快,而使用基于人工智能工具的企業(yè)已經(jīng)能夠?qū)⑿枨髮彶闀r間減少50%以上。
(3)事實(shí)證明,人工智能在檢測錯誤和改進(jìn)代碼的自動建議方面非常有效。
Facebook的錯誤檢測工具可以預(yù)測缺陷并提出補(bǔ)救措施,在80%的情況下,人工智能工具學(xué)會自動修復(fù)錯誤。Semmle CodeQL被認(rèn)為是該領(lǐng)域領(lǐng)先的基于人工智能的DevOps工具。使用CodeQL的DevOps團(tuán)隊(duì)可以跟蹤代碼中的漏洞,還可以在整個代碼庫中找到邏輯變體。微軟安全響應(yīng)團(tuán)隊(duì)的安全研究人員使用Semmle-QL來發(fā)現(xiàn)關(guān)鍵問題的變體,使他們能夠識別和響應(yīng)嚴(yán)重的代碼問題,并防止事件發(fā)生。
(4)人工智能正在協(xié)助確定安全測試結(jié)果的優(yōu)先級并對漏洞進(jìn)行分類。
Checkmarx公司首席技術(shù)官M(fèi)aty Siman對機(jī)器學(xué)習(xí)如何實(shí)時發(fā)現(xiàn)代碼漏洞的信息進(jìn)行了闡述。他說:“即使是擁有最成熟軟件開發(fā)生命周期(SDLC)的組織,也經(jīng)常會遇到對漏洞進(jìn)行優(yōu)先級劃分和分類的問題。專注于開發(fā)人員或應(yīng)用程度安全團(tuán)隊(duì)的機(jī)器學(xué)習(xí)算法要關(guān)注真正的優(yōu)勢和構(gòu)成威脅易受攻擊的組件,這是應(yīng)對這一挑戰(zhàn)的關(guān)鍵。” 他表示,可以教會機(jī)器學(xué)習(xí)算法理解一種類型的脆弱性相對于另一種類型的脆弱性,它所占的比例更高。有了這個自動的審核過程,團(tuán)隊(duì)能夠以更加明智的方式優(yōu)化和加速其修復(fù)工作。
(5)通過基于給定代碼庫的唯一屬性自動生成和自動運(yùn)行測試用例來提高軟件質(zhì)量保證,這是采用人工智能技術(shù)節(jié)省DevOps團(tuán)隊(duì)寶貴時間的另一個領(lǐng)域。
對于在各種用例中對新應(yīng)用程序和平臺進(jìn)行壓力測試而言,這是非常寶貴的。在任何DevOps團(tuán)隊(duì)中,創(chuàng)建和修改測試用例都是一項(xiàng)獨(dú)特的技能,具有這種技能的開發(fā)人員經(jīng)常會因測試更新而感到不知所措?;谌斯ぶ悄艿能浖_發(fā)工具正在消除測試覆蓋范圍的重疊,通過更可預(yù)測的測試優(yōu)化現(xiàn)有的測試工作,并加快從缺陷檢測到缺陷預(yù)防的進(jìn)程?;谌斯ぶ悄艿能浖_發(fā)平臺可以識別復(fù)雜且相互關(guān)聯(lián)的產(chǎn)品模塊之間的依賴關(guān)系,從而提高整個過程中的產(chǎn)品質(zhì)量。而提高軟件質(zhì)量也提高了客戶體驗(yàn)。
(6)在復(fù)雜的軟件應(yīng)用程序和平臺發(fā)布并交付給客戶后,人工智能技術(shù)很擅長解決這些問題。
企業(yè)軟件廠商在其軟件質(zhì)量保證過程中付出了極大的努力,以消除錯誤、邏輯錯誤和不可靠的代碼段。而更新版本或者最壞的情況是召回它們的成本很高,而且會影響客戶的生產(chǎn)效率。事實(shí)證明,基于人工智能的質(zhì)量檢查工具可以有效地預(yù)測企業(yè)應(yīng)用程序的哪些區(qū)域在交付到復(fù)雜的客戶環(huán)境之前會失敗。人工智能在根本原因分析方面是有效的,而且在加快領(lǐng)先的客戶關(guān)系管理(CRM)提供商的應(yīng)用程序交付,以及在將客戶企業(yè)環(huán)境中的恢復(fù)時間縮短方面也證明是有效的。另一個DevOps團(tuán)隊(duì)表示,他們正在使用人工智能來自動配置應(yīng)用程序的設(shè)置,以優(yōu)化客戶部署的性能。
(7)基于機(jī)器學(xué)習(xí)的代碼漏洞檢測可以可靠地發(fā)現(xiàn)異常并實(shí)時警告DevOps團(tuán)隊(duì)。
Checkmarx公司首席技術(shù)官M(fèi)aty Siman表示,“假設(shè)組織的開發(fā)人員正在編寫高質(zhì)量、安全的代碼,則機(jī)器學(xué)習(xí)可以設(shè)置‘正常活動’的基準(zhǔn),并從該基準(zhǔn)中識別并標(biāo)記異常。最終,人們生活在一個每天都在變化的IT和安全環(huán)境中,要求系統(tǒng)和工具以相同甚至更快的速度學(xué)習(xí)和適應(yīng)。組織和開發(fā)人員不能僅憑一己之力通過解決方案來提高威脅檢測的準(zhǔn)確性,從而幫助他們確定最重要的事情的優(yōu)先級。”快速發(fā)現(xiàn)異常并采取措施是構(gòu)建基于人工智能軟件的質(zhì)量檢查和DevOps工具的業(yè)務(wù)案例所不可或缺的一部分。
(8)高級DevOps團(tuán)隊(duì)正在使用人工智能來分析和發(fā)現(xiàn)所有開發(fā)工具、應(yīng)用程序性能監(jiān)視(APM)、軟件質(zhì)量保證,以及發(fā)布周期系統(tǒng)的新見解。
一家行業(yè)領(lǐng)先的供應(yīng)鏈管理(SCM)企業(yè)軟件提供商的DevOps團(tuán)隊(duì)正在使用人工智能分析為什么某些項(xiàng)目進(jìn)展順利并提供出色的代碼,而其他項(xiàng)目卻陷入了永久審查和代碼重寫周期的原因。通過使用受監(jiān)督的機(jī)器學(xué)習(xí)算法,他們可以查看模式并深入了解其數(shù)據(jù)。該公司DevOps負(fù)責(zé)人表示,以數(shù)據(jù)為驅(qū)動力正迅速成為其DNA的一部分。
(9)改進(jìn)每個發(fā)布周期內(nèi)的可追溯性,以找出DevOps協(xié)作和數(shù)據(jù)集成工作流中可以改進(jìn)的地方。
人工智能使DevOps團(tuán)隊(duì)能夠更好地相互協(xié)調(diào),特別是在遠(yuǎn)程地理位置。人工智能驅(qū)動的洞察力有助于了解共享需求和規(guī)范如何反映本地化、獨(dú)特的客戶需求以及特定的性能基準(zhǔn)。
(10)創(chuàng)建可以使人工智能發(fā)揮最大價值的集成度更高的DevOps戰(zhàn)略取決于框架,這些框架可以使DevOps以客戶為中心,同時提高敏捷性并培育分析驅(qū)動的DNA,以獲得對運(yùn)營的洞察力。
很多DevOps領(lǐng)導(dǎo)者表示,將安全性集成到開發(fā)周期中可以減少瓶頸,這些瓶頸會阻礙按計(jì)劃進(jìn)行。能夠?qū)①|(zhì)量保證集成到DevOps工作流程中的框架是關(guān)鍵。人工智能的用例綜合起來反映了革新DevOps的潛力。但是要兌現(xiàn)這一承諾,就需要一個框架,這一框架應(yīng)使企業(yè)DevOps團(tuán)隊(duì)能夠提供卓越的客戶體驗(yàn)和自動化客戶交易,并為各地的自動化提供支持。
結(jié)論
所有DevOps團(tuán)隊(duì)都面臨著在加快開發(fā)周期的同時確保產(chǎn)生最高質(zhì)量代碼的挑戰(zhàn)。人工智能通過在開發(fā)人員提出要求之前預(yù)測開發(fā)人員需要的東西,幫助他們加快DevOps開發(fā)周期的每個階段。自動建議代碼、自動化測試改進(jìn)軟件質(zhì)量保證技術(shù),以及簡化需求管理都是人工智能為DevOps帶來價值的核心領(lǐng)域。
版權(quán)聲明:本文為企業(yè)網(wǎng)D1Net編譯,轉(zhuǎn)載需注明出處為:企業(yè)網(wǎng)D1Net,如果不注明出處,企業(yè)網(wǎng)D1Net將保留追究其法律責(zé)任的權(quán)利。