本文翻譯自:https://www.flagship.io/glossary/site-reliability-engineer/舆乔,意譯~
眾所周知,開發(fā)和IT運(yùn)營之間因?yàn)槠ü蓻Q定腦袋剂公,存在巨大的鴻溝希俩,而網(wǎng)站可靠性工程師(SRE)在開發(fā)和IT運(yùn)營之間建立了一座橋梁,SRE會承擔(dān)原本屬于IT運(yùn)營的一部分工作纲辽,不過SRE的工作方式和傳統(tǒng)的IT運(yùn)營很不相同颜武,SRE有很強(qiáng)的研發(fā)能力,他們通過創(chuàng)建可擴(kuò)展和可靠的軟件系統(tǒng)來解決問題拖吼。
標(biāo)準(zhǔn)化和自動化是SRE工作的核心鳞上,特別是當(dāng)系統(tǒng)遷移到云端時(shí)。因此吊档,他們通常有軟件或系統(tǒng)工程或系統(tǒng)管理的背景篙议,有IT運(yùn)營經(jīng)驗(yàn)。
什么是網(wǎng)站可靠性工程怠硼?
在探討網(wǎng)站可靠性工程師的角色和職責(zé)之前鬼贱,我們先來定義一下什么叫網(wǎng)站可靠性工程。網(wǎng)站可靠性工程是一個(gè)由谷歌首次提出的術(shù)語香璃,核心是 "把IT運(yùn)營當(dāng)作一個(gè)軟件問題來對待"吩愧。
SRE主要是為IT運(yùn)營開發(fā)軟件系統(tǒng)和自動化解決方案。SRE做的是傳統(tǒng)上由IT運(yùn)營完成的工作增显,所不同的是,SRE有軟件專業(yè)知識脐帝,他們會利用這些知識來解決復(fù)雜的IT運(yùn)營問題同云。
因此,網(wǎng)站可靠性工程可以被認(rèn)為是一套實(shí)踐堵腹,將軟件工程的各個(gè)方面納入IT運(yùn)營炸站,從而提高軟件系統(tǒng)(IT運(yùn)營的運(yùn)營對象)的效率和可靠性,改善工作流程疚顷。
SRE 與 DevOps
網(wǎng)站可靠性工程與DevOps密切相關(guān)旱易,DevOps是另一個(gè)將軟件開發(fā)和運(yùn)營聯(lián)系起來的概念禁偎,可以被看作是SRE核心原則的概括。因此阀坏,SRE在成功實(shí)施DevOps實(shí)踐中發(fā)揮了很大作用如暖。
此外,DevOps和SRE都試圖在運(yùn)營和開發(fā)團(tuán)隊(duì)之間架起橋梁忌堂,以便更快地交付軟件盒至。
然而,谷歌的一篇文章對這兩個(gè)術(shù)語進(jìn)行了區(qū)分士修,指出SRE "恰好體現(xiàn)了DevOps的理念枷遂,但對可靠性的度量和實(shí)現(xiàn)有更多的規(guī)范性,這些規(guī)范要在軟件工程和IT運(yùn)營工作中落地棋嘲。換句話說酒唉,SRE規(guī)定了如何在各種DevOps領(lǐng)域取得成功,尤其是在可靠性方面"沸移。
網(wǎng)站可靠性工程師是做什么的痪伦?
網(wǎng)站可靠性工程師(SRE)在開發(fā)和運(yùn)營之間工作。SRE是一個(gè)具有IT運(yùn)營經(jīng)驗(yàn)和知識的軟件開發(fā)人員阔籽。
這個(gè)角色的很多工作內(nèi)容都是通過寫代碼來完成的流妻,比如分析日志、測試生產(chǎn)環(huán)境笆制,以及應(yīng)對其他任何問題绅这,所以SRE工程師將是一個(gè)編寫代碼的專家。
自動化做好了在辆,業(yè)務(wù)研發(fā)人員就可以更專注在功能開發(fā)证薇,就可以更快的把一些新的產(chǎn)品特性帶入生產(chǎn),讓終端用戶受益匆篓。
運(yùn)營團(tuán)隊(duì)則會發(fā)現(xiàn)他們的工作量在減少浑度,因?yàn)镾RE會對任何反復(fù)出現(xiàn)的問題進(jìn)行自動化解決。
SRE工程師將在開發(fā)和IT運(yùn)營工作之間進(jìn)行轉(zhuǎn)換鸦概,并保持兩者之間的平衡箩张。因?yàn)镾RE工程師的主要工作是自動化,這意味著此類工程師會增強(qiáng)軟件開發(fā)過程的性能窗市、效率和監(jiān)控先慷。
所需的技能組合
SRE致力于創(chuàng)建軟件,以提高業(yè)務(wù)系統(tǒng)的可靠性咨察,修復(fù)問題论熙,并對事件和問題作出回應(yīng)。因此摄狱,他們將需要各種技術(shù)技能脓诡。
他們將需要擁有各種自動化工具的知識无午,因?yàn)樗麄兺ǔX?fù)責(zé)建立和整合軟件工具,以提高組織系統(tǒng)的可靠性和可擴(kuò)展性祝谚。
如上所述宪迟,SRE將需要編碼知識和大多數(shù)常見的編程語言,比如Ruby, Javascript和PHP踊跟。
另外SRE還需要具備主要云供應(yīng)商的專業(yè)知識踩验,如AWS和谷歌云。
SRE的日常角色和職責(zé)
自動化
如前所述商玫,SRE工程師建立自動化的工具來管理IT運(yùn)營箕憾。因此,他們的目的不是手動執(zhí)行這些功能拳昌,而是將它們自動化袭异。這些功能包括
- 持續(xù)集成和持續(xù)交付
- 監(jiān)測
- 事件響應(yīng)
- 警報(bào)
監(jiān)控
SRE工程師負(fù)責(zé)確保底層基礎(chǔ)設(shè)施的順利運(yùn)行,確保系統(tǒng)和工具按預(yù)期工作炬藤。他們還監(jiān)測關(guān)鍵的應(yīng)用程序和服務(wù)御铃,以盡量減少停機(jī)時(shí)間并確保其可用性。
問題解決
這些工程師與開發(fā)人員緊密合作沈矿,特別是當(dāng)問題出現(xiàn)時(shí)上真,他們將與開發(fā)人員合作,幫助排除故障羹膳,并在發(fā)出警報(bào)時(shí)提供咨詢睡互。
在開發(fā)人員遇到問題時(shí),SRE將進(jìn)行調(diào)查陵像,然后解決該問題就珠。在事件解決后,SRE將重新審視該問題并確定原因醒颖,以確保它不會再次發(fā)生妻怎。
跨團(tuán)隊(duì)協(xié)作
如上,SRE需要跨團(tuán)隊(duì)協(xié)同泞歉,主要是IT運(yùn)營人員和開發(fā)人員逼侦。通過建立可靠的系統(tǒng)為這些團(tuán)隊(duì)提供支持,這將使這些團(tuán)隊(duì)有更多的時(shí)間將注意力轉(zhuǎn)移到建立新的功能上腰耙,從而更快地將這些功能推出給客戶偿洁。
SRE使用的常見工具
- 監(jiān)控:此類工具包括AWS CloudWatch和NewRelic
- 事件管理/待命:如PagerDuty和VictorOps
- 項(xiàng)目管理和問題跟蹤:如Jira和Trello
- 基礎(chǔ)設(shè)施協(xié)調(diào):包括Terraform和SaltStack
工多工具請參考《SRE工具列表》
SRE的收入是多少?
根據(jù)payscale沟优,這種類型的工程師在美國的年薪在76,000美元到158,000美元之間,平均年薪為117,768美元睬辐。
小結(jié)
SRE工程師正在成為組織內(nèi)一個(gè)越來越重要的角色挠阁。這是一個(gè)具有挑戰(zhàn)性的角色宾肺,需要對編碼和自動化有很高的熱情。
在你的組織中擁有這樣的工程師將有助于降低你的運(yùn)營成本侵俗,同時(shí)提高系統(tǒng)的可靠性锨用。
關(guān)于譯者
本文譯者秦曉輝,Flashcat合伙人隘谣,文章內(nèi)容是Flashcat技術(shù)團(tuán)隊(duì)共同沉淀的結(jié)晶增拥,作者做了編輯整理,我們會持續(xù)輸出監(jiān)控寻歧、穩(wěn)定性保障相關(guān)的技術(shù)文章掌栅,文章可轉(zhuǎn)載,轉(zhuǎn)載請注明出處码泛,尊重技術(shù)人員的成果猾封。