作者:admin 日期:2023-10-10 瀏覽: 次
助力 DevOps 成功的十五個度量指標(biāo)
本文轉(zhuǎn)載自 DevOps 時代高翻院(調(diào)整了部分翻譯問題)
英文原文:https://dzone.com/articles/15-metrics-for-devops-success
持續(xù)對特定指標(biāo)的關(guān)注是衡量 DevOps 實踐是否成功的關(guān)鍵。通過本文,我們來看一下你需要關(guān)注的十五個度量指標(biāo)。
你所在的組織里 DevOps 是如何踐行的?如果你需要一些幫助來了解這個過程進行的怎么樣,我們已經(jīng)準(zhǔn)備了一個關(guān)鍵的 DevOps 指標(biāo)清單用來追蹤。這些指標(biāo)可以幫助你了解到,在隨著時間的推移你的團隊是如何做的。
上海數(shù)據(jù)恢復(fù)DevOps 這個詞對于不同的人有不同的含義。有人認(rèn)為它是一種文化,這個行業(yè)中的每個廠商都聲稱他們的工具是有益于 DevOps 的。依據(jù)你對 DevOps 的定義不同,這些指標(biāo)可能對你的或者你的團隊的意義或大或小。
我認(rèn)為 DevOps 包括了你的應(yīng)用程序在部署和監(jiān)控中的整個過程。從很多方面來說,這都是站點可靠性工程的問題。
在 Stackify,我們甚至都沒有運維團隊來協(xié)作。我們的開發(fā)人員會直接部署到云服務(wù)器,并且更像是“No-Ops”的方式。
查看我的博客,可以找到更多我對于 DevOps 是什么的觀點。
在你弄明白有哪些 DevOps 指標(biāo)需要追蹤之前,你需要識別出來你所在的組織中有哪些挑戰(zhàn),有哪些問題是你們正在解決的。
在 Stackify,我們最大的問題是部署頻率低,并且降低了缺陷逃逸率。我們的執(zhí)行團隊正在把重點放在2018年的具體指標(biāo)上。
DevOps 是為了盡可能快的持續(xù)交付并交付代碼。你希望能盡快交付而不因此導(dǎo)致問題發(fā)生。
通過追蹤這些 DevOps 指標(biāo),可以評估出你們持續(xù)交付的速度有多快,而不會導(dǎo)致有問題。
1、部署頻率
2、部署規(guī)模
3、部署時間
4、投產(chǎn)周期
5、客戶工單數(shù)
6、自動化測試通過率
7、缺陷逃逸率
8、可用性
9、服務(wù)等級協(xié)議
10、部署失敗數(shù)
11、錯誤率
12、應(yīng)用程序的使用和流量
13、應(yīng)用程序性能
南通數(shù)據(jù)恢復(fù)14、平均檢測時間(MTTD)
15、平均恢復(fù)時間(MTTR)
DevOps 的主要目標(biāo)是快速,質(zhì)量和性能。
你希望盡可能經(jīng)常、快速地交付代碼??梢宰龅蕉嗫?,很大程度上取決于你的產(chǎn)品類型、團隊以及風(fēng)險承受能力。
你可以不跟蹤 DevOps 中速度的指標(biāo),但至少應(yīng)該關(guān)于質(zhì)量問題。你可能已經(jīng)試著根據(jù)自己的能力來做這些,但并沒有真正地關(guān)心到底能有多快。
然而,你總是在關(guān)注質(zhì)量。你最不希望的就是總是在救產(chǎn)品的“火“。
第三部分是性能。你可能對速度和質(zhì)量的權(quán)衡有質(zhì)疑。性能也和質(zhì)量有關(guān),只是有點區(qū)別。

跟蹤有多少故事、特性需求以及修復(fù)的 bug 正在被部署是 DevOps 的另外一個好的指標(biāo)。你的項目的大小會影響部署規(guī)模的。你還可以追蹤有多少故事點或者開發(fā)任務(wù)量。
跟蹤部署頻率是另外一個不錯的 DevOps 指標(biāo)。最終的目標(biāo)是,降低部署規(guī)模并加快部署頻率。降低部署規(guī)模使得更加容易測試和發(fā)布。
我建議單獨統(tǒng)計生產(chǎn)和非生產(chǎn)的部署頻率。你多久部署一次 QA 或者預(yù)生產(chǎn)環(huán)境同樣是重要的。為了確保測試的時間,你需要盡早盡快地部署到 QA 環(huán)境中。
在 QA 環(huán)境中查找 bug,可以有效地保持較低的缺陷逃逸率。
這一點看起來有些奇怪,但跟蹤部署一次所需要花的時間同樣是一個好的指標(biāo)。如果在 Stackify 中,你的一個程序需要花費一個小時才能部署到 Azure 上時。這將會是個噩夢。
跟蹤這些事情可以幫助你識別潛在的問題。如果部署的很快,也更加容易增加部署頻率。
如果目標(biāo)是快速交付代碼的話,這也確實是一個關(guān)鍵的 DevOps 指標(biāo)。我對投產(chǎn)周期的定義是,從開始工作到部署之間所需要的時間。
這可以幫你了解,如果今天開始一項新的工作時,多久將能夠投產(chǎn)。這也是有助于 BizDevOps 的一個好的指標(biāo)。
應(yīng)用程序問題的最好和最壞的表現(xiàn)是客戶支持工單和反饋。你最不希望看到的就是你的用戶發(fā)現(xiàn) bug 或者軟件的問題。因此,這也就成為了程序質(zhì)量和性能問題的指示器。
為了加快速度,強烈建議你的團隊廣泛使用單元測試和功能測試。由于 DevOps 嚴(yán)重依賴自動化,跟蹤你的自動化測試工作質(zhì)量是一個好的 DevOps 指標(biāo)。
知道代碼的變更多久會導(dǎo)致你的測試會失敗是件好事情。
你知道有多少軟件的缺陷在聲稱和 QA 中被發(fā)現(xiàn)?如果想要快速交付代碼,你需要有信心能上在生產(chǎn)之前發(fā)現(xiàn)軟件的缺陷。
你的缺陷逃逸率是非常大的一個指標(biāo),用來跟蹤這些缺陷在生產(chǎn)中經(jīng)常發(fā)生的情況。
你最不想要的就是程序停止。根據(jù)你的程序類型以及部署方式,可能會需要在維護計劃中讓程序下線。我建議跟蹤這一點,以及所有計劃外的停機。
大多數(shù)有一些服務(wù)等級協(xié)議(SLA)。跟蹤你的 SLA 是否合規(guī)同樣重要。即使沒有正式的 SLA,也可能需要有對程序的期望。
我們都不希望發(fā)生,但是對于你們的用戶部署過程多久會發(fā)生一次中斷或者較大的問題?挽救一次失敗的部署是我們都不想要做的事情,但總是應(yīng)該對此有應(yīng)對措施。如果你們的部署過程有缺陷,一定要對這個指標(biāo)做追蹤。這也應(yīng)當(dāng)在平均錯誤時間(MTTF)中被看到。
跟蹤程序的錯誤率是特別重要的。它不僅僅是質(zhì)量問題的指示器,也與持續(xù)的性能和時間相關(guān)的問題有關(guān)聯(lián)。對于好的軟件來說良好的異常處理機制是很重要的。
Bugs – 識別代碼部署后產(chǎn)生的新異常。
線上問題 – 捕獲數(shù)據(jù)庫連接問題,查詢超時,以及其他相關(guān)問題。
對于大多數(shù)程序來說,錯誤總是存在的。在 Stackify,我們在幾百臺服務(wù)器和上千個 SQL 數(shù)據(jù)庫中處理百萬條消息。這里有些錯誤只是繁忙系統(tǒng)的意外。重要的是你要把錯誤率保持在一個頻率并且查找一個峰值。
部署之后,你想要看到會話的數(shù)量或者用戶訪問系統(tǒng)是否正常。如果突然沒有了流量或者出現(xiàn)峰值,就可能是出問題了。
你最不希望看到的就是沒有任何流量。當(dāng)你采用服務(wù)時,也可能看到有流量的峰值,而一個程序突然有了大量的流量。
在你部署之前,應(yīng)該使用類似 Retrace 這樣的工具查找性能問題、隱藏的問題或者其他問題。在部署期間和之后,你也應(yīng)該查找是否有性能上的變化。
在部署之后,可以看到特定的 SQL 查詢、web 服務(wù)調(diào)用和其他程序依賴的主要變化。像 Retrace 這樣的工具可以提供下面可視化的價值評估,以幫助你發(fā)現(xiàn)問題。
當(dāng)問題發(fā)生后,重要的是能夠快速識別出來。你最不想看到是主要功能或者大部分系統(tǒng)宕機并不知道原因。健壯的應(yīng)用程序監(jiān)控并且能覆蓋到位將有助于你快速定位問題。一旦你定位了問題,就必須快速地修復(fù)!
這個指標(biāo)幫你記錄從失敗到恢復(fù)需要花費多長時間。一個關(guān)鍵的商業(yè)指標(biāo)就是保持錯誤最小化并能夠快速地恢復(fù)。通常按小時來計算,但對應(yīng)的是業(yè)務(wù)上的小時而不是時鐘小時數(shù)。
擁有一個健壯的應(yīng)用程序監(jiān)控工具從而快速識別問題并修復(fù)和部署對于減少你的平均恢復(fù)時間(MTTR)是很重要的。
除了上面列出來的 DevOps 指標(biāo)外,你還可以記錄很多其他指標(biāo),這些指標(biāo)都是針對特定程序的。它們中的大多數(shù)都在 DevOps 部署你的應(yīng)用程序時不是必需的。然而,它們對于應(yīng)用程序在生產(chǎn)中的使用和性能的監(jiān)控是非常重要的。
例如,在 Stackify 中,我們利用自定義指標(biāo)來跟蹤每分鐘通過 API 收到的日志消息數(shù)量。這是一個重要的指標(biāo),它可以幫助我們了解通過我們系統(tǒng)的數(shù)據(jù)量。根據(jù)你的應(yīng)用程序?qū)嶋H情況,你可以定義類似對于你們來說非常重要的指標(biāo)。
當(dāng)部署以后,你就想要關(guān)注所有重要的程序指標(biāo),以確保是沒問題的。
如果你想要把 DevOps 實踐到更高層次,我相信上面列出的 DevOps 指標(biāo)將會有助于你追蹤和改進。DevOps 的目標(biāo)是共同協(xié)作并讓更多的開發(fā)者參與到部署和應(yīng)用程序監(jiān)控中來。
常州數(shù)據(jù)恢復(fù)更多內(nèi)容請關(guān)注DevOpsClub公眾號
點擊閱讀原文鏈接,查看英文原文。