持續交付基金會發布最新的 CICD 趨勢報告
持續交付基金會[1](Continuous Delivery Foundation,簡稱 CDF)前幾天發布了最新的一期的 CICD 趨勢報告。這份報告中的調查結果基于 SlashData 過去 8 次的調查數據,這些調查在 2020 年 Q3 度到 2024 年 Q1 的三年半時間里覆蓋了全球超過 150,000 名受訪者。
本文是針對部分結果的解讀,結果數據來自官方的報告,解讀的部分純屬個人觀點。有興趣的可以查看 完整的報告[2]。
軟件交付性能的演變
軟件的交付性能主要通過代碼發布周期、部署頻率和服務恢復時間三個關鍵指標來衡量,這些指標能夠直觀地反映出一個組織在軟件開發和運維方面的效率和效果。
代碼發布周期
代碼發布周期是指從代碼提交(例如,合并到主分支)到成功部署到生產環境的時間。
這個指標衡量團隊對新功能、修復或更新做出反應的速度。較短的發布周期意味著團隊能夠快速地將變更推送到生產環境,對業務需求和問題做出迅速響應。
從結果中可以看出代碼變更的頻率從 2020 年 Q3 開始逐年降低,尤其是變更頻率低于每月一次的比例越來越高。
圖片
部署頻率
部署頻率指軟件部署到生產環境的頻率,可以是每日、每周、每月等。
高頻率的部署通常表明高度自動化和成熟的持續交付能力。這種能力可以幫助團隊減少單次部署的風險,因為每次部署的變更較小,更容易管理和修復。
圖片
這個結果于代碼變更的周期較一致。
圖片
服務恢復時間
服務的恢復時間,這里的服務恢復是指在發生生產環境中斷后,服務恢復到正常狀態所需的時間。
這個指標反映了團隊在面對生產環境問題時,快速恢復服務的能力。較短的恢復時間表明團隊有有效的事故響應和問題解決流程。
從報告可以看到其向兩個極端的發展:好的越來越好,差的越來越差。
圖片
影響軟件交付性能的因素
CI/CD 工具的使用軟件交付性能指標存在相關性。
DevOps 技術的普及
在開發過程中使用的工具/技術排在前兩名的仍然是源代碼管理和 Issue 跟蹤,這些技術的使用相比過去 12 個月都有所增長,除了敏捷開發管理工具和基于 AI 的代碼工具。
圖片
CICD 工具使用數量
CICD 工具的使用數量于軟件交付性能存在一定的相關性,但并不是簡單的線性關系,而是較為復雜。
單純增加工具的數量比不會永遠提升性能,關鍵在于工具的選擇、配置以及集成度,這些都影響對自動化流程和團隊的支持。相反工具數量過多,會帶來集成和管理的復雜性,特別是工具間的兼容性和互操作行無法得到妥善處理時。
成功的 CICD 不僅僅是技術和工具的問題,還涉及的管理和執行,包括團隊的培訓、流程的涉及、反饋循環的建立以及持續的演進。
圖片
小結
上面選取了報告里的部分內容,主要體現軟件交付性能的變化,以及影響交付性能的因素,也是我覺得比較有意思的部分。不過,還是建議大家可以看一下完整的報告。
參考資料
[1] 持續交付基金會: https://cd.foundation
[2] 完整的報告: https://cd.foundation/state-of-cicd-2024/