Lion Cipher Lab

Work out a service's composite availability from its dependencies

Why it matters

Availability targets are easy to promise and easy to miss. A request to a typical web service passes through DNS, a load balancer, web servers, application servers, a database, an identity provider and a payment API, and it fails if any one of them fails. The NIST/SEMATECH reliability handbook gives the arithmetic: components in series multiply their reliabilities, and redundant components in parallel fail only when all of them fail. Google's SRE book adds the scale that makes it matter: each additional nine is an order of magnitude improvement toward 100%. Teams regularly sign up for a…

What you'll learn

Steps in this lab

  1. Series multiplies; parallel only fails when everything fails
  2. The service stack
  3. Write the calculator
  4. Run it: the target was never reachable
  5. Use it before you promise a number

Open the full interactive lab →