極狐GitLab小課堂|如何利用DevOps來償還技術負債?

陳笑笑長大了發表於2021-08-21

眾所周知,DevOps世界的主要資源限制之一是技術負債。何為技術負債?在DevOps詞典中,把技術債務歸結為開發團隊在軟體開發過程中做出的次優決策,但沒有回過頭來解決這些問題。隨著企業踏上DevOps之路,改善整體技術債務的迫切需要已經出現。下面就帶領大家深入探討下,極狐GitLab如何利用DevOps來償還技術負債的。


要償還技術負債,首先要弄明白技術負債是如何在工作流程中積累的。


技術負債的一些來源有程式碼不足、過時的架構、低於標準的基礎設施和鬆懈的開發流程。令人頭疼的cruft積累會導致開發過程中出現摩擦,因此很難更新或新增程式碼,直到開發進度停滯不前。此外,以手動部署與使用自動化流水線為例,手動部署需要花費大量的時間,但為實現自動化流水線而需要投入的前期準備工作也令人望而生畏。


所以,對於一個團隊來說,儘早處理技術負債將有助於長期節省資源。如果團隊陷入了耗時的技術負債旋渦中,可以看看總部位於美國明尼蘇達州的諮詢公司 BI Worldwide (BIW) 是如何透過過渡到GitLab來加速部署的。


在案例研究中,BIW企業產品開發團隊解釋了他們在內部基礎架構上進行手動測試和手動部署時所面臨的困境。他們的工具鏈複雜且效率低下,導致了大量backlog產品功能待辦清單。


“應用所有的程式碼更改非常耗時。”BIW 產品架構師 Adam  Dehnel 在研究案例中說。當每個版本中都塞進了太多的功能時,部署頻率與速度會變得很慢。“雖然在那時BIW 已經有了實踐和工具,但卻把時間花在了沒有業務差異化特徵的專案上。他們面臨著缺乏跨團隊溝通的典型問題,包括組織內工作流程和個性化工具集的低效機制。”BIW 產品架構師 Adam  Dehnel 解釋道。


最開始,BIW 進行了從 CVS 到 Git 的痛苦轉型。下一步,公司的目標是實現構建、測試和部署過程的自動化,並利用GitHub、Jenkins、JIRA 和 Confluence等工具建立了一個完整工具鏈。


對於 BIW 來說,這種複雜的工具鏈是錯誤的。在這個具體的例子中,有一點沒有提到但值得關注的是維護所有這些不同工具的隱性成本。一般來說,擁有的工具越多,就會有更多升級、維護和整合這些工具的額外開銷。在經營成本的背後還有巨大的隱性成本。


在接下來的迭代中,BIW 透過採用GitLab享有了一體化工具的高效率。BIW從每9到12個月釋出一個版本的速度節奏,發展為每天使用 GitLab  Ultimate 進行近十次部署,這無疑大大減少了他們由於緩慢而費力的釋出週期而造成的技術負債。


由此可以看來,想要節約寶貴資源,可以用DevOps來償還技術負債。DevOps可以幫助使用者更快、更頻繁地進行部署,使企業在競爭中佔據優勢,它同時也是一種償還技術負債的策略。透過首先考慮到程式碼和工程流程中的低效率,使用者可以粗略評估和分類團隊的技術負債。這種型別的審計是第一步,以確定使用者可以減少的過時垃圾程式程式碼,以幫助縮短週期時間,清理backlog產品功能待辦清單並實現工程流程的現代化。


 目前,GitLab現已在中國上線了適應本地需求的中國發行版極狐GitLab,所以,國內使用者可以用極狐GitLab的DevOps來進行操作,操作起來會更加簡潔易懂。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31545225/viewspace-2788109/,如需轉載,請註明出處,否則將追究法律責任。

相關文章