Cloud & Software Development

Site reliability engineering (SRE)

Also known as: SRE, site reliability engineer, reliability engineering

Site reliability engineering (SRE) is an approach to running production systems that treats operations as a software problem.

SRE teams set reliability targets, automate repetitive work, and use 'error budgets' to decide when to ship features and when to focus on stability. While many companies simply renamed their operations teams 'SRE,' the real practice changes how product and operations teams negotiate risk.

Site reliability engineering (SRE), explained at three levels

At home

Think of a building's maintenance team that, instead of fixing the same leaky tap every week, redesigns the plumbing so it stops leaking. Site reliability engineers do that for websites and apps. They keep systems running, but rather than repeating manual fixes, they write software to automate them, and they agree in advance how reliable a service needs to be so they know when to act.

At work

Site reliability engineering, or SRE, is an approach to running production systems that treats operations as a software engineering problem. SRE teams agree with the business on a reliability target for each service, automate repetitive work, and use the gap between the target and perfection to decide how fast to release. Businesses care because it balances new features against stability using data, not arguments.

Real-world examples

At home

Lena read the free Google SRE book while studying computer science. She applied its postmortem template to a group project failure, and the discussion focused on fixing the process rather than blaming whoever pushed the bad code.

At work

Marcus leads engineering at a Montreal payments startup. Product wanted weekly launches while outages were rising. He introduced SLOs and an error budget; when the budget ran out in March, the team paused features for two weeks and fixed the top three causes of incidents.

How it compares

featureSite reliability engineering (SRE)DevOps
Main focusReliability targets and automationCollaboration and delivery culture
Key toolSLOs and error budgetsCI/CD and shared ownership
OriginGoogle, 2003Community movement, around 2009
Typical roleDedicated SRE engineersA practice across teams

SRE is often described as one concrete way to implement DevOps ideas.

For analysts

Setting SLOs is really a business decision about how much downtime customers will tolerate. I'd involve product owners in choosing them, because an SLO picked only by engineers rarely matches what customers actually care about.

History & origin

Ben Treynor Sloss started Google's SRE team in 2003, famously describing it as what happens when a software engineer is asked to design an operations team. Google kept the practice largely internal until it published Site Reliability Engineering in 2016, followed by The Site Reliability Workbook in 2018. The books introduced service level objectives, error budgets, toil limits, and blameless postmortems to a wide audience. Job titles followed quickly, and by the early 2020s SRE was one of the most common infrastructure roles. In my opinion, SRE's most valuable idea isn't technical at all: it's that 100% reliability is the wrong goal.