System Design Roadmap

⏱ 8 weeks · 👤 Beginner (Zero to Hero) · 📋 SYSTEM_DESIGN

Comprehensive, production-grade learning path for System Design, architected with foundational-to-advanced pedagogical progression.

Phase 1 Phase 0: Orientation & Mental Models

Establishes the foundational vocabulary and strategic mindset required for system design. Introduces the core trade-offs that govern distributed systems, specifically focusing on the CAP theorem and consistency models. This phase sets the stage by defining what 'good' looks like in terms of availability and reliability.

Milestone Introduction to System Design & The CAP Theorem: CAP Theorem

Master the CAP theorem (Consistency, Availability, Partition tolerance) and its trade-offs in distributed systems.

cap theoremdistributed systemsnetwork partitionconsistencyavailability
ULO-CAP_THEOREM · UNIVERSAL · Bloom: Understand
Master the CAP theorem (Consistency, Availability, Partition tolerance) and its trade-offs in distributed systems.

Milestone Introduction to System Design & The CAP Theorem: System Design Approach and Abstraction

how to approach system designdesign implementationmicroservicesclient-serverscalability
ULO-SYSTEM_DESIGN_FUNDAMENTALS · UNIVERSAL · Bloom: Understand

Milestone Availability Patterns: Active-Active vs Master-Slave: High Availability Architectures and Failover Strategies

active-activemaster-slavefail-overactive-passiveavailability patterns
ULO-AVAILABILITY_PATTERNS · UNIVERSAL · Bloom: Understand

Milestone Availability Patterns: Active-Active vs Master-Slave: Traffic Distribution and Request Routing

lb vs reverse proxypull cdnspush cdns
ULO-LOAD_BALANCING_AND_PROXY · UNIVERSAL · Bloom: Apply

Phase 2 Phase 1: Scaling Foundations & Network Layer

Focuses on the entry point of traffic and horizontal scaling mechanisms. Learners start with concrete tools like Load Balancers and CDNs before understanding the abstract concepts of latency and throughput. This phase covers how to distribute load and serve content efficiently at the edge.

Milestone Load Balancing Algorithms & LB vs Reverse Proxy: Traffic Distribution Strategies

📚 Prerequisites: LOAD_BALANCING_AND_PROXY, AVAILABILITY_PATTERNS

round-robinleast-connectionshash-based routingnginxhaproxy
ULO-LOAD_BALANCING_STRATEGIES · UNIVERSAL · Bloom: Understand

Milestone Content Delivery Networks (CDN): Push vs Pull: Cache Invalidation and Fetch Strategies

📚 Prerequisites: LOAD_BALANCING_AND_PROXY, AVAILABILITY_PATTERNS

pull cdnspush cdnscache invalidationorigin shieldedge caching
ULO-CDN_CACHE_STRATEGIES · UNIVERSAL · Bloom: Analyze

Milestone Domain Name System (DNS) & Service Discovery: Dynamic Service Registration and Lookup

📚 Prerequisites: SYSTEM_DESIGN_FUNDAMENTALS

service discoveryconsuletcdkubernetes dnsmicroservices
ULO-SERVICE_DISCOVERY_MECHANISM · UNIVERSAL · Bloom: Apply

Phase 3 Phase 2: Data Persistence & Caching Strategies

Moves from network layer to data storage. Covers the spectrum from SQL to NoSQL, introducing sharding and replication for scalability. Crucially, it integrates caching patterns (Cache Aside, Refresh Ahead) to reduce database load, bridging the gap between performance and data integrity.

Milestone Database Scalability: Sharding, Federation, and Replication: Database Consistency and Scalability

The learner will be able to compare consistency and scalability trade-offs between relational and non-relational databases.

cap theoremeventual consistencystrong consistencydistributed transactions
ULO-DB_CONSISTENCY_AND_SCALABILITY · UNIVERSAL · Bloom: Analyze
The learner will be able to compare consistency and scalability trade-offs between relational and non-relational databases.

Milestone Caching Strategies: Cache Aside, Write-Through, and Refresh Ahead: Data Consistency Patterns in Caching Layers

Using Observable Object (@StateObject, @ObservedObject) to manage and share complex class-based state across views.

📚 Prerequisites: CDN_CACHE_STRATEGIES

cache aside patternwrite-through cacherefresh aheadstale data
ULO-SHARED_OBSERVABLE_STATE · UNIVERSAL · Bloom: Analyze
Using Observable Object (@StateObject, @ObservedObject) to manage and share complex class-based state across views.

Milestone SQL Tuning and Denormalization for Performance: Balancing Normalization with Query Performance

Understanding the process of organizing columns and tables in relational databases to minimize data redundancy and improve integrity.

denormalizationsql tuningquery optimizationread replicas
ULO-DATABASE_NORMALIZATION · UNIVERSAL · Bloom: Evaluate
Understanding the process of organizing columns and tables in relational databases to minimize data redundancy and improve integrity.

Phase 4 Phase 3: Asynchronism & Decoupling

Introduces decoupling components using message queues and background jobs. This phase shifts from synchronous request-response patterns to asynchronous event-driven architectures, improving resilience and allowing systems to handle bursts of traffic via back pressure.

Milestone Asynchronous Communication: Message Queues vs Task Queues: Asynchronous Programming

Introducing asynchronous programming techniques such as callbacks, promises, or async/await to handle time-consuming tasks without blocking the main thread.

celerysidekiqmessage queues
ULO-ASYNC_PATTERNS · UNIVERSAL · Bloom: Apply
Introducing asynchronous programming techniques such as callbacks, promises, or async/await to handle time-consuming tasks without blocking the main thread.

Milestone Idempotent Operations and Retry Logic: Logical Errors

Recognize errors in program logic that cause it to run incorrectly, despite not causing syntax or runtime errors.

deduplicationretry logic
ULO-LOGIC_ERRORS · UNIVERSAL · Bloom: Analyze
Recognize errors in program logic that cause it to run incorrectly, despite not causing syntax or runtime errors.

Milestone Idempotent Operations and Retry Logic: Event-Based Programming Model

Programming model where program flow is driven by events (e.g., user actions) instead of a sequential command sequence.

exponential backoffevent-driven
ULO-EVENT_BASED_PROGRAMMING · UNIVERSAL · Bloom: Apply
Programming model where program flow is driven by events (e.g., user actions) instead of a sequential command sequence.

Phase 5 Phase 4: Reliability, Observability & Production Patterns

Covers production-grade concerns including monitoring, alerting, and specific cloud design patterns (Circuit Breaker, Bulkhead, Strangler Fig). This phase ensures learners can maintain, observe, and evolve systems in complex, distributed environments.

Milestone Monitoring & Observability: Metrics, Logs, and Alerts: Alerting Strategies and Signal-to-Noise Ratio

grafanapagerdutyslack-webhooks
ULO-ALERTING_STRATEGIES · UNIVERSAL · Bloom: Apply

Milestone Reliability Patterns: Circuit Breaker, Bulkhead, and Throttling: Fault Tolerance Patterns (Circuit Breaker & Bulkhead)

resilience4jhystrixbulkhead-pattern
ULO-FAULT_TOLERANCE_PATTERNS · UNIVERSAL · Bloom: Apply

Milestone Reliability Patterns: Circuit Breaker, Bulkhead, and Throttling: Traffic Management and Rate Limiting

envoy-proxyhaproxyrate-limiter
ULO-TRAFFIC_MANAGEMENT · UNIVERSAL · Bloom: Analyze