功能表

什麼是網站可靠性工程 (SRE)?

放大鏡

網站可靠性工程 (SRE) 這項專業,利用軟體工程實踐來處理基礎架構與作業問題,打造出特別容易擴充的可靠軟體系統。專業的網站可靠性工程師可以打造出最適當的解決方案,以在開發與營運團隊之間取得平衡。Google 率先推出這項職務;如需深入說明,請參閱 Google 電子書「Site Reliability Engineering(網站可靠性工程)」

網站可靠性工程與 DevOps 開發維運的比較

網站可靠性工程師 (SRE) 會在開發與營運部門之間工作,但不一定在 DevOps 開發維運內部。SRE 的概念早在 2003 年就已經問世,這表示它比 DevOps 開發維運出現得更早。這個詞彙被一手打造 Google 網站可靠性團隊的 Ben Treynor 廣為使用。根據 Treynor 的說法,SRE 是「當軟體工程師必須負責過去稱為營運的任務時會發生的情況」。

DevOps 開發維運與 SRE 這兩項專業都旨在協助開發與營運人員,使他們能在整個應用程式生命週期中瞭解對方的程序,藉此強化發行週期。他們也主張自動化與監控,以縮短從開發人員進行變更到將其部署至正式作業環境的時間。SRE 和 DevOps 開發維運的目標是在不影響程式碼或產品本身品質的情況下達成此結果。

SRE 與 DevOps 開發維運會提出兩個不同但同樣重要的問題:

DevOps 開發維運會問需要完成什麼任務。

SRE 則會問如何才能完成該任務。

網站可靠性工程師的日常工作

網站可靠性工程師會測量服務層級指標 (SLI) 和服務層級目標 (SLO),而 DevOps 開發維運團隊則會測量一段時間內的失敗率和成功率。SRE 必須分擔與以下 DevOps 開發維運基礎架構改進要素相關的責任:

減少組織的封閉環境

SRE 並不討論公司中存在多少封閉環境,但他們鼓勵其他人討論這個問題。這項討論是透過使用整個公司內的工具和技術來完成的,有助於將所有權分配給所有員工。

坦然接受失敗

SRE 必須確保沒有太多錯誤或失敗。為了達到此目的,他們會使用由 SLI 和 SLO 分數組成的公式。SLI 會透過計算要求延遲、每秒要求處理量或每次每個要求的失敗次數,來計算每個要求的失敗次數。SLO 是由臨界值和百分比得出的,代表 SLI 在一定時間內的成功。

實作漸進式變更

SRE 都在為變更而努力,但會以緩慢且有條理的方式進行。由於各公司都想要加速發展,因此需要頻繁地發行,不斷地更新產品。因此 DevOps 開發維運和 SRE 都必須快速回應,但速度則必須維持穩定且受到控制。

運用工具與自動化功能

只要免除手動工作能為開發人員和營運部門提供價值,就應該進行自動化。

衡量一切工作

SRE 團隊必須知道一切工作都在朝著正確方向發展。這一點可以透過針對各種情境設定警示、接受同級單位進行程式碼審查,以及 / 或使用單元測試來實現。

網站可靠性工程 (SRE) 的未來

網站可靠性工程 (SRE) 和 DevOps 開發維運是兩項熱門的專業,彼此之間有許多重疊之處;其基本目標是瞭解如何衡量成功或失敗,以及如何在每個應用程式中獲得持續的可靠性。可靠性不只與基礎架構相關,也和應用程式品質、效能到安全性等各方面息息相關。SRE 非常關心從原始程式碼到部署的每個過程;而這也是他們贏得從開發到營運的真正橋樑這項聲譽的原因。

繼續閱讀