liveBook · Manning

Reliability

As explained in Think Distributed Systems

The ability of a system to continue providing its intended service correctly over time and under expected conditions.

Reliability is a system’s ability to remain responsive when failures occur. In a distributed system, this means continuing to provide its intended function even though components may crash or interactions may fail. section 1.0 section 1.4.2

Reliability is not a property of one component alone. It emerges from multiple components and their interactions, because a single component cannot survive every inevitable failure. section 1.4.3 section 1.7.2

Judge reliability through responsiveness:

  • A service-level indicator (SLI) quantitatively observes system behavior. section 1.4.3
  • A service-level objective (SLO) states whether that observed behavior meets the desired objective. section 1.4.3
  • An error rate measures observations that miss their objectives, while an error budget sets the acceptable upper limit. section 1.4.3

A distributed team

A company’s reliability cannot be attributed to one employee: that person may be absent or unable to complete unlimited work. Reliable behavior instead emerges from employees acting together, just as reliable systems are built from unreliable components. section 1.7.2

Reliability guarantees are application-specific. Each system must decide which behavior is desirable, tolerable, or unacceptable, then express those decisions through objectives and error budgets. section 1.4.3

How Think Distributed Systems covers it

How deep it goes
Develops a definition, emergent-system model, responsiveness measures, and application-specific guarantees.
Examples
Uses a company analogy and component-interaction scenarios involving crashes, absence, load, and system behavior.
What it assumes
Assumes a distributed-system model of concurrent components communicating through a network, while establishing reliability from first principles.
What you can do after
Evaluate reliability by defining service-level objectives, measuring error rates, and setting acceptable error budgets.
How it connects
Connects reliability to distributed systems, scalability, responsiveness, service-level objectives, error budgets, and emergent behavior.

Also explained in

Compare how 13 books explain reliability →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Think Distributed Systems. The section links point to the parts of the book it draws on.