SRE体系及稳定性建设
SRE體系及穩(wěn)定性建設(shè)
- SRE
- SRE概念
- SRE的工作職責
- 大型互聯(lián)網(wǎng)的5個生命周期中SRE的職責
- 代碼編寫
- 資源規(guī)劃
- 系統(tǒng)上線
- 運行保障
- 系統(tǒng)下線
- 穩(wěn)定性建設(shè)
- SLA
- MTTR
- 故障管理(三段式)
- 故障前
- 故障中
- 故障后
SRE
SRE概念
SRE在國內(nèi)現(xiàn)在也叫應(yīng)用運維,是面向用戶穩(wěn)定性的,也就是說對用戶的服務(wù)質(zhì)量負責,這也給了SRE更高的要求,要有全局視角,要對系統(tǒng)的全生命周期進行管理,把質(zhì)量和成本工作做到前面,需要一系列的流程.制度.規(guī)范和一系列的工具提高管理、質(zhì)量、自動化效率。
SRE以用戶穩(wěn)定性為目標,業(yè)務(wù)對資源的規(guī)劃管理周轉(zhuǎn)效率、持續(xù)集成上線效率、質(zhì)量管理效率等。
SRE的工作職責
- 1、保障線上服務(wù)的穩(wěn)定性
- 2、建設(shè)工具/平臺/基礎(chǔ)設(shè)施 提升效率
- 3、用技術(shù)手段來控制、優(yōu)化服務(wù)的運行成本
大型互聯(lián)網(wǎng)的5個生命周期中SRE的職責
代碼編寫
SRE的主要工作是搭建和維護代碼管理系統(tǒng),為CI/CD做好準備,目前最常用的就是GitLab了。
資源規(guī)劃
- 1、方案評估
根據(jù)需求規(guī)劃系統(tǒng)的基礎(chǔ)資源,包括機型(或容器規(guī)格)、機房、資源數(shù)量、存儲、4/7層接入方案、域名證書以及是否用CDN等。 - 2、資源申請
將評估后的資源各自走審批流程。 - 3、資源管理
對業(yè)務(wù)使用的海量主機、容器、域名、證書、LB、CDN、存儲、網(wǎng)絡(luò)、專線等資源進行管理,體量上來后一定要建設(shè)CMDB用系統(tǒng)管,各類信息做到可快速檢索,一般大廠存儲、CDN、網(wǎng)絡(luò)、專線都有專門團隊負責,SRE只要管好自己業(yè)務(wù)的使用即可,強調(diào)一點,資源一定要制定一套科學的命名規(guī)則。 - 4、權(quán)限管理
大型系統(tǒng)人多、環(huán)境復雜,SRE需要對權(quán)限做詳細的規(guī)劃,制定SRE、開發(fā)序列對應(yīng)每種資源新手和老工程師的權(quán)限規(guī)則,理想情況開發(fā)只要管好代碼即可,任何prod環(huán)境操作都只能由SRE處理,開發(fā)是不允許有root權(quán)限的,開發(fā)和測試環(huán)境視情況處理,所有操作做好審計方案。 - 5、資源操作
因為面向的是大型互聯(lián)網(wǎng)系統(tǒng),要保障對海量資源進行高效批量的操作,就需要借助一些技術(shù)工具了,比如主機操作類似ansilbe、saltstack,為了安全管理也要結(jié)合安全跳板機的使用,容器、LB、證書簽發(fā)等也都有對應(yīng)的技術(shù)方案,這些是需要SRE來Ops的。
系統(tǒng)上線
- 1、環(huán)境規(guī)劃
一個成體系的系統(tǒng)一般會有4套環(huán)境:開發(fā)環(huán)境(dev)、測試環(huán)境(stag)、預發(fā)布環(huán)境(prew)、生產(chǎn)環(huán)境(prod),環(huán)境之間相互獨立,視情況做網(wǎng)絡(luò)隔離,我在新浪碰到了幾次開發(fā)同學把測試環(huán)境的數(shù)據(jù)發(fā)布到了生產(chǎn)環(huán)境,造成很差的用戶體驗,所以規(guī)劃的時候,低安全等級的網(wǎng)絡(luò)到高安全等級加墻還是有必要的,SRE提前把環(huán)境規(guī)劃好、上線流程制定好,會減少很多變更類故障。 - 2、環(huán)境搭建
主機環(huán)境配置,看似有了公有云、容器后,只要把鏡像做好,這塊工作要簡單很多,但其實也不然,首先相對云主機而言,物理機的性能高成本低,量能跑起來的前提下用物理機最劃算,所以公有云一般作為彈性資源;二是經(jīng)過論證,不是所有的服務(wù)都適合上容器,所以現(xiàn)實情況還是會有大量的物理機運維,各種裝包、配置、內(nèi)核和系統(tǒng)調(diào)優(yōu)、維修、過保機器替換等,反而是在原來的基礎(chǔ)之上增加了打容器鏡像的工作,這就是實際情況,環(huán)境搭建、系統(tǒng)調(diào)優(yōu)、軟件包升級的工作量還是很大,而且這塊工作經(jīng)常會出現(xiàn)各種奇葩的事情,特別是搭建GPU機器學習的環(huán)境,不是這個庫不對那個依賴版本不對的,一搞就是半天,不過從趨勢上看這塊工作我覺得會越來越標準化。
接入層配置,包含從域名、證書、解析、負載均衡4/7層、后端這一套配置流程,其中4/7層選擇、調(diào)度策略、連接數(shù)是否夠用等等都是需要根據(jù)具體業(yè)務(wù)情況制定技術(shù)方案。 - 3、CI/CD
協(xié)同開發(fā)制定CI/CD的技術(shù)方案,為Dev提供部署系統(tǒng)(大廠有專門團隊研發(fā)),制定上線審批流程,按理生產(chǎn)環(huán)境的上線應(yīng)由SRE操作,但因為開發(fā)和SRE的數(shù)量差距大,成長期的系統(tǒng)迭代又快,由誰上線就視情況處理了,我們這處理方式是牽涉到代碼變更的上線由開發(fā)操作,其余的遷移擴縮容等由SRE處理。
運行保障
SRE是質(zhì)量擔當,面向的就是用戶穩(wěn)定性,所以系統(tǒng)運行保障是SRE工作最重的階段,也是占用精力、工作量最大的部分,質(zhì)量越好,意味著故障越少,下面就從故障全生命周期的角度對這塊的工作做個梳理。
- 1、故障前——目標:減少問題流入“故障中”
①變更管控
②容器管理
③災備建設(shè)
④業(yè)務(wù)巡檢
⑤活動重保
⑥故障演練
⑦日志管理
⑧技術(shù)調(diào)優(yōu)
⑨服務(wù)管制 - 2、故障中——目標:快速發(fā)現(xiàn)故障,止損
①監(jiān)控告警
②故障定位
③預案執(zhí)行 - 3、故障后——目標:消滅同類故障
①故障復盤
系統(tǒng)下線
資源釋放
系統(tǒng)下線階段的主要工作就是資源釋放,不僅僅要釋放服務(wù)器,關(guān)聯(lián)的域名、LB、ACL等等資源要全部釋放,干干凈凈的來、干干凈凈的去。
穩(wěn)定性建設(shè)
SLA
業(yè)內(nèi)喜歡用SLA (服務(wù)等級協(xié)議,全稱:service level agreement)來衡量系統(tǒng)的穩(wěn)定性,對互聯(lián)網(wǎng)公司來說就是網(wǎng)站服務(wù)可用性的一個保證。9越多代表全年服務(wù)可用時間越長服務(wù)越可靠,停機時間越短。就以一個標準99.99%為例,停機時間52.6分鐘,平均到每周也就是只能有差不多1分鐘的停機時間,也就是說網(wǎng)絡(luò)抖動這個時間可能就沒了。保證一個系統(tǒng)四個9或者更高的五個9,需要一套全體共識嚴格標準的規(guī)章制度,沒有規(guī)矩不成方圓。創(chuàng)建的規(guī)范有如下幾種:
- 1、研發(fā)規(guī)范、自身穩(wěn)定;
- 2、事務(wù)中不能包含遠程調(diào)用;
- 3、超時時間和重試次數(shù)要合理;
- 4、表數(shù)據(jù)操作必須double check,合理利用索引,避免出現(xiàn)慢查詢、分庫分表不走分表鍵;
- 5、沒有有效的資源隔離, 避免不同業(yè)務(wù)共用一個線程池或連接池;
- 6、合理的系統(tǒng)拓撲,禁止不合理服務(wù)依賴,能依賴就依賴,否則同步盡量改成異步弱依賴;
- 7、精簡的代碼邏輯;
- 8、核心路徑流程必須進行資源隔離,確保任何突發(fā)情況主流程不能受影響。
MTTR
MTTR即平均恢復時間,里面包括了MTTI(平均識別時間)、MTTK(平均定位時間)、MTTF(平均恢復時間)、MTTV(平均驗證時間)。我們提供工具賦能、制定完備預案實現(xiàn)一鍵應(yīng)急、平時自動校驗等來縮短整體MTTR的時間。
故障管理(三段式)
- 故障前:故障預防、災備預案
- 故障中:故障發(fā)現(xiàn)、故障定位、故障恢復
- 故障后:故障復盤、故障改進
故障前
監(jiān)控體系的建設(shè)(構(gòu)建立體化的監(jiān)控:全鏈路監(jiān)控)
- 基礎(chǔ)準備:監(jiān)控大盤-基礎(chǔ)監(jiān)控
- 基礎(chǔ)準備:監(jiān)控大盤-SLA
- 基礎(chǔ)準備:監(jiān)控大盤-日志
- 基礎(chǔ)準備:監(jiān)控大盤-客戶端監(jiān)控
- 基礎(chǔ)準備:監(jiān)控大盤-客戶端監(jiān)控
- 基礎(chǔ)準備:架構(gòu)設(shè)計、 梳理
- 基礎(chǔ)準備:容量評估
- 基礎(chǔ)準備:災備預案/災備演練
- 基礎(chǔ)準備:災備預案/故障演練
故障中
- 故障管理—監(jiān)控告警
- 故障管理-日志分析
- 故障管理-鏈路跟蹤
- 故障管理-預案執(zhí)行
- 故障管理-恢復結(jié)果確認
故障后
- 故障復盤:關(guān)鍵時間線回顧
- 故障復盤:黃金三問
- 故障復盤:故障報告
總結(jié)
以上是生活随笔為你收集整理的SRE体系及稳定性建设的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 西门子S7-200创建和下载程序
- 下一篇: 计世网:IT人员秘密思考的十件事情