Site Reliability Engineering

Site Reliability Engineering

Site Reliability Engineering is a way of working in which software developers ensure that large online services run reliably. Instead of fixing disruptions by hand, they write programs that monitor operations and respond automatically.

Large online services such as search engines, streaming platforms, or banking apps run on thousands of computers in data centers. These computers fail, become overloaded, or receive faulty software updates. Someone has to make sure the service still works for users despite this. Site Reliability Engineering is the answer Google came up with around the year 2003. The basic idea: this operational work is not handled by pure technical administrators, but by people who can program. They treat reliability as a problem to be solved with software, not as a task to be tackled with more staff.

Why outages are so costly

If an online shop is unreachable for an hour, nobody buys anything. For large providers, this results in losses of millions, plus the damage to reputation. For publicly traded technology companies, availability is therefore not a minor technical footnote, but a figure that interests investors. This is exactly why SRE teams are now also appearing at banks, insurance companies, and car manufacturers.

The second reason is an old conflict in software development. Developers want to release new features as quickly as possible. Operations wants to change as little as possible, because every change can break something. Both sides are right, and without clear rules they block each other.

Site Reliability Engineering resolves this dispute with a calculation instead of opinions. It is determined in advance how much downtime is allowed, for example 0.1 percent of the time per month. As long as the service performs better than that, developers are allowed to ship new versions. If the error budget is used up, releases are stopped and the focus shifts to stabilization.

Error budgets, metrics, and automation

It always starts with measurement. SRE teams define a small number of metrics that truly matter from the user’s perspective: How often does a request fail? How long does a response take? A target value is agreed upon for these metrics, known in technical jargon as a Service Level Objective. The difference between the target and perfection is the error budget.

An example makes this tangible. With a target of 99.9 percent availability, a service is allowed to be down for about 43 minutes per month. That’s surprisingly little, but not zero. These 43 minutes are a resource that can be spent, for instance on a risky update. The comparison to pocket money fits well: as long as there’s something left, you can afford to experiment.

The second building block is the fight against recurring manual work. In the SRE world, this is called toil, meaning dull routine tasks like restarting a server overnight. A typical rule states that at most half of working time may be spent on this. The rest flows into programs that will handle such tasks automatically in the future. After every major incident, there is also a written, blame-free analysis, known as a postmortem, so that the same mistake doesn’t happen twice.

From streaming services to AI data centers

SRE is most noticeable when it’s missing. An outage notification for a train app or a game server is usually the moment when such teams work for hours. Many providers operate public status pages documenting availability and outages. The reports published after major outages, for instance by cloud providers, also stem from this practice.

In job postings, Site Reliability Engineer is now a common title, often well paid. Related but not identical is the term DevOps, which broadly describes closer collaboration between development and operations. SRE is a concrete implementation of this idea with fixed metrics and rules.

Such teams are now especially in demand in the AI field. When millions of people use a chatbot simultaneously, its computing power must be reliably available. A common misconception, by the way, is that one hundred percent availability is the goal. SRE assumes the opposite: perfect reliability is too expensive and prevents any progress.

Subscribe free. Unsubscribe the second it sucks.

High-signal news across AI, business, UX, and tech. Every morning.