Scalability, Availability & Reliability
Design systems that scale and stay up: SLOs and error budgets, load balancing, replication, sharding, availability maths, failure modes, DR and observability.
What you'll learn
- Define scalability, availability and reliability precisely and express goals as SLIs, SLOs and error budgets.
- Reason about capacity with Little's law, Amdahl's law, queueing and back-of-the-envelope estimates.
- Scale compute and data with stateless services, load balancing, autoscaling, replication and partitioning.
- Design for availability with redundancy, failover, multi-zone and multi-region setups and DR strategies.
- Prevent and contain failures with timeouts, retries, circuit breakers, load shedding and safe deployments.
- Operate reliably with golden signals, burn-rate alerts, incident response, load testing and chaos engineering.
Syllabus
Definitions, Targets and the Maths Behind Them
- Scalability, Availability and Reliability
- SLIs, SLOs, SLAs and Error Budgets
- Little's Law, Amdahl's Law and Queueing
Scaling Compute
Scaling Data
Performance Under Load
Designing for Availability
Failure Modes and Defences
- How Distributed Systems Fail
- Timeouts, Retries, Circuit Breakers and Load Shedding
- Safe Changes: Deployments, Flags and Rollbacks
Observability, Incidents and Testing
- Golden Signals and SLO-Based Alerting
- Incident Response and Postmortems
- Load Testing, Capacity Planning and Chaos Engineering