G
GuideDevOps
Lesson 2 of 15

SRE vs DevOps

Part of the Site Reliability Engineering tutorial series.

The Famous Analogy

If you ask an SRE at Google how their role relates to DevOps, you will almost certainly hear this phrase:

"Class SRE implements Interface DevOps"

In object-oriented programming, an Interface defines what should be done (the abstract goals), and a Class defines how it is actually done (the implementation).


The Overlap

DevOps and SRE are not competing philosophies. They share the same fundamental goals: breaking down silos, automating tasks, and improving the speed and safety of software delivery.

However, DevOps is often described as a cultural movement — a set of broad guidelines. SRE is a specific job role with a concrete set of tools and mathematical rules to achieve those DevOps goals.

1. Reducing Silos

  • DevOps says: Developers and Operations should talk to each other and share responsibility.
  • SRE does: SREs use the same tools (Git, IDES, CI/CD) as developers. They often rotate into development teams to understand the code, and developers rotate into SRE teams to understand the infrastructure.

2. Accepting Failure

  • DevOps says: Don't be afraid of failure; use it to learn.
  • SRE does: SREs quantify failure using Error Budgets. We mathematically agree that X amount of failure is allowed per month. This removes the "blame game" between teams when a deployment causes a crash.

3. Implementing Change

  • DevOps says: Move fast and automate everything.
  • SRE does: SREs prefer to automate gradual change. We use Canary deployments and automated rollbacks. If a new small change breaks the system, the SRE's automated system detects it and reverts it before a human even wakes up.

SRE vs. DevOps: A Comparison

FeatureDevOps (The Culture)SRE (The Implementation)
PerspectiveBroad organizational philosophy.Engineering-focused discipline.
MeasurementFocuses on Lead Time and Deployment Frequency.Focuses on SLOs, Error Budgets, and Latency.
ToolsCI/CD, Infrastructure as Code, Containers.Monitoring, Incident Response, Toil Automation.
Response to Outage"Let's work together to fix this.""Let's perform a blameless postmortem and automate the fix."

What about Platform Engineering?

Recently, a third term has entered the conversation: Platform Engineering.

While an SRE focuses on the reliability of the system, a Platform Engineer focuses on the developer experience.

  • The SRE ensures the database stays up and is fast.
  • The Platform Engineer builds the internal portal that allows a developer to provision their own database with one click without having to ask the SRE for help.

In small companies, one person often does all three roles. In larger "Big Tech" firms, these are often distinct departments working together.


Summary: Which one do you need?

You don't "choose" between SRE and DevOps.

  • You adopt a DevOps culture to improve collaboration.
  • You hire SREs to apply software engineering discipline to your production environment.

In the next sections, we will dive into the specific tools SREs use to make this relationship work: SLIs, SLOs, and Error Budgets.