TechOps、DevOps和NoOps在軟件開發(fā)生命周期(SDLC)中的作用
譯文【51CTO.com快譯】如今,產(chǎn)品開發(fā)和軟件部署正在不斷發(fā)展,以滿足對速度(不斷增長的需求)、可擴(kuò)展性以及提高效率(產(chǎn)品質(zhì)量)的需求??萍脊颈仨毑粩鄬W(xué)習(xí)并適應(yīng)不斷變化的需求,以盡快將可行的產(chǎn)品推向市場。
在以往,IT部門通常是集中式團(tuán)隊(duì),但流行的運(yùn)營概念近年來已經(jīng)開始用于企業(yè)的IT團(tuán)隊(duì)以更有效地滿足用戶的需求。基于這些概念,盡管仍然協(xié)作工作,但I(xiàn)T團(tuán)隊(duì)已被劃分成具有不同角色和成果的專業(yè)部門。其中一些流行的概念包括TechOps、DevOps和NoOps。
TechOps、DevOps和NoOps并不是技術(shù)堆?;蚓幊陶Z言的示例,它們是確定IT團(tuán)隊(duì)如何介入和交付的工作模型,是生產(chǎn)、部署和維護(hù)技術(shù)產(chǎn)品的不同方法。
以下了解一下這些概念。
TechOps
TechOps(技術(shù)運(yùn)營)的范圍廣泛,并且其定義有時(shí)令人感覺到模糊,可能給人們的印象是它涵蓋了與IT相關(guān)的所有內(nèi)容。誠然,TechOps的實(shí)踐因組織而異,但它們有交付和維護(hù)現(xiàn)有技術(shù)基礎(chǔ)設(shè)施的責(zé)任。這涉及網(wǎng)絡(luò)維護(hù)、數(shù)據(jù)庫管理、安全維護(hù)與合規(guī)、災(zāi)難恢復(fù)、網(wǎng)絡(luò)優(yōu)化、軟件安裝和升級等功能,以及其他支持任務(wù)。
TechOps更像是一個(gè)角色。這個(gè)角色有助于減少開發(fā)團(tuán)隊(duì)的工作量,以便他們可以專注于軟件開發(fā),同時(shí)確保有效地處理其他關(guān)鍵技術(shù)任務(wù)。
TechOps不包括應(yīng)用程序、系統(tǒng)或軟件開發(fā)。它也不涉及軟件實(shí)現(xiàn)??傊琓echOps概念有助于執(zhí)行除了軟件開發(fā)以外的所有IT相關(guān)角色。
TechOps的角色主要由擁有相關(guān)IT相關(guān)技能的計(jì)算機(jī)工程師擔(dān)任,例如編碼、項(xiàng)目管理、事件分析、解決問題等。TechOps經(jīng)理的職位需求量大,根據(jù)美國勞工統(tǒng)計(jì)局的預(yù)測,從2018年到2028年,TechOps經(jīng)理的職位數(shù)量預(yù)計(jì)將以平均6%的速度增長。而根據(jù)著名求職網(wǎng)站Zippia公司的統(tǒng)計(jì),TechOps經(jīng)理的平均年薪為114000美元。
開發(fā)運(yùn)營
DevOps(開發(fā)運(yùn)營)是一種文化、一種工作實(shí)踐或一種工具,它將以前獨(dú)立的開發(fā)、運(yùn)營和質(zhì)量保證單元組合成一個(gè)單一的協(xié)作力量,共同提高生產(chǎn)力,并優(yōu)化軟件開發(fā)價(jià)值鏈。它還涉及軟件開發(fā)和IT運(yùn)營之間的相互作用。但一些專家認(rèn)為它不能替代TechOps。與其相反,它填補(bǔ)了TechOps在整個(gè)IT運(yùn)營中留下的空白。
與TechOps不同,DevOps不是一個(gè)角色。DevOps是一種文化、一套實(shí)踐和一種工作方式,可以增強(qiáng)IT運(yùn)營,尤其是開發(fā)和部署。DevOps的總體目標(biāo)是確保以盡可能快的時(shí)間和最有效的方式交付高質(zhì)量的程序。DevOps的實(shí)踐大多在開發(fā)過程中實(shí)施,以確保持續(xù)集成和持續(xù)開發(fā)。
這一概念加速了應(yīng)用程序和程序的開發(fā),同時(shí)也根據(jù)用戶的利益改進(jìn)了產(chǎn)品。DevOps還積極參與業(yè)務(wù)分析、編程、測試軟件和Web應(yīng)用程序。TechOps和DevOps之間的一個(gè)主要區(qū)別在于后者采取預(yù)防性和主動性的方法,而前者則更具反應(yīng)性。
根據(jù)Atlassian公司在2020年進(jìn)行的DevOps趨勢調(diào)查,99%的實(shí)施DevOps的受訪者表示,這對其所在的公司有好處。本報(bào)告還觀察到,與其他未實(shí)施DevOps的公司相比,完全采用DevOps的企業(yè)具有更快的產(chǎn)品上市時(shí)間、更少的復(fù)雜性,并且是更好的問題解決者。
TechOps是DevOps的替代品嗎?
在許多方面,TechOps與DevOps類似。許多開發(fā)人員認(rèn)為TechOps是DevOps更傳統(tǒng)的方法,但它遠(yuǎn)不止于此。該方法將軟件開發(fā)和IT運(yùn)營視為一個(gè)完全集成的流程,并尋求增強(qiáng)該工作流程并實(shí)現(xiàn)更高的靈活性。TechOps不強(qiáng)調(diào)敏捷性和速度,而是強(qiáng)調(diào)穩(wěn)定性和可靠性。
TechOps將在工作環(huán)境中測試和監(jiān)控已經(jīng)完成的系統(tǒng)。它們的職責(zé)可能包括在服務(wù)器崩潰后重新啟動服務(wù)器,以及自動化處理錯(cuò)誤測試和錯(cuò)誤報(bào)告的流程。這兩個(gè)例子都發(fā)生在產(chǎn)品制造完成之后。而這些角色也不同于生產(chǎn)團(tuán)隊(duì)。
另一方面,DevOps消除了企業(yè)各部門之間的孤島。DevOps從項(xiàng)目一開始就結(jié)合了TechOps。這些團(tuán)隊(duì)還通過協(xié)作來識別挑戰(zhàn)并加快開發(fā)過程。
與TechOps相比,DevOps是適應(yīng)性更強(qiáng)的概念。這種區(qū)別是由于這兩個(gè)IT概念的可操作性造成的。在TechOps堅(jiān)持一套法規(guī)體系以保持穩(wěn)定性和降低風(fēng)險(xiǎn)的同時(shí),DevOps積極創(chuàng)建自己的規(guī)則以快速開發(fā)軟件。DevOps使用各種技術(shù)來找到更好的解決方案。
從各種跡象來看,雖然TechOps和DevOps在IT開發(fā)過程中發(fā)揮著重要作用,但它們不應(yīng)被視為替代品。
要實(shí)現(xiàn)穩(wěn)健且高效的工作運(yùn)營,企業(yè)需要擁有能夠處理維護(hù)、恢復(fù)和優(yōu)化的TechOps。如果也有DevOps來確保敏捷開發(fā)當(dāng)然會更好。在軟件開發(fā)生命周期 (SDLC)的某個(gè)時(shí)刻,這兩個(gè)概念必須協(xié)作才能進(jìn)行擴(kuò)展。
NoOps
NoOps的理論是IT運(yùn)營可以完全實(shí)現(xiàn)自動化,因此不需要運(yùn)營團(tuán)隊(duì)來管理和控制開發(fā)過程。NoOps設(shè)想了一個(gè)軟件環(huán)境,在這種環(huán)境中,其功能的順利運(yùn)行不需要人類參與。因此,每項(xiàng)活動都是自動進(jìn)行的。
在通常情況下,應(yīng)用程序編程團(tuán)隊(duì)在編寫代碼之前確定并收集軟件程序的需求。在將代碼交付給實(shí)施和維護(hù)程序的運(yùn)維團(tuán)隊(duì)之前,開發(fā)團(tuán)隊(duì)在單獨(dú)的測試環(huán)境中進(jìn)一步確認(rèn)程序的效率,以確保開發(fā)質(zhì)量。運(yùn)營團(tuán)隊(duì)還需要確保該計(jì)劃始終有效。
NoOps是從傳統(tǒng)方法到IT運(yùn)營的巨大轉(zhuǎn)變。它建議通過利用自動化技術(shù)、機(jī)器學(xué)習(xí)甚至人工智能來重構(gòu)IT流程,以消除員工當(dāng)前管理的重復(fù)性和功能以及更復(fù)雜的功能。
通過簡化和自動化操作,減少對廣泛的內(nèi)部技術(shù)操作活動的需求,NoOps可以完全消除與實(shí)施和監(jiān)控項(xiàng)目相關(guān)的大部分責(zé)任。雖然它不是一刀切的解決方案,但通過幫助企業(yè)節(jié)省金錢和時(shí)間來提供卓越的價(jià)值。
總結(jié)
NoOps方法是IT運(yùn)營的自動化,這樣就不需要企業(yè)內(nèi)部團(tuán)隊(duì)進(jìn)行管理和控制。在這種方法中,運(yùn)營團(tuán)隊(duì)的所有維護(hù)和相關(guān)任務(wù)都是完全自動化的,不需要人工干預(yù)。
雖然使用人工智能來自動化運(yùn)營可以提高效率,但企業(yè)可以使用云計(jì)算服務(wù)和人工智能來消除所有IT運(yùn)營的想法仍然遙不可及。NoOps可以部署,但只限于有限的操作。如果需要擴(kuò)展,那么就不能嚴(yán)格依賴NoOps的概念。
盡管有人認(rèn)為NoOps可以替代DevOps,但調(diào)查表明并不如此。在Statista公司的一項(xiàng)調(diào)查中,90%以上的技術(shù)專家并不認(rèn)為NoOps是DevOps的完整替代方案。
技術(shù)專家認(rèn)為,沒有必要進(jìn)行NoOps和DevOps之間的辯論。因?yàn)檫@是一個(gè)使用不同術(shù)語試圖達(dá)到相同結(jié)果的問題。
NoOps在一開始就很有效,但從長遠(yuǎn)來看,需要更多才能確保高效交付和高質(zhì)量輸出。TechOps領(lǐng)域仍然相關(guān),但它們也在隨著自動化的日益普及而發(fā)展。最后,TechOps、NoOps和DevOps應(yīng)該是互補(bǔ)的,而不是被視為替代品,至少目前是這樣。
結(jié)論
如上所述,TechOps是一種角色,DevOps是一種工作實(shí)踐或文化,NoOps是對云計(jì)算服務(wù)等自動化技術(shù)的嚴(yán)格應(yīng)用,以增強(qiáng)企業(yè)的業(yè)務(wù)運(yùn)營。而對這三個(gè)概念的研究表明,它們可以協(xié)同調(diào)整,而不是替代調(diào)整以提高效率。
原文標(biāo)題:Role of TechOps, DevOps, and NoOps in the SDLC,作者:Eugenia Kuzmenko
【51CTO譯稿,合作站點(diǎn)轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】