Welcome to the Orientation & Fundamentals module.
Before we dive into technical components like Load Balancers or Databases, it’s critical to align our thinking. System design isn’t about memorizing definitions; it’s about understanding trade-offs.
In this module, you will learn:
- The Architect’s Mindset: Understanding systems as a collection of trade-offs.
- Core Metrics: Percentiles (p50/p99), SLOs, and Error Budgets.
- System Qualities: Rigorous definitions of Availability, Resiliency, and Scalability.
- Operational Design: Blast Radius, Fate Sharing, and Coupling.
- Capacity Planning: Thinking in orders of magnitude ($L = \lambda W$).
- Reliability Primitives: Idempotency, Retries, and Circuit Breakers.
- Scaling Up vs. Scaling Out: Choosing your growth strategy.
Start with the Introduction below to begin your journey.
Module Chapters
Basic Terminology
Latency vs Throughput, Availability vs Reliability. A tiny shared vocabulary for the rest of the course.
Start Learning →Control Plane vs Data Plane
One handles your users; the other handles your system. Why separating these failure domains is the secret to high availability.
Start Learning →Scalability: Vertical vs Horizontal
Vertical vs Horizontal Scaling. When to buy a bigger machine, and when to buy more machines.
Start Learning →The Art of Trade-offs: PACELC & Harvest/Yield
Beyond the pick-two fallacy. Understanding latency vs consistency and why 100% accuracy is often the wrong goal.
Start Learning →Introduction to Reliability
An overview of why reliability matters and the basic mindset of building systems that survive failure.
Start Learning →Capacity Planning: The Math of Scale
How to estimate storage, throughput, and latency before writing a single line of code. Includes Little's Law and the 'Numbers Every Architect Should Know'.
Start Learning →Operational Design: Blast Radius & Loops
How to design systems that don't just work, but can be operated. Bulkheads, stable control loops, and designing for deep observability.
Start Learning →