服務可靠性工程師 (SRE) 可協助 DevOps 成功、提供任務關鍵服務更優異的健康狀態能見度、改善事件回應時間,並確保所有應用程式的高可用性。在本文章中,我們將探討什麼是 SRE,以及 SRE 如何協助您的組織改善軟體開發生命週期 (SDLC) 的整體品質與可靠性。
服務可靠性工程師負責 IT 作業的監控、自動化和可靠性。他們使用軟體開發工具來自動化 IT 作業任務,如變更管理、事件回應和生產系統管理。他們也負責監控軟體部署的運作狀況,並將日誌和資料轉回給開發人員。
英文姓名首字母 SRE 可指稱服務可靠性工程師或現場可靠性工程實務。SRE 做法的目的是確保組織的服務和應用程式永遠上線,即使開發團隊經常進行更新也沒問題。
SRE 角色高度依賴軟體工具和自動化,可以簡化日常任務,如應用程式監控或系統管理。當開發人員更新應用程式時,他們的變更有時會對應用程式造成不利影響,並降低效能,甚至導致效能崩潰。SRE 隨時留意這些潛在問題,確保軟體程式碼或實作中的錯誤不會影響組織為客戶提供滿意服務的能力。
SRE 的一大職責是作為 IT 開發與營運之間的緩衝工具與引導工具。開發人員希望快速且頻繁地更新軟體,但營運團隊希望稍慢一點速度,以確保更新不會造成問題。
由於需要維持開發與營運之間的最佳平衡,SRE 必須整合多項工作,包括軟體工程、營運與基礎架構管理。他們通常也非常善於建立和管理網路和系統,而且他們知道如何預測和預防代價高昂的停機時間和系統中斷。
SRE 致力於維護組織 IT 基礎架構的可用性、效能和可靠性。其中包括系統的設計、實作和整體監控,以保持系統在最高效率下運作,並始終能夠提供終端使用者想要的直觀、回應式體驗。
SRE 利用軟體工具,可以自動化並簡化許多關鍵的作業任務,例如日誌分析、修補與更新應用程式與系統、測試生產環境等。他們也密切管理所有系統、偵測並解決任何出現的問題,並在事件發生後進行事後調查,以分析發生的情況,以及未來如何預防。
其他職責包括:
SRE 與 DevOps 不同,但每個團隊的目標都有些相似之處。SRE 和 DevOps 都希望開發和營運能更緊密、更有效率地運作。SRE 和 DevOps 都非常有利於自動化和系統最佳化。
雖然傳統的 DevOps 做法帶來了更好的整體協作和更快的軟體開發週期,但 DevOps 通常沒有專精於推動開發的任何人能改善或提高站點的效能和可靠性。這就是 SRE 的亮點。SRE 的唯一目的是為整個系統提供(或維護)可靠性和可擴充性。
DevOps 專注於速度和靈活性,SRE 則專注於管理基礎架構,並維持基礎架構可用和高效能。DevOps 在組織中更是一種文化方法,但 SRE 採用高度專業化的技能來支援 DevOps,同時確保營運高峰。
即使在 DevOps 的文化中,SRE 也是 IT 營運與開發之間的橋樑。他們經常作為品質保證,但它是積極的 QA。SRE 通常是讓 DevOps 成功的關鍵因素,有助於在系統穩定性與開發速度之間取得理想的平衡。
由於 SRE 是 IT 作業與開發人員之間的橋樑,因此需要相當多的技能。現今的許多 SRE 都是系統管理員以外的人員,他們知道如何編碼,或是前軟體開發人員在操作方面擁有豐富的經驗。
SRE 必須知道如何設計並建立可擴充的彈性 IT 系統。他們需要了解各種雲端運算平台。他們也需要知道如何設定網路通訊協定和管理資料庫。也許最重要的是,他們需要出色的問題解決和溝通技巧。
其他重要技能包括:
這個問題的答案是肯定的!SRE 的需求比以往任何時候都多,這種勢頭沒有放緩的跡象。Gartner 的產業分析師估計,到 2027 年,有 75% 的企業將在整個組織中採用 SRE 做法來優化營運。2022 年,只有 10% 的企業使用 SRE 做法,這個百分比大幅躍進。
隨著企業組織越來越常將應用程式與服務移至線上,客戶仍持續期待能順暢地存取服務,而不需停機或延遲。SRE 是實現這些期望的關鍵部分,尤其是在停機時間可能造成嚴重影響的產業,如技術、醫療保健和財務。
大型全球組織需要具備 SRE 技能的工程師,以確保其服務與應用程式的可靠性。雖然該職位有許多技術需求,但 SRE 的職業發展軌跡相當開放,而且可以進一步擔任管理與領導職務。