又是一年年中時:由 Puppet 與 DevOps 研究與評估(簡稱 DORA)協(xié)會共同發(fā)布的最新《DevOps 現(xiàn)狀調(diào)查報告(State of DevOps)》再度出爐。作為本輪的核心議題,雙方分析了“高效領(lǐng)導(dǎo)者如何影響技術(shù)實踐與流程改進,從而帶來更為理想的 IT 與組織運作成效,同時確認稱自動化水平已然成為不同企業(yè)之間的核心區(qū)別所在。”
今年,雙方對 3200 名 IT 專業(yè)人士、開發(fā)人員以及高層管理者進行了調(diào)查,并發(fā)現(xiàn)每一年 DevOps 團隊的人員規(guī)模都保持著持續(xù)上漲。三年之前,只有 16% 的受訪者身為 DevOps 團隊成員,但如今這一比例幾乎翻了一番(達到 27%)。先來三張圖解釋這次報告
受訪者圖像
今年 Puppet 對全球范圍約 3200 人進行的一次調(diào)查,包括高管,開發(fā)人員和 IT 專業(yè)人士。 最多的受訪者來自擁有 100-499,500-1999 和 10k + 員工規(guī)模的組織,其中大多數(shù)來自 DevOps,IT Ops / 基礎(chǔ)設(shè)施和開發(fā) / 工程類別。
然而,性別比例偏差依然很大,女性和其他人分別占 6%和 3%。 北美的受訪者人數(shù)最多(54%),歐洲和俄羅斯為 27%,亞洲為 10%。 科技公司去年仍然領(lǐng)先(34%),其次是金融服務(wù)(14%),其次是教育、零售、電信和政府機構(gòu),達到 6-8%。
調(diào)查中發(fā)現(xiàn)在 DevOps 團隊工作的受訪者人數(shù)在過去三年中從 16%上升到 27%,表明 DevOps 采用率有所上升。
高績效 vs 低績效團隊的對比該報告區(qū)分了高績效和低績效的團隊,并闡述了他們之間的差異。 與去年類似,績效指標如下:
部署頻率 - 部署到生產(chǎn)的頻率
改變的交付時間 - 如何快速地將新的變化推向生產(chǎn)
平均恢復(fù)時間(MTTR) - 從故障中恢復(fù)的平均時間(中斷)
更改故障率 - 更改導(dǎo)致部署管道故障的頻率
與上一年相比,高績效者在所有指標上有所改善。 它們的代碼部署頻繁 46 倍,MTTR 快 96 倍。 不過,與上一年相比,表現(xiàn)較差的人員在多項指標方面也有所改善。
自動化實踐顯著上升,特別是在高績效團隊中,28%的配置管理和 26%的部署已被自動化。
此份報告顯示,高成效 DevOps 團隊在代碼生成量與穩(wěn)定性方面優(yōu)于低成效團隊。根據(jù)結(jié)論,高成效 DevOps 團隊擁有:
46 倍于低成效團隊的代碼部署頻率
440 倍于低成效團隊的代碼提交至代碼部署實施速度
96 倍于低成效團隊的停機后平均恢復(fù)速度
變更故障率僅為低成效團隊的五分之一(即二者變更故障比率為 1 比 5)
通過與 2016 年的調(diào)查結(jié)果進行比較,Puppet 報告發(fā)現(xiàn)高成效團隊與低成效團隊在代碼生成量(包括部署頻率與變更速度)方面的差距有所縮小,但穩(wěn)定性(平均恢復(fù)時長與變更故障率)則進一步擴大。
關(guān)注連續(xù)能力組織做連續(xù)交付(CD)的能力是通過兩個因素衡量的:從需求到生產(chǎn)的部署能力,并快速響應(yīng)團隊中的每名成員。
為實現(xiàn)這些成果,需要顧及的因素包括綜合版本控制、CI、基于中繼的部署,包括軟件交付過程中的安全性,測試和部署自動化。架構(gòu)層面的服務(wù)和團隊的松散耦合。服務(wù)之間的耦合性的衡量是從人們是否可以在不需要集成環(huán)境的情況下進行測試,以及這些服務(wù)是否可以獨立于其他服務(wù)部署。
實現(xiàn)高性能 DevOps 的非技術(shù)方面包括精益產(chǎn)品管理。該報告將此定義為三個功能 - 將工作分成小批量,使工作流程可視化,收集,廣播和實施客戶反饋,并使開發(fā)團隊有權(quán)在開發(fā)過程中創(chuàng)建或更改規(guī)范,而無需批準。
團隊的領(lǐng)導(dǎo)本身還不足于決定高質(zhì)量的 DevOps 落地,還要取決于是否有合適的架構(gòu)和良好的技術(shù)實踐。報告作者使用結(jié)構(gòu)方程模型(SEM)作為衡量與軟件交付相關(guān)的預(yù)測模型。
當企業(yè)決定采用 DevOps 理念時,其亦面臨著眾多前所未有的新問題,包括“如何吸引工程師的參與”以及“如何吸引領(lǐng)導(dǎo)者的參與”。
根據(jù) Puppet 公司在報告中所言
“每個人都意識到杰出的領(lǐng)導(dǎo)者在成功實現(xiàn) DevOps 轉(zhuǎn)型工作當中的重要意義。”
“僅具備變革性特質(zhì)的領(lǐng)導(dǎo)者并不足以帶來理想的 DevOps 成果。”
這是因為領(lǐng)導(dǎo)者無法單憑一己之力實現(xiàn) DevOps 轉(zhuǎn)型成效。DevOps 能否成功亦取決于架構(gòu)是否合適、技術(shù)實踐是否良好、精益管理原則的使用方式以及我們多年來在研究中囊括的其它重要影響因素。
成功 DevOps 團隊的普適性實踐
重點在于持續(xù)交付
今年的報告歸納出以下將對持續(xù)交付帶來積極影響的關(guān)鍵性因素:
全面采用版本控制機制;
持續(xù)集成與主干開發(fā);
將安全性保障整合至軟件交付工作當中;
采用測試與部署自動化方案。
在以上因素當中,測試自動化的的貢獻效果最為突出。
團隊層面的具體舉措另外,以下團隊整體層面的具體舉措能夠?qū)⒊掷m(xù)交付成效提升至新的高度:
無需從團隊外人士處獲取批準即可對系統(tǒng)設(shè)計進行大規(guī)模變更。
無需其它團隊變更自有系統(tǒng)或者承擔大量相關(guān)配合工作,即可對系統(tǒng)設(shè)計進行大規(guī)模變更。
無需與團隊外人士進行細化溝通及協(xié)調(diào)即可完成工作。例如無需經(jīng)歷多次預(yù)約及交流以獲取反饋意見。
根據(jù)需求實現(xiàn)產(chǎn)品或服務(wù)的部署與服務(wù),且相關(guān)工作不依賴于其它服務(wù)。
無需使用集成化測試環(huán)境即可根據(jù)需要完成大部分測試任務(wù)。
在正常營業(yè)時間內(nèi)執(zhí)行部署,且停機時長可以忽略不計。
賦權(quán)為成功之母這份報告指出,“眾多號稱實施敏捷化原則的團隊仍然要求開發(fā)團隊必須遵守由多個不同部門制定的具體規(guī)則。這種限制可能引發(fā)一系列實際問題,導(dǎo)致產(chǎn)品無法真正吸引客戶或者受到客戶青睞,亦無法提供與預(yù)期相符的業(yè)務(wù)成果。”
研究結(jié)果表明,各團隊在開發(fā)過程當中能否切實嘗試新鮮思路并對規(guī)范進行建立與更新(無需團隊之外人士的批準),已然成為決定盈利能力、生產(chǎn)效率以及市場份額等核心團隊成效指標的一大重要因素。
盡管報告作者并不建議開發(fā)人員完全依照個人思路處理工作內(nèi)容,但其仍強調(diào)稱“組織應(yīng)將賦權(quán)的重要意義與以下能力衡量因素加以同等重視:分批工作 ; 在工作流中確保交付流程對每位成員保持透明 ; 并將客戶反饋納入產(chǎn)品設(shè)計當中。”
DevOps 現(xiàn)狀解析:核心要點變革型領(lǐng)導(dǎo)者擁有五大共通性特質(zhì)——制定愿景、鼓舞人心的溝通能力、腦力激蕩、支持型領(lǐng)導(dǎo)風格以及個人認同感,這一切能夠顯著塑造團隊的文化與實踐方針,從而帶來更高成效。
高成效團隊仍然保持著成果產(chǎn)出與穩(wěn)定性優(yōu)勢。
自動化成為企業(yè)競爭當中的核心優(yōu)勢。
DevOps 適用于一切組織機構(gòu)。
松散耦合結(jié)構(gòu)與團隊是實現(xiàn)持續(xù)交付的重要前提。
精益產(chǎn)品管理有助于提升組織績效。
這份報告最終給出結(jié)論
“由于幾乎每一家企業(yè)皆依賴于軟件方案,因此 IT 成效水平對于當前的各類企業(yè)皆擁有重要意義。IT 成效水平受到多種不同因素的影響,具體包括領(lǐng)導(dǎo)力、工具、自動化以及持續(xù)學(xué)習(xí)與改進型文化方針等等。”
寫在最后的解讀一項值得注意的趨勢是,2017 年年內(nèi)最高成效團隊與最低成效團隊間的差距正有所減小——目前最高部署量僅為最低部署量的 46 倍,而同一指標在 2016 年的比值則高達 200 倍。另外,最高成效團隊的代碼部署頻率與最低成效團隊間的差異亦由 2016 年的 2555 倍縮小至 2017 年的 440 倍。
在另一方面,2017 年最高成效團隊的平均恢復(fù)時間則要遠快于最低成效團隊(由去年的 24 倍提升至今年的 96 倍),二者之間的變更失敗率則由去年的 1 比 3 降低至今年的 1 比 5。Puppet 公司推測,之所以出現(xiàn)上述狀況,主要是由于低成效團隊的行動速度有所提升,但卻仍未能將開發(fā)時間投入真正運用于質(zhì)量保障之上——這意味著此類低成效團隊會遭遇更多失敗,并需要更多時間以解決問題。
研究人員們亦在報告中寫道:
“高成效團隊很清楚,他們并不需要為了穩(wěn)定性而犧牲速度——反之亦然,因為他們在工作當中充分保證質(zhì)量水平,從而同時滿足這兩項需求。”
參考文章:
https://www.infoq.com/news/2017/06/puppetlabs-devops-report-2017
https://www.theregister.co.uk/2017/06/06/state_of_devops_low_performers_are_fast_but_ignore_quality/