站點可靠性工程(SRE)是 IT 運維的軟件工程方案。

SRE 團隊使用軟件作為工具,來管理系統、解決問題並實現運維任務自動化。

SRE 執行的任務以前通常由運維團隊手動執行,或者交給使用軟件和自動化來解決問題和管理生產系統的工程師或運維團隊來執行。

在創建可擴展和高度可靠的軟件系統時,SRE 是寶貴的實踐。它可幫助您通過代碼管理大型系統,對於管理成千上萬台機器的系統管理員來說,代碼更具可擴展性和可持續性。

站點可靠性工程的概念由 Google 工程團隊的 Ben Treynor Sloss 第一個提出。

SRE 可以幫助團隊在發布新功能和確保用戶可靠性之間找到平衡。

標準化和自動化是 SRE 模型的兩大重要部分。站點可靠性工程師應始終致力於增強和自動化運維任務。

這樣一來,SRE 就能幫助提高現有系統的可靠性,同時優化體量逐漸龐大的系統。

SRE 支持團隊從傳統 IT 運維方案遷移至雲原生方案。

站點可靠性工程師的工作是什麼?

站點可靠性工程師是一個獨特的崗位,要么必須是有運維經驗的軟件開發人員;要么必須是有軟件開發技能的系統管理員或的 IT 運維人員。

SRE 團隊負責部署、配置和監控代碼,以及生產服務的可用性、延遲、變更管理、應急響應和容量管理。

站點可靠性工程可幫助團隊確定可以要啟動哪些新功能,以及在何時根據服務水平協議(SLA)並利用服務水平指標(SLI)和服務水平目標(SLO)定義系統所需的可靠性。

SLI 是針對提供的服務水平的特定方面所定義的測量指標。關鍵 SLI 包括請求延遲性、可用性、錯誤率和系統吞吐量。 SLO 基於根據 SLI 而指定的服務水平的目標值或範圍。

然後,根據認定為可接受的停機時間確定所需系統可靠性的 SLO。這個停機時間稱為誤差量,即出錯和中斷的最大允許閾值。

SRE 並不是要實現 100% 可靠性,而是針對故障做好計劃並妥善應對。

開發團隊在發布新功能時允許出現這一定量的誤差。利用 SLO 和誤差量,開發團隊可確定產品或服務是否能夠在可用誤差量的基礎上啟動。

如果某個服務在運行時處於誤差量以內,則開發團隊可在任何時間發布它,但是,如果系統當前有太多錯誤或停機時間超過誤差量的允許範圍,則必須使錯誤數減少至誤差量以內後才能發布。

開發團隊可執行自動化運維測試以驗證可靠性。

站點可靠性工程師的時間要均衡分配給運維任務和項目工作。根據 Google 的 SRE 最佳實踐,站點可靠性工程師最多只能將一半的時間花在運維上,所以應該監控確保不會超過這個時間。

剩餘的時間應專注於開發任務上,比如創建新功能,擴展系統,以及實施自動化。

額外的運維工作和表現欠佳的服務應重新指定給開發團隊,而不是讓站點可靠性工程師將太多時間花在應用或服務的運維上。

自動化是站點可靠性工程師的重要工作部分。如果他們要反复處理一個問題,就會努力實現解決方案自動化。這也有助於控制運維工作在他們工作中所佔的比例。

保持運維和開發工作之間的平衡是 SRE 的重要組成部分。

DevOps 和SRE

DevOps 是指對企業文化、業務自動化和平台設計等方面進行全方位變革,從而實現迅捷、優質的服務交付,提升企業價值和響應能力。 SRE 可視為 DevOps 的實施。

和 DevOps 一樣,SRE 也與團隊文化和關係密切相連。 SRE 和 DevOps 都致力於搭建開發團隊和運維團隊之間的互通橋樑,以便加快交付服務。

DevOps 和 SRE 實踐都可以實現更快的應用開發生命週期、改進的服務質量和可靠性,以及縮短的 IT 應用開發時間等優勢。

但 SRE 有所不同的是,它依賴於開發團隊中的站點可靠性工程師,這些工程師也要有解決通信和工作流程問題的運維背景。

站點可靠性工程師本身要求職責重疊,兼具開發團隊和運維團隊的技能。

DevOps 團隊的開發人員常常疲於處理運維任務,需要擁有更專業運維技能,而 SRE 就能派上用場。

在代碼和新功能方面,DevOps 專注於有效通過開發流程,而 SRE 專注於通過創建新功能來平衡站點可靠性。

基於容器技術、Kubernetes 和微服務的現代化應用平台是落實 DevOps 實踐的關鍵所在,可幫助企業交付安全的創新軟件服務。

了解如何通過 Kubernetes 平台實施 DevOps

支持 SRE 的技術

SRE 在應用的整個生命週期中,都要確保日常運維任務自動化和標準化。 Linux® 容器可為您的團隊提供雲原生開發所需的底層技術。容器支持集開發、交付、集成和自動化於一體的統一環境。

而 Kubernetes 是實現 Linux 容器操作自動化的現代方法。 Kubernetes 可幫助您輕鬆高效地管理在公共雲、私有云或混合雲中運行 Linux 容器的集群。

選擇好合適的平台後,您就可以充分利用已經實施的文化和流程變革。

By tony

自由軟體愛好者~喜歡不斷的思考各種問題,有新的事物都會想去學習嘗試 做實驗並熱衷研究 沒有所謂頂天的技術 只有謙虛及不斷的學習 精進專業,本站主要以分享系統及網路相關知識、資源而建立。 Github http://stnet253.github.io

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料