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