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

  1. Embrace risk. Choose a reliability target that matches user needs and business cost. Spend the remaining risk on innovation.
  2. Define service level objectives (SLOs). Measure reliability from the user's point of view, with numbers.
  3. Eliminate toil. Manual, repetitive, automatable work should be capped (usually at 50% of an SRE's time) and then automated away.
  4. Monitor what matters. Alert on symptoms that users feel, not on every internal fluctuation.
  5. Automate and simplify. Automation reduces errors; simple systems are easier to run and recover.
  6. Release safely. Progressive rollouts, canaries and quick rollbacks make change boring.
  7. 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:#062

If 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, communicate

Roughly 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.