站點可靠性工程師(SREs)位於軟體工程與系統工程的交叉點。雖然基礎架構與軟體組件可透過無限多組合達成目標,但專注於基礎技能,能讓 SREs 操作複雜系統與軟體,無論這些系統是專有、第三方、開放系統,或運行於雲端/本地基礎架構等。尤其重要的是深入了解系統和基礎架構的這些領域如何相互關聯與互動。軟體工程與系統工程技能的結合相當罕見,通常需經歷長時間接觸多種基礎架構、系統與軟體而建立。
SREs 引入工程實踐以維持網站運作。每個分散式系統都由許多組件集結而成。SREs 驗證業務需求,將其轉成分散式系統各組件的 SLA(服務等級協議),監控與衡量 SLA 遵循情況,重新架構或擴充以緩解或避免 SLA 違約,並將這些學習成果反饋至新系統或專案,從而減少營運煩勞。因此,SREs 從系統的 Day 0 設計階段起就扮演關鍵角色。
2019 年初,我們開始造訪印度各大學校園,招聘最優秀卓越的人才,確保 LinkedIn 及其組成複雜技術堆疊的所有服務皆可隨時為用戶提供服務。LinkedIn 此關鍵職能隸屬於站點工程團隊及專精可靠性的軟體工程師──站點可靠性工程師(SREs)。
隨著旅程推進,各校園學生紛紛提問站點可靠性工程師的工作內容為何?如何學習成為成功的 SRE 所需的技能與紀律?幾個月後,部分校園學生作為實習生或正式工程師加入 LinkedIn 成為站點工程團隊一員;也有部分轉職者加入,背景非傳統 SRE。因而數位同事開始思考,如何協助新進畢業工程師順利加入站點工程團隊。
市面上很少有資源指導初學者開發 SRE 基本技能。缺乏這些資源讓許多人難以進入業界相關職缺。因此,我們創建了 SRE 學院,作為有志建立 SRE 職涯者的出發點。
本課程著重於打穩基礎技能,結構安排強調實際案例,說明學習各主題如何發揮於 SRE 日常工作。目前 SRE 學院涵蓋以下主題:
-
段階 101
- 基礎系列
- Python 與網頁
- 資料
- 系統設計
- 指標與監控
- 安全
-
段階 102
我們相信持續學習有助於深入知識與技能擴充。每個單元附有參考資料,供更深入的學習指引。我們期望透過這些單元,能構築站點可靠性工程師所需的核心技能。
在 LinkedIn,我們已採用此課程協助非傳統背景新進人員與剛畢業工程師順利銜接 SRE 角色。多次成功導入新員工,加速其快速產出,促使我們決定將內容開源,協助其他組織培育新工程師,並為有志者提供指導。我們了解現有內容只是起點,期盼社群共同協助優化與擴充。歡迎參考並加入貢獻指南:CONTRIBUTING.md。
