Site Reliability Engineering

Also known as: SRE

framework · computer science · organizing-schema

Google's approach treating operations as a software problem with SLOs and error budgets.

Site Reliability Engineering was developed by Ben Treynor Sloss at Google beginning in 2003, with the founding insight that hiring software engineers to do operations work would lead them to automate away repetitive operational tasks rather than scaling operational headcount linearly with system size. SRE was substantially codified in the 2016 book Site Reliability Engineering: How Google Runs Production Systems (edited by Betsy Beyer and colleagues), with subsequent volumes (The Site Reliability Workbook 2018, Building Secure and Reliable Systems 2020) extending coverage. The framework's central operational mechanisms are Service Level Indicators (SLIs — quantitative measures of service performance), Service Level Objectives (SLOs — target levels of SLI performance), and the Error Budget (the difference between 100% and the SLO, representing how much unreliability is acceptable in a given period). When the error budget is consumed, the reliability work takes priority over feature development; when budget remains, feature velocity is preferred. SRE prescribes that engineers spend at most 50% of time on operational work (toil), with the remainder on engineering improvements that reduce future toil. SRE complements DevOps — Treynor Sloss has described SRE as 'a specific implementation of DevOps' with opinions about how to do it.

Originators

Ben Treynor Sloss (founder at Google); subsequent codification by Betsy Beyer, Chris Jones, Jennifer Petoff, Niall Murphy, and Google SRE community high

Year / Decade

2003 (Google founding); 2016 (Site Reliability Engineering book); 2018 (Workbook) high

Primary sources

Beyer, B., Jones, C., Petoff, J. & Murphy, N. (eds.) (2016). Site Reliability Engineering: How Google Runs Production Systems, Beyer, B. et al. (eds.) (2018). The Site Reliability Workbook high

Core components

Primary use case

Reliability engineering in technology companies, particularly large-scale internet platforms; foundation for the SRE job category and substantial professional ecosystem; basis for SLO-based reliability practice that has spread well beyond Google; complementary discipline to DevOps in larger organizations; reference framework in cloud-platform engineering and platform engineering.

Common criticisms

Lineage

Child of
DevOps
Siblings
DevOps, CI/CD
Derived from
DevOps