SRE · SRE Foundations · Foundation · 20 min read · FREE LESSON
SRE Fundamentals: What It Is, Why It Exists and How to Think Like an SRE
Start here. A clear, story-driven introduction to Site Reliability Engineering: the problem it solves, the core ideas, a day in the life and the answers interviewers expect.
A story to begin with
It is 2:47 a.m. Priya's phone screams. Checkout is failing for one in three customers. She opens her laptop, and within minutes finds herself in a familiar mess: the developers say "the code passed all tests", the operations team says "the servers look fine", and the business is losing money every minute.
Three hours later the problem is found: a configuration change, deployed to every region at once, with a typo no test could catch. Everyone is exhausted. The postmortem has three action items. Two months later, a similar thing happens.
That idea became Site Reliability Engineering: run production the way a good software team builds a product, with code, measurement and design instead of manual effort. The practice grew out of Google in the early 2000s and has since been adopted across the industry.
What SRE is in one paragraph
SRE applies software engineering to operations problems. Instead of fixing the same thing by hand every week, SREs write code and build systems that make the problem disappear. Instead of arguing about whether a release is "safe enough", they agree on a number (the SLO) and let data decide. Instead of blaming the person who made a mistake, they ask why the system made that mistake easy.
flowchart LR A[Traditional ops<br/>manual, reactive,<br/>scales with headcount] --> B[SRE<br/>engineering, proactive,<br/>scales with automation] B --> C[Measurable reliability<br/>SLOs and error budgets] B --> D[Less toil<br/>automation first] B --> E[Shared ownership<br/>devs and SREs] style B fill:#6366f1,color:#fff style C fill:#34d399,color:#062
The big idea: reliability is a feature with a target
Most people assume the goal is to be as reliable as possible. SRE says no: 100% reliability is the wrong target.
- It is impossible: networks, disks and humans fail.
- It costs exponentially more with every extra "nine".
- Past a certain point users cannot notice the improvement, because their own device, Wi-Fi or mobile network fails more often than that.
- It stops you from shipping changes, and change is how products improve.
So SRE picks a target that is good enough for users and uses the leftover risk as a budget for moving fast. That budget is the error budget. We will go deep on this in the next lessons.
| Availability | Downtime per 30 days | What it feels like |
|---|---|---|
| 99% | 7 hours 12 minutes | Hobby project |
| 99.9% | 43 minutes | Typical business web app |
| 99.99% | 4 minutes 19 seconds | Payments, critical APIs |
| 99.999% | 26 seconds | Telecom, life-safety; extremely expensive |
The seven principles of SRE
- Embrace risk. Choose a reliability target that matches user needs and business cost. Spend the remaining risk on innovation.
- Define service level objectives (SLOs). Measure reliability from the user's point of view, with numbers.
- Eliminate toil. Manual, repetitive, automatable work should be capped (usually at 50% of an SRE's time) and then automated away.
- Monitor what matters. Alert on symptoms that users feel, not on every internal fluctuation.
- Automate and simplify. Automation reduces errors; simple systems are easier to run and recover.
- Release safely. Progressive rollouts, canaries and quick rollbacks make change boring.
- Learn from failure. Blameless postmortems, game days and chaos experiments turn incidents into improvements.
Underneath all seven sits one cultural rule: developers and SREs share ownership of production.
SRE, DevOps, Platform Engineering and System Administration
| Core question | Typical output | Measured by | |
|---|---|---|---|
| System administrator | "Is the server up?" | Tickets closed, patches applied | Uptime, response time |
| DevOps | "How do we ship faster, together?" | CI/CD pipelines, culture change | Deployment frequency, lead time |
| SRE | "How reliable should this be, and how do we prove it?" | SLOs, automation, incident response | SLO attainment, toil, MTTR |
| Platform engineering | "How do we make developers productive and safe?" | Internal developer platform | Adoption, time to first deploy |
The reliability loop
This is the heart of SRE. Memorise it; you will see it in every lesson.
flowchart LR
A[Define SLIs and SLOs<br/>from user journeys] --> B[Measure continuously]
B --> C{Error budget<br/>remaining?}
C -- Yes --> D[Ship features<br/>at full speed]
C -- No --> E[Freeze risky launches<br/>fund reliability work]
D --> B
E --> F[Alert on budget burn]
F --> G[Incident response]
G --> H[Blameless postmortem<br/>and fixes]
H --> A
style C fill:#6366f1,color:#fff
style E fill:#f87171,color:#fff
style D fill:#34d399,color:#062If there is budget left, the team ships quickly. If the budget is spent, the team slows down and invests in reliability. Nobody has to win an argument; the data decides.
A day in the life of an SRE
timeline
title A typical SRE day
Morning : Review overnight alerts and SLO dashboards
: Hand-off notes from the previous on-call
Late morning : Project work: automate a manual runbook
: Review a service's production readiness
Afternoon : Capacity review with a product team
: Pair with developers on a rollout plan
Late afternoon : Write or review a postmortem
: Plan next week's game day
On call : Triage pages, run incidents, communicateRoughly half the time is engineering work (automation, tooling, design reviews) and at most half is operational work (on-call, tickets). If operations eat everything, SRE has failed and the team is just an ops team with a new name.
How SRE changes over a career
| Stage | Focus |
|---|---|
| Getting started | Learn the system, handle on-call, write scripts, understand SLOs |
| Practitioner | Own reliability for services, run incidents, design alerts, automate toil |
| Senior and staff | Design resilient architectures, drive cross-team reliability programmes, mentor |
| Leader | Build teams, set strategy, report reliability in business terms |
Common myths, busted
- "SRE is just ops with a new name." Not if half the work is engineering and the team can hand back unreliable services.
- "SREs own reliability alone." Reliability is shared; developers share the pager and the SLOs.
- "We need 99.999% to be professional." Most services need less, and chasing more can hurt the business.
- "Incidents mean someone failed." Incidents mean the system had a weakness. Fix the system.
Putting it into practice: a mini case
A small team runs an online store with 99.9% as the target. In March the service ran at 99.97%. In April a risky database migration burned most of the budget, and a bad deploy finished it off.
- The team had a policy agreed in advance: if the budget runs out, risky changes stop until it recovers.
- Product leaders were unhappy, but the data was clear and the policy was theirs too.
- The team used the freeze to add canary deploys and an automated rollback. In May the service hit 99.95% and the freeze lifted.
Notice what did not happen: no blame, no shouting match, no heroics. The numbers and the agreed policy did the work.
Why the SRE model scales better than classic operations
In a classic operations model, a team of operators looks after the system by hand, and the team grows roughly in step with the service: more traffic, more servers, more people. Developers and operators also end up with different incentives, so friction is built in.
The SRE model changes the economics with a few deliberate rules:
- Cap the manual work. A common rule of thumb is that no more than about half of an SRE's time goes to operational work. The rest is reserved for engineering projects that remove future toil. If operational load exceeds the cap, the overflow is pushed back to the developers, so the people who create the load also feel it.
- Share the pager. Developers join the on-call rotation for services that are unreliable, so reliability becomes everyone's problem.
- Replace the argument with a number. The error budget turns "ship faster" versus "stay stable" into a shared, measurable trade-off.
The result is a team that can grow far more slowly than the service it runs. That is the real promise of SRE: reliability that scales with automation, not with headcount.
How to implement SRE in your organization
You do not need a new department or permission from the CEO. Start small, show results, then grow. A practical 90-day plan:
flowchart LR A[Days 1 to 15<br/>Pick one service<br/>and baseline] --> B[Days 15 to 45<br/>Define SLOs<br/>and fix noisy alerts] B --> C[Days 45 to 75<br/>Incident process<br/>and postmortems] C --> D[Days 75 to 90<br/>Error budget policy<br/>and toil register] D --> E[Show results<br/>and expand] style A fill:#22d3ee,color:#012 style E fill:#34d399,color:#062
Step 1: choose a pilot. Pick one important service with a team that wants help. Avoid your most politically charged system for the first attempt. Success on a medium-visibility service is a better sales tool than a heroic failure on the biggest one.
Step 2: baseline reality (week 1 and 2). Collect numbers before changing anything:
- Incidents in the last 6 to 12 months: count, severity, duration, causes.
- Pages per week and how many were actionable.
- Time spent on manual operational work (even a rough tally).
- Deployment frequency and how often releases caused problems. These numbers are your "before" picture and your best persuasion tool.
Step 3: define SLOs (week 3 to 6). Run a one-hour workshop with the service owners and a product manager. Identify the two or three user journeys that matter, define one SLI each, set a starting SLO from historical data, and write it down on one page. (The next lesson shows exactly how.)
Step 4: reduce alert noise. List last month's pages. Delete or downgrade every alert that no human needed to act on. Convert the rest into symptom-based alerts. Fewer, better pages are the fastest visible win and make people trust the project.
Step 5: introduce a lightweight incident process. Severity levels, a named incident commander, a shared channel and a simple template. Run a blameless postmortem for every serious incident and track the actions in the same backlog as feature work.
Step 6: agree on an error budget policy. A short document, signed by engineering and product leaders, saying what happens when the budget is healthy, low and exhausted. Without this, SLOs are just charts.
Step 7: start a toil register. A shared sheet listing manual tasks with rough hours per week. Pick the top three and automate or eliminate them in the next quarter.
Step 8: report and expand. After 90 days, present: SLO attainment, pages per week before and after, incidents and time to recover, hours of toil removed. Ask for the next service to onboard.
Who to bring along
| Person | What they care about | How to win them |
|---|---|---|
| Engineering manager | Delivery speed, team health | Fewer pages, less firefighting |
| Product manager | Features and customer trust | SLOs in business language; the budget as shared currency |
| Executive sponsor | Revenue risk | Incident cost trend, clear before-and-after |
| On-call engineers | Sleep and sanity | Noise reduction, runbooks, shared ownership |
Mistakes to avoid
- Renaming the ops team "SRE" without changing how work is done.
- Starting with tools (a new monitoring product) instead of agreements (SLOs and policy).
- Defining twenty SLOs on day one.
- Treating SRE as a gate that approves releases, rather than a partner that gives data.
- Skipping the executive sponsor, so the first conflict between a launch and the budget has no referee.
Interview questions
Q1. What is SRE, in your own words? SRE applies software engineering to operations. Teams define reliability with measurable SLOs, use error budgets to balance reliability and feature speed, automate repetitive work, and learn from incidents without blame.
Q2. What is the difference between SRE and DevOps? DevOps is a cultural movement that breaks the wall between development and operations. SRE is a prescriptive implementation with concrete practices: SLOs, error budgets, toil limits, shared on-call and blameless postmortems. They share goals and complement each other.
Q3. Why not aim for 100% availability? It is unachievable, users cannot perceive the difference beyond their own network's reliability, cost rises exponentially with each nine, and the pursuit blocks change, which is how products improve.
Q4. How do you decide the right reliability target? Start from user journeys and business impact, check historical performance and dependency limits (you cannot be more reliable than a hard dependency), negotiate with product, and revisit it quarterly.
Q5. An outage was caused by a developer's bad change. Whose fault is it? Nobody's. The system allowed a risky change to reach production without enough guardrails. Fix the guardrails: tests, canaries, automated rollback, review. That is blameless culture.
Q6. What is toil, and why cap it? Toil is manual, repetitive, automatable, tactical work that scales with service growth and leaves no lasting value. Capping it at about 50% ensures SREs have time to engineer permanent improvements.
Quick revision checklist
- I can define SRE in one sentence using SLOs and error budgets
- I can explain why 100% is the wrong target, with the nines table
- I can name the seven principles and the reliability loop
- I can explain SRE vs DevOps without conflict
- I can describe toil and why it is capped
- I have written my first draft SLOs for an app I use
Next: open Embracing Risk and SLIs, SLOs and SLAs to learn how to turn these ideas into numbers.