什么是 SRE(站點(diǎn)可靠性工程)?

概述

站點(diǎn)可靠性工程(SRE)是 IT 運(yùn)維的軟件工程方案。SRE 團(tuán)隊(duì)使用軟件作為工具,來管理系統(tǒng)、解決問題并實(shí)現(xiàn)運(yùn)維任務(wù)自動化。

SRE 執(zhí)行的任務(wù)以前通常由運(yùn)維團(tuán)隊(duì)手動執(zhí)行,或者交給使用軟件和自動化來解決問題和管理生產(chǎn)系統(tǒng)的工程師或運(yùn)維團(tuán)隊(duì)執(zhí)行。?

在創(chuàng)建可擴(kuò)展和高度可靠的軟件系統(tǒng)時(shí),SRE 是寶貴的實(shí)踐。它可幫助您通過代碼管理大型系統(tǒng),對于管理成千上萬臺機(jī)器的系統(tǒng)管理員(sysadmin)來說,代碼更具可擴(kuò)展性和可持續(xù)性。?

站點(diǎn)可靠性工程的概念由 Google 工程團(tuán)隊(duì)的 Ben Treynor Sloss 第一個提出。?

SRE 可以幫助團(tuán)隊(duì)在發(fā)布新功能和確保用戶可靠性之間找到平衡。

在這種背景下,標(biāo)準(zhǔn)化和自動化是 SRE 模型的兩大重要部分。在這里,站點(diǎn)可靠性工程師尋求增強(qiáng)和自動化運(yùn)維任務(wù)。

通過這些方式,SRE 有助于提高當(dāng)今的系統(tǒng)可靠性,并且隨著時(shí)間的推移不斷提高。?

SRE 支持團(tuán)隊(duì)從傳統(tǒng) IT 運(yùn)維方案遷移至云原生方案。

站點(diǎn)可靠性工程師的工作是什么?

站點(diǎn)可靠性工程師是一個獨(dú)特的崗位,要么必須具有系統(tǒng)管理員背景、或有運(yùn)維經(jīng)驗(yàn)的軟件開發(fā)人員;要么必須是有軟件開發(fā)技能的 IT 運(yùn)維人員。?

SRE 團(tuán)隊(duì)負(fù)責(zé)部署、配置和監(jiān)控代碼,以及生產(chǎn)服務(wù)的可用性、延遲、變更管理、應(yīng)急響應(yīng)和容量管理。

SRE 團(tuán)隊(duì)根據(jù)服務(wù)水平協(xié)議(SLA)確定新功能的推出,并利用服務(wù)水平指標(biāo)(SLI)和服務(wù)水平目標(biāo)(SLO)定義系統(tǒng)所需的可靠性。?

SLI 測量所提供服務(wù)水平的特定方面。關(guān)鍵 SLI 包括請求延遲性、可用性、錯誤率和系統(tǒng)吞吐量。SLO 基于根據(jù) SLI 而指定的服務(wù)水平的目標(biāo)值或范圍。

然后,根據(jù)確定可接受的停機(jī)時(shí)間,確定所需系統(tǒng)可靠性的 SLO。這個停機(jī)時(shí)間稱為誤差量,即出錯和中斷的最大允許閾值。?

SRE 并不是要實(shí)現(xiàn) 100% 可靠性,而是針對故障做好計(jì)劃并妥善應(yīng)對。

一旦建立,開發(fā)團(tuán)隊(duì)就可以在發(fā)布新功能時(shí)允許出現(xiàn)這一定量的誤差。利用 SLO 和誤差量,團(tuán)隊(duì)隨后可確定產(chǎn)品或服務(wù)是否能夠在可用誤差量的基礎(chǔ)上啟動。

如果某個服務(wù)在運(yùn)行時(shí)處于誤差量以內(nèi),則開發(fā)團(tuán)隊(duì)可在任何時(shí)間發(fā)布它,但是,如果系統(tǒng)當(dāng)前有太多錯誤或停機(jī)時(shí)間超過誤差量的允許范圍,則必須使錯誤數(shù)減少至誤差量以內(nèi)后才能發(fā)布。???

開發(fā)團(tuán)隊(duì)可執(zhí)行自動化運(yùn)維測試以驗(yàn)證可靠性。?

站點(diǎn)可靠性工程師的時(shí)間要均衡分配給運(yùn)維任務(wù)和項(xiàng)目工作。根據(jù) Google 的 SRE 最佳實(shí)踐,站點(diǎn)可靠性工程師最多只能將一半的時(shí)間花在運(yùn)維上,所以應(yīng)該監(jiān)控確保不會超過這個時(shí)間。??

他們剩余的時(shí)間應(yīng)專注于開發(fā)任務(wù)上,比如創(chuàng)建新功能,擴(kuò)展系統(tǒng),以及實(shí)施自動化。

額外的運(yùn)維工作和表現(xiàn)欠佳的服務(wù)應(yīng)重新指定給開發(fā)團(tuán)隊(duì),這樣站點(diǎn)可靠性工程師就不用將太多時(shí)間花在應(yīng)用或服務(wù)的運(yùn)維上。?

自動化是站點(diǎn)可靠性工程師的重要工作部分。如果他們一直在反復(fù)處理同一個問題,就會努力實(shí)現(xiàn)解決方案自動化。?

保持運(yùn)維和開發(fā)工作之間的平衡是 SRE 的重要組成部分。?

DevOps 和SRE

DevOps?是指對企業(yè)文化、業(yè)務(wù)自動化和平臺設(shè)計(jì)等方面進(jìn)行全方位變革,從而實(shí)現(xiàn)迅捷、優(yōu)質(zhì)的服務(wù)交付,提升企業(yè)價(jià)值和響應(yīng)能力。SRE 可視為 DevOps 的實(shí)施。

和 DevOps 一樣,SRE 也與團(tuán)隊(duì)文化和關(guān)系密切相連。SRE 和 DevOps 都致力于搭建開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)之間的互通橋梁,以便加快交付服務(wù)。?

DevOps 和 SRE 實(shí)踐都可以實(shí)現(xiàn)更快的應(yīng)用開發(fā)生命周期、改進(jìn)的服務(wù)質(zhì)量和可靠性,以及縮短的 IT 應(yīng)用開發(fā)時(shí)間等優(yōu)勢。

然而,SRE 與 DevOps 有所不同,因?yàn)樗蕾囉陂_發(fā)團(tuán)隊(duì)中的站點(diǎn)可靠性工程師,這些工程師也要有解決通信和工作流程問題的運(yùn)維背景。

站點(diǎn)可靠性工程師本身要求職責(zé)重疊,兼具開發(fā)團(tuán)隊(duì)和運(yùn)維團(tuán)隊(duì)的技能。?

DevOps 團(tuán)隊(duì)的開發(fā)人員常常疲于處理運(yùn)維任務(wù),需要擁有更專業(yè)運(yùn)維技能,而 SRE 就能派上用場。?

在編碼和構(gòu)建新功能時(shí),DevOps 專注于有效通過開發(fā)流程,而 SRE 專注于通過創(chuàng)建新功能來平衡站點(diǎn)可靠性。?

在這里,基于容器技術(shù)、Kubernetes 和微服務(wù)的現(xiàn)代化應(yīng)用平臺是落實(shí) DevOps 實(shí)踐的關(guān)鍵所在,可幫助企業(yè)交付安全的創(chuàng)新軟件服務(wù)。

支持 SRE 的技術(shù)

SRE 要在應(yīng)用的整個生命周期中確保日常運(yùn)維任務(wù)的自動化和標(biāo)準(zhǔn)化。?紅帽? Ansible? 自動化平臺是一個全面的集成平臺,可幫助 SRE 團(tuán)隊(duì)實(shí)現(xiàn)速度、協(xié)作和增長的自動化,從而為企業(yè)的技術(shù)、運(yùn)維和財(cái)務(wù)職能提供安全性和支持。

具體而言,Ansible? 自動化平臺可提供:?

云和本地基礎(chǔ)架構(gòu)編排,可用于實(shí)例、路由、負(fù)載平衡、防火墻等。?

基礎(chǔ)架構(gòu)優(yōu)化,包括大小適當(dāng)?shù)脑瀑Y源,以及根據(jù)需要添加或刪除中央處理器(CPU)和隨機(jī)存取存儲器(RAM)等資源。?

云運(yùn)維,包括具有持續(xù)集成和持續(xù)交付(CI/CD)管道的應(yīng)用部署、操作系統(tǒng)修補(bǔ)和維護(hù)。

業(yè)務(wù)連續(xù)性,包括從云中移動和復(fù)制資源,創(chuàng)建和管理備份策略,以及管理中斷和故障。

原文鏈接:https://www.redhat.com/zh/topics/devops/what-is-sre#%E6%94%AF%E6%8C%81-sre-%E7%9A%84%E6%8A%80%E6%9C%AF

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容