# Site reliability engineering

> Running production systems with software engineering, and a budget for failure.

- Level: Intermediate
- Topics: Cloud, Software
- URL: https://tidbit.legios.com.ar/site-reliability-engineering/
- In Spanish: [Ingeniería de confiabilidad](https://tidbit.legios.com.ar/es/site-reliability-engineering/)

**Site reliability engineering**, or **SRE**, is a way of keeping online services reliable by treating operations as a software problem. It began at Google in 2003, when Ben Treynor Sloss was asked to run a production team made of software engineers. Instead of fixing servers by hand, SREs write code that deploys, scales, monitors and repairs systems, and they aim to automate away repetitive manual work, which they call **toil**.

Its best-known idea is the **error budget**. The team agrees on an SLO, a reliability target such as "99.9% of requests succeed each month". The remaining 0.1% is the budget: room for failures. While there is budget left, developers ship new features fast. If incidents eat it up, releases slow down and effort shifts to reliability. This turns the old fight between "move fast" and "don't break things" into a number both sides accept.

SREs also share on-call duty, lead the response when something breaks, and write blameless postmortems afterward. Many companies now have SRE teams, and the term is also used as a job title. It overlaps a lot with DevOps; one common way to put it is that SRE is a specific, measurable way of doing DevOps.

## An analogy

A household with a monthly budget for eating out: as long as there is money left, you go to restaurants freely; once it is spent, you cook at home until next month. The error budget does the same with failures and new releases.

## Keep in mind

- Operations done by engineers who write software to run systems.
- Started at Google in 2003.
- Error budget: the failure allowed by the SLO, spent on moving fast.
- Reduces toil, shares on-call, writes blameless postmortems.

## Go deeper

- [Introduction to the Site Reliability Engineering book (Google)](https://sre.google/sre-book/introduction/)
- [Embracing risk, on error budgets (Google SRE book)](https://sre.google/sre-book/embracing-risk/)
- [Site reliability engineering on Wikipedia](https://en.wikipedia.org/wiki/Site_reliability_engineering)

## Related terms

- [Google](https://tidbit.legios.com.ar/google/): The search company that gives most products away and makes its money on ads.
- [Server](https://tidbit.legios.com.ar/server/): A computer whose job is to answer requests from other computers, all day, every day.
- [Deployment](https://tidbit.legios.com.ar/deployment/): Getting a new version of software from the team's computers to real users.
- [SLA](https://tidbit.legios.com.ar/sla/): A written promise about how reliable a service will be, and what happens if it is not.
- [Incident postmortem](https://tidbit.legios.com.ar/incident-postmortem/): A written review of what went wrong in an outage and how to avoid a repeat.
- [DevOps](https://tidbit.legios.com.ar/devops/): Breaking the wall between people who write software and people who run it.
