DevOps是新一代應(yīng)用開發(fā)的流行方法,而且非常成功。本文探討的是可重塑DevOps世界的五個(gè)趨勢(shì)。
從專注改善軟件交付到探討流量暴增時(shí)期團(tuán)隊(duì)需跟蹤的指標(biāo),企業(yè)IT界這幾年來都在討論DevOps問題。更頻繁的部署,以及由此帶來的更快商業(yè)價(jià)值回報(bào),令企業(yè)無法忽視,蠢蠢欲動(dòng)。
正如Gartner指出的:
數(shù)字化時(shí)代,我們有必要支持須以更高速度更強(qiáng)敏捷性運(yùn)營(yíng)的業(yè)務(wù)。這種需求推動(dòng)了DevOps快速發(fā)展,成為很多公司企業(yè)追求競(jìng)爭(zhēng)優(yōu)勢(shì)的關(guān)鍵。
那么,在未來,DevOps世界將迎來哪些變化?有哪些趨勢(shì)正在重塑DevOps世界呢?
趨勢(shì)1:DevSecOps
DevSecOps指的是將安全團(tuán)隊(duì)作為活躍參與者納入應(yīng)用開發(fā)過程的操作。該操作摒棄了在應(yīng)用開發(fā)“完成”之后才引入安全團(tuán)隊(duì)的做法,受到越來越多的公司采納。盡管對(duì)小型初創(chuàng)企業(yè)而言沒那么重要,但對(duì)有著嚴(yán)格的安全和合規(guī)考慮的組織而言(比如金融服務(wù)和醫(yī)療行業(yè),以及政府機(jī)構(gòu)),DevSecOps就是相當(dāng)重要的操作了。
其中難點(diǎn)在于開發(fā)團(tuán)隊(duì)和安全團(tuán)隊(duì)一直以來都是獨(dú)立運(yùn)作的,開發(fā)團(tuán)隊(duì)往往直到新業(yè)務(wù)應(yīng)用即將上線之前才會(huì)被告知其存在。很多情況下,安全團(tuán)隊(duì)會(huì)因應(yīng)用未能合規(guī)而斃掉該應(yīng)用,讓數(shù)百個(gè)小時(shí)的開發(fā)時(shí)間付諸流水,導(dǎo)致團(tuán)隊(duì)之間的齟齬。
DevSecOps通過在開發(fā)過程中的關(guān)鍵節(jié)點(diǎn)強(qiáng)制加入安全檢查來改變這一情況,讓應(yīng)用在完工之時(shí)就已經(jīng)經(jīng)過了深入徹底的審查。因此,潛在問題能夠早發(fā)現(xiàn)早解決,有問題的應(yīng)用在投入大量工作之前就會(huì)被否決。
趨勢(shì)2:持續(xù)交付
代碼凍結(jié)和打包發(fā)布很快便會(huì)走向終結(jié)。這是因?yàn)槌掷m(xù)交付及其近親——持續(xù)部署,正逐漸成為開發(fā)團(tuán)隊(duì)的標(biāo)準(zhǔn)操作流程。無論是持續(xù)交付還是持續(xù)部署,代碼總是隨時(shí)準(zhǔn)備好被推送到產(chǎn)品中,只不過持續(xù)交付模式是人工手動(dòng)完成,而持續(xù)部署模式是自動(dòng)完成推送。傳統(tǒng)發(fā)布周期非常低效,需要在設(shè)定的時(shí)間間隔凍結(jié)代碼,這種時(shí)候開發(fā)人員要么閑坐干等,要么轉(zhuǎn)移到其他項(xiàng)目中去,以便代碼能夠編譯打包成發(fā)布版。
持續(xù)交付驅(qū)動(dòng)更平滑、更高效的部署過程,代碼被自動(dòng)推送到非生產(chǎn)環(huán)境進(jìn)行一系列模擬生產(chǎn)部署的測(cè)試。換句話說,相比等待隔很長(zhǎng)時(shí)間才會(huì)推出的大型發(fā)布,持續(xù)交付需要團(tuán)隊(duì)推出更小、更頻繁的發(fā)布。該過程可以讓軟件更快地推送到用戶手中,也能讓開發(fā)團(tuán)隊(duì)更快收集到反饋,最終縮短應(yīng)用的面世時(shí)間,提升商業(yè)價(jià)值。
趨勢(shì)3:云
企業(yè)工作負(fù)載持續(xù)向云環(huán)境遷移不是什么秘密,DevOps亦不能免疫該趨勢(shì)。DevOps受益于云采納并反過來推動(dòng)云采納的方式,與該過程從持續(xù)交付獲益的方式相同:都是通過提升開發(fā)團(tuán)隊(duì)的效率。比如說,開發(fā)人員可以通過信用卡和按個(gè)按鈕就能主動(dòng)提供資源。類似的,云部署中的標(biāo)準(zhǔn)化治理程序可以讓用戶無需額外的批準(zhǔn)就能使用自己的測(cè)試環(huán)境。
趨勢(shì)4:意識(shí)提升
現(xiàn)在已經(jīng)很難遇到不熟悉DevOps概念的IT經(jīng)理和工程總監(jiān)了。五年前的情況卻并非如此。我們?nèi)缃裆钤贒evOps方法論和最佳實(shí)踐被積極討論的世界,在網(wǎng)上、小型會(huì)面和IT大會(huì)上均有相關(guān)探討。這對(duì)驅(qū)動(dòng)產(chǎn)出而言很棒,但也給公司企業(yè)帶來了一定的風(fēng)險(xiǎn),因?yàn)橐粋€(gè)更敏捷的競(jìng)爭(zhēng)者可以利用全球開發(fā)者社區(qū)的集體智慧打開市場(chǎng)而無需犧牲可靠性或穩(wěn)定性。
也就是說,當(dāng)每個(gè)人都知道DevOps,其本身也就從競(jìng)爭(zhēng)優(yōu)勢(shì)轉(zhuǎn)變成了潛在的責(zé)任——如果沒實(shí)踐好(或根本沒實(shí)踐)的話。
趨勢(shì)5:自動(dòng)化
自動(dòng)化是DevOps的核心。為節(jié)約開發(fā)人員的時(shí)間,某些重復(fù)性過程就必須被自動(dòng)化,以便能在無人工輸入的情況下執(zhí)行。舉個(gè)例子,持續(xù)交付模式下,代碼被自動(dòng)推送到同樣是自動(dòng)提供的連續(xù)測(cè)試環(huán)境中,以自動(dòng)化的方式接受兼容性、功能、性能等等檢查,無需耗費(fèi)開發(fā)人員的時(shí)間。
這些方法如今已投入使用,發(fā)生改變的不過是可以被自動(dòng)化的功能在逐漸增加。比如說,隨著多云環(huán)境的興起,未來或?qū)⒁娮C跨云部署可互操作環(huán)境中提供的測(cè)試環(huán)境。吸收進(jìn)DevSecOps最佳實(shí)踐后,安全檢查可能也不再需要那么多來自安全及合規(guī)團(tuán)隊(duì)的人工輸入,轉(zhuǎn)而依賴一系列自動(dòng)化測(cè)試。以上種種并不是說人的因素就會(huì)完全消失。成功的DevOps依靠團(tuán)隊(duì)間的清晰溝通。只不過,需要人直接參與手動(dòng)批準(zhǔn)的灰色地帶就會(huì)逐漸減小了。