本文翻譯自:https://www.flagship.io/glossary/site-reliability-engineer/,意譯~
眾所周知,開發和 IT 運營之間因為屁股決定腦袋,存在巨大的鴻溝,而網站可靠性工程師(SRE)在開發和 IT 運營之間建立了一座橋樑,SRE 會承擔原本屬於 IT 運營的一部分工作,不過 SRE 的工作方式和傳統的 IT 運營很不相同,SRE 有很強的研發能力,他們透過建立可擴充套件和可靠的軟體系統來解決問題。
標準化和自動化是 SRE 工作的核心,特別是當系統遷移到雲端時。因此,他們通常有軟體或系統工程或系統管理的背景,有 IT 運營經驗。
什麼是網站可靠性工程?
在探討網站可靠性工程師的角色和職責之前,我們先來定義一下什麼叫網站可靠性工程。網站可靠性工程是一個由谷歌首次提出的術語,核心是 “把 IT 運營當作一個軟體問題來對待”。
SRE 主要是為 IT 運營開發軟體系統和自動化解決方案。SRE 做的是傳統上由 IT 運營完成的工作,所不同的是,SRE 有軟體專業知識,他們會利用這些知識來解決複雜的 IT 運營問題。
因此,網站可靠性工程可以被認為是一套實踐,將軟體工程的各個方面納入 IT 運營,從而提高軟體系統(IT 運營的運營物件)的效率和可靠性,改善工作流程。
SRE 與 DevOps
網站可靠性工程與 DevOps 密切相關,DevOps 是另一個將軟體開發和運營聯絡起來的概念,可以被看作是 SRE 核心原則的概括。因此,SRE 在成功實施 DevOps 實踐中發揮了很大作用。
此外,DevOps 和 SRE 都試圖在運營和開發團隊之間架起橋樑,以便更快地交付軟體。
然而,谷歌的一篇文章對這兩個術語進行了區分,指出 SRE “恰好體現了 DevOps 的理念,但對可靠性的度量和實現有更多的規範性,這些規範要在軟體工程和 IT 運營工作中落地。換句話說,SRE 規定了如何在各種 DevOps 領域取得成功,尤其是在可靠性方面”。
網站可靠性工程師是做什麼的?
網站可靠性工程師(SRE)在開發和運營之間工作。SRE 是一個具有 IT 運營經驗和知識的軟體開發人員。
這個角色的很多工作內容都是透過寫程式碼來完成的,比如分析日誌、測試生產環境,以及應對其他任何問題,所以 SRE 工程師將是一個編寫程式碼的專家。
自動化做好了,業務研發人員就可以更專注在功能開發,就可以更快的把一些新的產品特性帶入生產,讓終端使用者受益。
運營團隊則會發現他們的工作量在減少,因為 SRE 會對任何反覆出現的問題進行自動化解決。
SRE 工程師將在開發和 IT 運營工作之間進行轉換,並保持兩者之間的平衡。因為 SRE 工程師的主要工作是自動化,這意味著此類工程師會增強軟體開發過程的效能、效率和監控。
所需的技能組合
SRE 致力於建立軟體,以提高業務系統的可靠性,修復問題,並對事件和問題作出回應。因此,他們將需要各種技術技能。
他們將需要擁有各種自動化工具的知識,因為他們通常負責建立和整合軟體工具,以提高組織系統的可靠性和可擴充套件性。
如上所述,SRE 將需要編碼知識和大多數常見的程式語言,比如 Ruby, Javascript 和 PHP。
另外 SRE 還需要具備主要雲供應商的專業知識,如 AWS 和谷歌雲。
SRE 的日常角色和職責
自動化
如前所述,SRE 工程師建立自動化的工具來管理 IT 運營。因此,他們的目的不是手動執行這些功能,而是將它們自動化。這些功能包括
-
持續整合和持續交付
-
監測
-
事件響應
-
警報
監控
SRE 工程師負責確保底層基礎設施的順利執行,確保系統和工具按預期工作。他們還監測關鍵的應用程式和服務,以儘量減少停機時間並確保其可用性。
問題解決
這些工程師與開發人員緊密合作,特別是當問題出現時,他們將與開發人員合作,幫助排除故障,並在發出警報時提供諮詢。
在開發人員遇到問題時,SRE 將進行調查,然後解決該問題。在事件解決後,SRE 將重新審視該問題並確定原因,以確保它不會再次發生。
跨團隊協作
如上,SRE 需要跨團隊協同,主要是 IT 運營人員和開發人員。透過建立可靠的系統為這些團隊提供支援,這將使這些團隊有更多的時間將注意力轉移到建立新的功能上,從而更快地將這些功能推出給客戶。
SRE 使用的常見工具
-
監控:此類工具包括 AWS CloudWatch 和 NewRelic
-
事件管理/待命:如 PagerDuty 和 VictorOps
-
專案管理和問題跟蹤:如 Jira 和 Trello
-
基礎設施協調:包括 Terraform 和 SaltStack
工多工具請參考《SRE工具列表》
SRE 的收入是多少?
根據 payscale,這種型別的工程師在美國的年薪在 76,000 美元到 158,000 美元之間,平均年薪為 117,768 美元。
小結
SRE 工程師正在成為組織內一個越來越重要的角色。這是一個具有挑戰性的角色,需要對編碼和自動化有很高的熱情。
在你的組織中擁有這樣的工程師將有助於降低你的運營成本,同時提高系統的可靠性。
關於譯者
本文譯者秦曉輝,Flashcat合夥人,文章內容是 Flashcat 技術團隊共同沉澱的結晶,作者做了編輯整理,我們會持續輸出監控、穩定性保障相關的技術文章,文章可轉載,轉載請註明出處,尊重技術人員的成果。
如果對 Nightingale、Categraf、Prometheus 等技術感興趣,歡迎加入我們的微信群組,聯絡我(picobyte)拉入部落,和社群同仁一起探討監控技術。