- 企業級DevOps技術與工具實戰
- 劉淼 張笑梅編著
- 4683字
- 2021-10-29 21:00:10
1.3 DevOps的現狀
在過去的幾年中,DORA 通過對多達幾萬份的 DevOps 調查反饋進行研究,有了足夠的證據去證明DevOps實踐推動了IT更高的效能。而更高的效能帶來了生產、利潤和市場份額的改善。這些研究采樣數據較為均衡,以2017年的數據為例(2018年整體數據采集的比例與2017年較為相似),詳細信息如下。
● 采樣分布:DORA對IT從業人員、開發者、決策者等發放了調查問卷,被調查人群中也包括從事當今最復雜DevOps實踐的人員。在2017年,超過3200人參與了這項調查。
● 區域:采樣行業的地域多數在北美和歐洲,二者之和超過80%。
● DevOps團隊:隨著DevOps理念和實踐的不斷推廣,與DevOps相關的工作人員也開始逐年遞增,2017年已經達到27%,而2018年更是達到了29%,如表1-1所示。
表1-1 DevOps人員比例信息表

● 行業與規模:科技行業與金融行業撐起半壁江山,而零售、電信、教育、媒體娛樂、政府、健康、保險、制造等主要行業也占到 40%左右,整體行業均有涉及。2000 人以上的大型公司占41%,100~2000人的中等公司占35%,100人以下的小型公司占22%,另有2%狀況不明。整體來說,各種規模構成均有涉及。2000臺服務器以上的大型系統占29%,100~2000臺服務器構成的中型系統占38%,100臺以下的小型系統占20%,各種系統規模也均有涉及,如圖1-1所示。
● DevOps有助于各種組織改善目標:2017 年的研究同樣發現,DevOps 所能帶來的不僅僅是財務數字上的改善。不管是營利組織還是非營利組織,不管它們的使命是什么,DevOps實踐都能助推這些組織改善目標。
以下對應用架構以及組織結構是如何影響軟件開發和交付的進行深入研究。
● 變革型領袖推動轉型:在形成高效能企業文化方面,5個維度的共性要素能夠極其有效地幫助企業實現文化轉型。這5個維度的共性要素分別是愿景、啟發性溝通、智能激發、支持性的領導力和相互間的認可。這5個維度的共性要素與形成高效能企業文化之間有著緊密的聯系。高效能團隊在這些共性要素方面的表現都非常好,而這些也是其與低效能團隊的顯著區別。

圖1-1 DevOps企業規模相關數據采樣比例
● 高效能團隊可以保持更快的速度和更好的穩定性:與2016年相比,隨著低效能團隊成員改善了部署頻率及縮短了交付時間,高效能團隊成員和低效能團隊成員在產出方面的差距在縮小。然而,低效能團隊成員在故障的回復時間和失敗率上明顯偏高。相關研究人員認為這是快速部署的壓力更多地造成了低效能團隊成員對構建質量的重視不足所導致的。
● 自動化可以給組織帶來巨大福利:與其他團隊相比,高效能團隊通過自動化顯著地改善了其配置管理、測試、部署及變更審批流程。這樣的結果使更多的時間和創意可以用于反饋回路。
● DevOps在所有的組織中得到了踐行:通過研究組織的財務和非財務的指標,研究人員發現,在實現這些指標的意愿性方面,高效能團隊成員比低效能團隊成員的熱情高得多。
● 松耦合的架構和團隊在持續交付方面表現更好:為了走上IT高效能之路,在架構上轉換為松耦合的服務、在組織上轉換為松耦合的團隊是一個好的開始。松耦合的服務使服務之間能夠獨立地進行開發、部署而互不影響。而松耦合的團隊則能更加有效地應對變更。對那些從創意到產品需要很多手工處理和審批流程的企業來說,這種轉變需要不少投資。而松耦合的服務和松耦合的團隊帶來的益處也是顯而易見的,比如,更多的產出、更好的質量與穩定性。
● 精益產品管理可以驅動更好的組織效能:精益產品管理實踐幫助團隊可以更加高頻地交付客戶真正想要的特性。這個快速的交付回路使得團隊可以嘗試與客戶之間創建一個反饋回路,其結果則是使整個組織的收益增加,可以從利潤、生產性、市場份額上予以衡量。
● 變革型領導力:變革型領袖所體現出的領導力非常重要。根據Gartner的預測,到2020年,近半數沒有進行團隊能力轉型的CIO(Chief Information Officer)都將會被組織中的數字化信息領導團隊所取代。這是因為領導力確實發揮著重要的作用。一個好的領導者能夠幫助團隊更好地交付代碼、設計好的系統架構、踐行精益原則等。而所有的這些都會直接影響那些肉眼可見的指標,如利潤、生產性、市場份額。非營利組織雖不會考慮利潤,但是領導力依然會影響客戶的滿意度、員工的工作效率及實現組織目標的能力。
2017年有一項令人興奮的研究,該研究聚焦在那些幫助驅動高效能的領導力的特性上,而這一點是在 DevOps 實踐中一直被忽視的。其實,變革型領導力在很多地方都已經體現出其重要性,比如,創建和支持高效、互信的文化規范;實施提高開發者生產效率的技術和流程,縮短交付時間,支持更加可靠的硬件設備;支持團隊創新,更快地開發更好的產品;打破組織壁壘以實現策略協同。
通過研究IT團隊中的高、中、低領導力,我們發現,變革型領導力特質與IT高效能之間有密切的關系。高效能團隊的這些維度明顯比低效能團隊要好。
研究中令人觸動較大的是,如果將變革型領導力進行分級,那些連合格級別的變革型領導者都缺乏的團隊很難成為高效能團隊,這些團隊甚至缺乏成為高效能團隊的意愿。雖然有很多來自底層的 DevOps 實踐成功的案例,但是有強有力的變革型領導者支持的話,團隊更加容易獲得成功。
另外,研究人員還發現變革型領導力與員工忠誠度指標(Net Promoter Score,簡稱為NPS)緊密相關。研究發現,團隊擁有強有力的變革型領導者,成員能感到更多的快樂,充滿使命感,也更忠誠。變革型領導者對團隊的技術實踐和產品管理能力等都有明顯的影響。而這些正面或負面的影響最終都會體現在組織的整體績效上。
有趣的是,研究同時發現僅僅擁有強有力的變革型領導者是不夠的。通過對團隊變革型領導者進行評比,在前10%的DevOps實踐中,本以為這些團隊整體應該都會表現得非常強勁有力,但是結果并非如此,各種效能的成員都有。因此,擁有變革型領導者雖然很重要,但是這并非全部,僅靠這一點無法取得DevOps實踐的成功。因為DevOps實踐的成功還依賴于合適的架構、好的技術實踐、精益管理原則的應用,以及其他重要因素。
總的來說,好的領導者通過帶領團隊對系統進行重構、實施持續交付,并進行精益管理實踐,對創建強大的團隊和組織及改進技術產品起到了助推作用。變革型領導力有助于推進那些與高效產出相關的必要實踐,也能夠協調和幫助不同團隊的成員在追逐組織目標時進行有效溝通。這樣的領導力構成了文化的基礎,在這種文化氛圍中,持續地嘗試和學習幾乎成為每個人日常工作的一部分。
研究已然確認變革型領導者對改善價值的重要性,但是變革型領導力不是孤立存在的行為或新的實踐方式,它只是放大了近些年來一直在研究的那些組織實踐和技術實踐的效果而已。
這里簡單介紹一下IT效能和組織效能:如今,不管是為了增加業務利潤還是創造社會效益,幾乎每個組織都要依賴信息技術。各種組織紛紛轉向DevOps,因為越來越多的證據表明DevOps確實能夠實現軟件更快、更穩、更好(更少錯誤)地發布。
我們使用如下兩個主要的維度來衡量IT效能。
● 吞吐量(throughput):用于衡量團隊能夠以怎樣的頻率實現從代碼提交到部署上線,這是衡量多“快”的指標。
● 穩定性(stability):用于衡量系統服務停止之后多久能夠恢復及變更,這是衡量多“穩”的指標。
這樣,Dev要求的“快”與Ops要求的“穩”都可以得到衡量。
在2016年一些權威組織發布的報告中,可以發現高效團隊在吞吐量和穩定性方面都有著非常明顯的優勢。而在2017年,高效能團隊的整體優勢仍然存在。
● 吞吐量指標:部署頻度46倍優于低效能團隊;代碼提交到部署的交付時間440倍優于低效能團隊。
● 穩定性指標:平均修復時間(mean time to recover from downtime,簡稱為MTTR)96倍優于低效能團隊;變更失敗率是低效能團隊的1/5。
與 2016 年的研究結果相比,2017 年高效能團隊與低效能團隊之間在吞吐量指標上的差距縮小了,而穩定性指標的差距進一步拉大。研究人員認為低效能團隊偏重于提高速度而對質量、流程的重視和投入不夠,而高效能團隊在實施中兩者兼顧,自然穩定和速度兩者兼得。
只有與以前的數據進行對比分析才能真正了解當前DevOps實踐的現狀。相比2016年,高效能團隊保持著去年的部署頻度水平,而低效能團隊的部署頻度水平明顯提高。“代碼提交到部署的交付時間”這項指標與部署頻度這項指標的變化是一樣的。這個變化不是說高效能團隊做得沒有以前好了,而是低效能團隊在過去一年中取得了長足進步。
與之相對的是穩定性指標,高效能團隊在過去的一年中,在穩定性方面的優勢更加明顯。這個優勢使得他們更能滿足客戶需求,能夠花更多的時間在創新上,對市場變化的反應能力更強,產品或服務投放市場的速度更快,客戶體驗更好。
● 部署頻度:高效能團隊在2017年的部署頻度與2016年持平,而低效能團隊的部署頻度大幅度提升,兩者部署頻度的差距收窄到46倍。但值得一提的是,像Etsy這樣的公司平均每日部署80次,而諸如Amazon和Netflix這樣的公司每日部署上千次之多(生產環境中提供的服務由數百個微服務結合而成)。
● 代碼提交到部署的交付時間:高效能團隊2017年與2016年持平,而低效能團隊大幅度提升,交付時間(Lead Time)的差距收窄到440倍。
● 平均修復時間(mean time to recover from downtime,簡稱為MTTR):高效能團隊的MTTR少于1小時,而低效能團隊則在一天到一周之間。相比2016年,低效能團隊的MTTR表現更差了。
● 變更失敗率:高效能團隊的變更失敗率為0~15%,而低效能團隊則為31%~45%。取中間值后分別為7.5%和38%,低效能團隊變更失敗率約是高效能團隊的5倍,此項指標的差距在進一步拉大。
● 自動化:在2016年的報告中對重復作業及計劃外作業所花費時間已經進行了分析。2017年進行了細化,具體確認了在各種實踐(如配置管理、測試、部署、變更評審)中有多少是手工作業而多少是自動化的。高效能團隊的手工作業明顯少于低效能團隊,而自動化程度也明顯高于后者。自動化是組織的一大利器,通過自動化,高效能團隊有更多的時間去完成那些能給組織帶來更多價值的工作。一個很好的案例是惠普公司,其通過DevOps實踐對自動化進行改善,并達到了非常好的結果。
● 無論是在配置管理和測試,還是在部署和變更評審流程上,高效能團隊所進行的手工作業都明顯少于低效能團隊。但是有一項研究數據稍微有點出乎意料:中等效能團隊比低效能團隊做的手工作業還要多,尤其是變更評審流程環節。而這一點同 2016 年的一項研究數據也非常吻合,中等效能團隊比低效能團隊在重復作業上花費的時間更多,盡管他們的部署頻度更高。這到底是怎么回事呢?
通過分析和研究,研究人員發現,中等效能團隊在加速自動化的過程中,可能會出現臨時性的重復作業和手工作業都增加的過渡性階段。中等效能團隊對自動化的投入已經很多且能看到效果,但是同時會發現技術債務的積累也達到了很高的程度,這樣的結果就是,中等效能團隊加入了一些人工評審和手工作業對其進行彌補,這拖慢了他們的速度。過渡階段的首要任務是消除非自動化環節帶來的技術債務。不過一旦這些技術債務得到償還,中等效能團隊就能獲得更大程度的自動化。
● 組織績效的附加衡量指標:很多人都一直認為DevOps只適合像Google、Amazon、Netflix這樣的獨角獸公司,其他的公司并不一定適合。通過研究報告的共享,我們已經在很大程度上改變了這種認知,現在主流的企業都認為DevOps能給它們帶來競爭優勢。但是仍然有人認為,DevOps只能在那些以營利為目標的企業中發揮作用,而在那些非營利機構(諸如政府組織等)的系統中不能發揮作用。
自 2014 年 DORA 第一次發布研究報告以來,收到最多的問題就是如何把這些實踐應用到諸如國防或者政府機構,以及大學等非營利組織中去。因此,2017年DORA的調研報告將目光放在了實現更寬泛的組織目標上。每個組織都需要依靠技術來實現組織目標:提供更加快速、更加可靠、更加安全的服務或者產品。研究發現,高效能團隊在產品的數量、操作的效率、客戶的滿意度、產品或服務的質量、組織目標的實現及第三方參與者的衡量指標上均具有明顯的優勢。
2017年的調查報告顯示,高效精準地開發和交付軟件的能力對包含非營利組織的所有組織來說都是非常重要的一項指標。只要你想交付價值,不管你如何衡量它,DevOps都可以幫助你。