DevOps是當(dāng)前IT領(lǐng)域最熱門的話題之一,了解、掌握、應(yīng)用DevOps對于提升軟件交付與管控具有重要的意義。然而時至今日DevOps尚無統(tǒng)一的定義。
創(chuàng)新互聯(lián)公司自2013年起,先為裕華等服務(wù)建站,裕華等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為裕華企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
本文主要從業(yè)務(wù)及IT的發(fā)展對DevOps的誕生背景、定義演進(jìn)以及落地價值等方面進(jìn)行了分析和闡述,以期對DevOps的內(nèi)涵進(jìn)行探討。
DevOps在2009年提出以來,已經(jīng)走過了十個年頭。近幾年來,DevOps的熱度呈快速上漲趨勢,從DORA的年度報告也可以看出來,到2018年末全球主要行業(yè)的DevOps的應(yīng)用程度已達(dá)到30%,上升勢頭迅猛。
然而,時至今日,對于DevOps仍沒有一個準(zhǔn)確的定義,這對于我們理解DevOps,或者說在落地DevOps的過程中會帶來不小的困擾,各方都有自己的理解。那么,DevOps的內(nèi)涵究竟是什么呢?我們期望從DevOps的發(fā)展背景、定義演進(jìn)以及落地價值等方面進(jìn)行一次探討。
民用軟件系統(tǒng)的應(yīng)用崛起于上個世紀(jì)八十年代, 2000年后蓬勃發(fā)展,其中,作為重要組成部分的軟件系統(tǒng),逐漸深入到社會的每一個角落,從整體的發(fā)展過來來看,業(yè)務(wù)與軟件系統(tǒng)的關(guān)系可分為三個階段。
輕度依賴
在這個階段主要出現(xiàn)在早期,軟件系統(tǒng)主要解決業(yè)務(wù)中重復(fù)多或計算量大的問題,支撐范圍主要局限在業(yè)務(wù)中的某一過程或環(huán)節(jié)?;蛘哒f,在這個階段,業(yè)務(wù)離開了軟件系統(tǒng)也能開展,軟件對業(yè)務(wù)來說不是必選項,軟件功能的更新頻率可以是數(shù)天乃至數(shù)月、年。
重度依賴
隨著業(yè)務(wù)的發(fā)展,業(yè)務(wù)的關(guān)聯(lián)性與復(fù)雜度提高后,業(yè)務(wù)完全依賴人工完成已經(jīng)成為不可能。到這個時期,軟件系統(tǒng)成為業(yè)務(wù)的核心支撐,業(yè)務(wù)的開展已經(jīng)離不開軟件系統(tǒng),但尚可接受短暫的非服務(wù)期存在,軟件功能的更新頻率被要求在數(shù)天、月。
完全依賴
隨著軟件服務(wù)深入社會各個角落,社會生活的衣、食、住、行、用都依賴于軟件系統(tǒng),從某一領(lǐng)域或應(yīng)用來說,軟件系統(tǒng)相對于業(yè)務(wù)已經(jīng)進(jìn)入了主導(dǎo)階段,軟件系統(tǒng)必須提供365*7*24的服務(wù),任何中斷服務(wù)可能都會帶來極大的經(jīng)濟或社會損失,軟件功能的更新頻率必須控制在數(shù)天、小時、分鐘。
IT管理與研發(fā)模式的演進(jìn),與IT對業(yè)務(wù)的響應(yīng)效率密不可分,大致可分為三個階段;
“穩(wěn)態(tài)”模式
傳統(tǒng)穩(wěn)態(tài)模式的管理上,業(yè)務(wù)、研發(fā)、測試、運維依次分階段管理,各階段的人員只需關(guān)注本階段內(nèi)部的相關(guān)內(nèi)容即可,研發(fā)以系統(tǒng)軟件包交付為目標(biāo);整體結(jié)構(gòu)如下圖所示:
在研發(fā)模式上,以瀑布模型為主要特點,其優(yōu)勢是各階段劃分比較清晰、整體成本較低,但迭代速度較慢,其在業(yè)務(wù)對軟件輕度依賴階段適用性較好。
“穩(wěn)態(tài)+敏捷”模式
隨著業(yè)務(wù)對軟件依賴程度的提高,傳統(tǒng)模式下軟件的迭代效率成為了一個阻礙業(yè)務(wù)發(fā)展的主要問題點,于是針對軟件研發(fā)過程最耗時的開發(fā)過程出現(xiàn)了一系列的優(yōu)化措施,敏捷研發(fā)是其代表。這個時期的IT管理模式變成了“穩(wěn)態(tài)+敏捷”的模式,研發(fā)仍舊以系統(tǒng)軟件包交付為目標(biāo),如下圖所示:
當(dāng)然,在這個時期,針對各階段的效率提升也進(jìn)行得如火如荼,出現(xiàn)了了一大批針對不同階段提速的工具軟件,如下圖所示:
“敏態(tài)”模式
當(dāng)業(yè)務(wù)對軟件系統(tǒng)完全依賴時,IT管理與研發(fā)模式就需要進(jìn)入“敏態(tài)”模式了。而這個模式也就是我們今天時常提起的DevOps。在這個模式下,研發(fā)交付目標(biāo)不再是系統(tǒng)軟件包,而是面向業(yè)務(wù)的服務(wù)能力,如下圖所示:
由于業(yè)務(wù)與軟件的關(guān)系越來越緊密,研發(fā)的交付已經(jīng)由原來的面向軟件包產(chǎn)品,而轉(zhuǎn)向面向業(yè)務(wù)需要的服務(wù)能力,然而,這種服務(wù)能力也是涉及多個方面,下面我們從DevOps的定義發(fā)展,來看看DevOps的內(nèi)容豐富過程。
“穩(wěn)態(tài)+敏捷”模型只能實現(xiàn)局部效率提升,而DevOps那么唯一的途徑就是從整體上進(jìn)行優(yōu)化和提升,使整個研運過程形成一個有機的整體。從2009年提出依賴,DevOps的內(nèi)涵也在進(jìn)行著不斷的發(fā)展與豐富,我們先看一下不同時期的定義。
2009年10月,【Patrick Debois】DevOps(英文Development和Operations的組合)是一組過程、方法與系統(tǒng)的統(tǒng)稱,用于促進(jìn)開發(fā)(應(yīng)用程序/軟件工程)、技術(shù)運營和質(zhì)量保障(QA)部門之間的溝通、協(xié)作與整合。
2010年5月,DevOps是一個重要的理論,它通過敏捷、精益等在方法、在一個傳統(tǒng)的組織中,把獨立的部門協(xié)同在一起實現(xiàn)跨部門集成,建立更加緊密的多部門協(xié)作。DevOps不僅僅關(guān)注軟件部署這一技術(shù)問題,它是考慮部門與部門之間溝通和協(xié)作的管理方法。
2014年12月 DevOps是一種軟件開發(fā)方法,它強調(diào)軟件開發(fā)人員和信息技術(shù)人員之間的溝通、協(xié)作和集成。
2015年11月 DevOps是一種文化、運動或?qū)嵺`,它強調(diào)軟件開發(fā)人員和其他信息技術(shù)人員的協(xié)作和溝通,同時強調(diào)自動化軟件交付和基礎(chǔ)設(shè)施變更的過程。
2018年AWS DevOps定義:DevOps是一組實踐,目的是在確保高質(zhì)量的情況下,快速地把變更導(dǎo)入到生產(chǎn)環(huán)境。
我們把不同時期的定義整理為一個時間軸,并做一些關(guān)鍵字抽?。?/p>
可以看出針對DevOps的定義,隨著時間的推移,DevOps的內(nèi)涵在不斷豐富,已經(jīng)從最初一組過程、方法與系統(tǒng)的組合簡的單定義,發(fā)展為一套有理論、有方法、有文化、有實踐的體系。
DevOps體系與傳統(tǒng)模式是有著本質(zhì)的不同的,主要體現(xiàn)在以下幾個方面:
組織方式不同
DevOps中強調(diào)以項目或產(chǎn)品的一體化管理為基本管理模式,從而消除傳統(tǒng)模式下分階段任務(wù)管理與執(zhí)行,通過管理模式的調(diào)整,消除傳統(tǒng)模式下不同階段的銜接問題。
關(guān)注重點不同
DevOps是以最終向業(yè)務(wù)的服務(wù)能力交付為目標(biāo),而不是傳統(tǒng)模式下分階段任務(wù)交付為目標(biāo)。
提升維度不同
DevOps關(guān)注軟件系統(tǒng)的整個生命周期,是從整體上提升軟件交付的質(zhì)量與效率,而不單只關(guān)注某一個階段的提升,各階段的提升可以更加的有機協(xié)同。
管控深度不同
DevOps強調(diào)全程監(jiān)控,全程度量,通過技術(shù)手段透明化軟件交付的全程,包括過程與結(jié)果,而傳統(tǒng)模式下過程數(shù)據(jù)缺乏,難以進(jìn)行有效的過程度量與分析。
效益效果不同
DevOps支持針對交付過程的持續(xù)優(yōu)化,通過度量數(shù)據(jù)分析可以快速定位交付過程的問題與努力方向,支持持續(xù)科學(xué)的優(yōu)化提升,傳統(tǒng)模式難以做到。
DevOps的定義演進(jìn)以及與傳統(tǒng)模式的對比,可以看出DevOps體系本身系統(tǒng)化、整體性的設(shè)計思想,其既包括了軟件全生命周期的系統(tǒng)化考慮,也包括了了IT管理的多方訴求,DevOps的落地涉及DevOps平臺的建設(shè)、流程體系建設(shè)、人員賦能、標(biāo)準(zhǔn)規(guī)范等多個方面,其可以為帶來如下方面的提升。
業(yè)務(wù)響應(yīng)能力提升
DevOps的落地,在提升效率的同時可以提升交付的質(zhì)量,自動化程度的提升可以提升對業(yè)務(wù)需求迭代的響應(yīng)能力,研運吞吐量可以得到幾何級的提升。
研發(fā)交付規(guī)范提升
不同項目或產(chǎn)品的研發(fā)團(tuán)隊,在同一套平臺上開展研發(fā)交付活動,通過平臺預(yù)先制定的流程、規(guī)則等約束不同研發(fā)團(tuán)隊的交付活動,從而實現(xiàn)研發(fā)交付規(guī)范與標(biāo)準(zhǔn)的統(tǒng)一,實現(xiàn)企業(yè)級的優(yōu)化提升與改進(jìn)。
研發(fā)交付效率提升
通過針對研發(fā)交付過程中的環(huán)境準(zhǔn)備、編譯構(gòu)建、代碼質(zhì)量檢查、系統(tǒng)測試、軟件部署等過程的自動化實現(xiàn),降低人工操作或等待人工操作時間,全面提升研發(fā)交付過程的自動化水平,提升研發(fā)交付效率。
研發(fā)交付質(zhì)量提升
研發(fā)交付質(zhì)量的從現(xiàn)有的部署結(jié)果質(zhì)量保障,延伸到源代碼質(zhì)量保障、測試覆蓋度保障等過程,從而實現(xiàn)從源代碼到部署全過程的質(zhì)量檢查與提升,全鏈路提升研發(fā)交付質(zhì)量
研發(fā)交付管控提升
針對研發(fā)交付的需求、開發(fā)、測試、發(fā)布和部署等過程,進(jìn)行全面的數(shù)據(jù)化和度量,針對重點關(guān)注指標(biāo)建立質(zhì)量門禁,從而實現(xiàn)自動化的技術(shù)管控,結(jié)合已有的行政管控,由單一的結(jié)果管控,實現(xiàn)研發(fā)交付“過程+結(jié)果”管控,提升管控力度。
研發(fā)交付持續(xù)優(yōu)化
基于DevOps平臺,通過流水線過程數(shù)據(jù)收集,以及進(jìn)一步的度量分析,實現(xiàn)研發(fā)交付過程的持續(xù)優(yōu)化,既包括DevOps平臺的優(yōu)化,也包括研發(fā)交付流程、標(biāo)準(zhǔn)規(guī)范等方面的優(yōu)化。
DevOps的演進(jìn)簡單來說就是從一項技術(shù)到文化的構(gòu)建與實踐;從無關(guān)緊要到依賴;從業(yè)務(wù)的局部到全部。而DevOps的落地價值實現(xiàn)于研、運的整合并且提升對業(yè)務(wù)需求的響應(yīng)。趨勢已成,只愿大家都能共襄盛舉。
網(wǎng)站名稱:【干貨】DevOps的演進(jìn)與落地價值
文章路徑:http://sd-ha.com/article32/iecosc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、App開發(fā)、面包屑導(dǎo)航、自適應(yīng)網(wǎng)站、云服務(wù)器、微信小程序
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)