1. 程式人生 > >2017年的 DevOps 報告新鮮出爐

2017年的 DevOps 報告新鮮出爐

 DevOps

策劃:木環

翻譯:核子可樂

又是一年年中時:由 Puppet 與 DevOps 研究與評估(簡稱 DORA)協會共同釋出的最新《DevOps 現狀調查報告(State of DevOps)》再度出爐。作為本輪的核心議題,雙方分析了“高效領導者如何影響技術實踐與流程改進,從而帶來更為理想的 IT 與組織運作成效,同時確認稱自動化水平已然成為不同企業之間的核心區別所在。”

今年,雙方對 3200 名 IT 專業人士、開發人員以及高層管理者進行了調查,並發現每一年 DevOps 團隊的人員規模都保持著持續上漲。三年之前,只有 16% 的受訪者身為 DevOps 團隊成員,但如今這一比例幾乎翻了一番(達到 27%)。

先來三張圖解釋這次報告  

受訪者影象

今年 Puppet 對全球範圍約 3200 人進行的一次調查,包括高管,開發人員和 IT 專業人士。 最多的受訪者來自擁有 100-499,500-1999 和 10k + 員工規模的組織,其中大多數來自 DevOps,IT Ops / 基礎設施和開發 / 工程類別。

然而,性別比例偏差依然很大,女性和其他人分別佔 6%和 3%。 北美的受訪者人數最多(54%),歐洲和俄羅斯為 27%,亞洲為 10%。 科技公司去年仍然領先(34%),其次是金融服務(14%),其次是教育、零售、電信和政府機構,達到 6-8%。

調查中發現在 DevOps 團隊工作的受訪者人數在過去三年中從 16%上升到 27%,表明 DevOps 採用率有所上升。

DevOps

 高績效 vs 低績效團隊的對比

該報告區分了高績效和低績效的團隊,並闡述了他們之間的差異。 與去年類似,績效指標如下:

  • 部署頻率 – 部署到生產的頻率
  • 改變的交付時間 – 如何快速地將新的變化推向生產
  • 平均恢復時間(MTTR) – 從故障中恢復的平均時間(中斷)
  • 更改故障率 – 更改導致部署管道故障的頻率

與上一年相比,高績效者在所有指標上有所改善。 它們的程式碼部署頻繁 46 倍,MTTR 快 96 倍。 不過,與上一年相比,表現較差的人員在多項指標方面也有所改善。

自動化實踐顯著上升,特別是在高績效團隊中,28%的配置管理和 26%的部署已被自動化。

自動化實踐

此份報告顯示,高成效 DevOps 團隊在程式碼生成量與穩定性方面優於低成效團隊。根據結論,高成效 DevOps 團隊擁有:

  • 46 倍於低成效團隊的程式碼部署頻率
  • 440 倍於低成效團隊的程式碼提交至程式碼部署實施速度
  • 96 倍於低成效團隊的停機後平均恢復速度
  • 變更故障率僅為低成效團隊的五分之一(即二者變更故障比率為 1 比 5)

通過與 2016 年的調查結果進行比較,Puppet 報告發現高成效團隊與低成效團隊在程式碼生成量(包括部署頻率與變更速度)方面的差距有所縮小,但穩定性(平均恢復時長與變更故障率)則進一步擴大。

 關注連續能力

組織做連續交付(CD)的能力是通過兩個因素衡量的:從需求到生產的部署能力,並快速響應團隊中的每名成員。

為實現這些成果,需要顧及的因素包括綜合版本控制、CI、基於中繼的部署,包括軟體交付過程中的安全性,測試和部署自動化。架構層面的服務和團隊的鬆散耦合。服務之間的耦合性的衡量是從人們是否可以在不需要整合環境的情況下進行測試,以及這些服務是否可以獨立於其他服務部署。

實現高效能 DevOps 的非技術方面包括精益產品管理。該報告將此定義為三個功能 – 將工作分成小批量,使工作流程視覺化,收集,廣播和實施客戶反饋,並使開發團隊有權在開發過程中建立或更改規範,而無需批准。

團隊的領導本身還不足於決定高質量的 DevOps 落地,還要取決於是否有合適的架構和良好的技術實踐。報告作者使用結構方程模型(SEM)作為衡量與軟體交付相關的預測模型。

架構

當企業決定採用 DevOps 理念時,其亦面臨著眾多前所未有的新問題,包括“如何吸引工程師的參與”以及“如何吸引領導者的參與”。

根據 Puppet 公司在報告中所言

“每個人都意識到傑出的領導者在成功實現 DevOps 轉型工作當中的重要意義。”

“僅具備變革性特質的領導者並不足以帶來理想的 DevOps 成果。”

這是因為領導者無法單憑一己之力實現 DevOps 轉型成效。DevOps 能否成功亦取決於架構是否合適、技術實踐是否良好、精益管理原則的使用方式以及我們多年來在研究中囊括的其它重要影響因素。

成功 DevOps 團隊的普適性實踐

 重點在於持續交付

今年的報告歸納出以下將對持續交付帶來積極影響的關鍵性因素:

  • 全面採用版本控制機制;
  • 持續整合與主幹開發;
  • 將安全性保障整合至軟體交付工作當中;
  • 採用測試與部署自動化方案。

在以上因素當中,測試自動化的的貢獻效果最為突出。

   團隊層面的具體舉措

另外,以下團隊整體層面的具體舉措能夠將持續交付成效提升至新的高度:

  • 無需從團隊外人士處獲取批准即可對系統設計進行大規模變更。
  • 無需其它團隊變更自有系統或者承擔大量相關配合工作,即可對系統設計進行大規模變更。
  • 無需與團隊外人士進行細化溝通及協調即可完成工作。例如無需經歷多次預約及交流以獲取反饋意見。
  • 根據需求實現產品或服務的部署與服務,且相關工作不依賴於其它服務。
  • 無需使用整合化測試環境即可根據需要完成大部分測試任務。
  • 在正常營業時間內執行部署,且停機時長可以忽略不計。

 賦權為成功之母

這份報告指出,“眾多號稱實施敏捷化原則的團隊仍然要求開發團隊必須遵守由多個不同部門制定的具體規則。這種限制可能引發一系列實際問題,導致產品無法真正吸引客戶或者受到客戶青睞,亦無法提供與預期相符的業務成果。”

研究結果表明,各團隊在開發過程當中能否切實嘗試新鮮思路並對規範進行建立與更新(無需團隊之外人士的批准),已然成為決定盈利能力、生產效率以及市場份額等核心團隊成效指標的一大重要因素。

儘管報告作者並不建議開發人員完全依照個人思路處理工作內容,但其仍強調稱“組織應將賦權的重要意義與以下能力衡量因素加以同等重視:分批工作 ; 在工作流中確保交付流程對每位成員保持透明 ; 並將客戶反饋納入產品設計當中。”

DevOps 現狀解析:核心要點  

  1. 變革型領導者擁有五大共通性特質——制定願景、鼓舞人心的溝通能力、腦力激盪、支援型領導風格以及個人認同感,這一切能夠顯著塑造團隊的文化與實踐方針,從而帶來更高成效。
  2. 高成效團隊仍然保持著成果產出與穩定性優勢。
  3. 自動化成為企業競爭當中的核心優勢。
  4. DevOps 適用於一切組織機構。
  5. 鬆散耦合結構與團隊是實現持續交付的重要前提。
  6. 精益產品管理有助於提升組織績效。

這份報告最終給出結論

“由於幾乎每一家企業皆依賴於軟體方案,因此 IT 成效水平對於當前的各類企業皆擁有重要意義。IT 成效水平受到多種不同因素的影響,具體包括領導力、工具、自動化以及持續學習與改進型文化方針等等。”

寫在最後的解讀  

一項值得注意的趨勢是,2017 年年內最高成效團隊與最低成效團隊間的差距正有所減小——目前最高部署量僅為最低部署量的 46 倍,而同一指標在 2016 年的比值則高達 200 倍。另外,最高成效團隊的程式碼部署頻率與最低成效團隊間的差異亦由 2016 年的 2555 倍縮小至 2017 年的 440 倍。

在另一方面,2017 年最高成效團隊的平均恢復時間則要遠快於最低成效團隊(由去年的 24 倍提升至今年的 96 倍),二者之間的變更失敗率則由去年的 1 比 3 降低至今年的 1 比 5。Puppet 公司推測,之所以出現上述狀況,主要是由於低成效團隊的行動速度有所提升,但卻仍未能將開發時間投入真正運用於質量保障之上——這意味著此類低成效團隊會遭遇更多失敗,並需要更多時間以解決問題。

研究人員們亦在報告中寫道:

“高成效團隊很清楚,他們並不需要為了穩定性而犧牲速度——反之亦然,因為他們在工作當中充分保證質量水平,從而同時滿足這兩項需求。”

文章源自微信公眾號:高效開發運維