Free preview · Beginner · 28 min read
SRE Mental Model: Reliability as a Software Engineering Problem
Understand what SRE is, how it relates to DevOps and operations, and why reliability is managed through engineering, automation and explicit risk decisions.
Site Reliability Engineering applies software engineering to operations and reliability problems. The goal is not to keep every component alive at any cost; the goal is to deliver the level of service users need while preserving the ability to change the system safely.
Product need
↓
User expectation
↓
SLI / SLO
↓
Error budget
↓
Engineering priorities
↓
Automation + safe change + incident learning
↓
Measured reliability
SRE is not “the team that gets paged”
An SRE function normally works across several dimensions:
- define and measure reliability
- design actionable monitoring and alerting
- automate repetitive operational work
- improve deployment safety
- respond to incidents and restore service
- learn from failures through postmortems
- plan capacity and overload behavior
- improve architecture where reliability risk is structural
Traditional operations can become trapped in manual procedures. SRE deliberately asks: what recurring operational work should become software, policy, automation, or product engineering?
Relationship with DevOps
DevOps is a broad set of cultural and delivery practices that reduce friction between development and operations. SRE is a concrete reliability-oriented implementation model with mechanisms such as SLOs, error budgets, on-call engineering, toil reduction and postmortems.
DevOps: collaboration + fast feedback + automation + ownership
SRE: reliability objectives + risk control + operations as engineering
Reliability is a product feature
A service that has every feature but fails during checkout is not successful. At the same time, maximizing reliability without limit can make delivery slow and expensive. SRE therefore treats reliability as an optimization problem rather than a moral absolute.