System Design
System Design Fundamentals
The complete system-design vocabulary and conceptual landscape in 30 modules - core concepts, networking, APIs, caching, databases, distributed systems, data structures for scale, architecture, big data, and observability.
System Design Fundamentals
Comprehensive coverage of system design as a discipline - the full vocabulary, the full conceptual landscape, and the patterns that show up across all real systems. A beginner finishes this course able to read and contribute to any system design conversation; an experienced engineer finishes with their knowledge organised and the gaps filled.
The treatment is broader than deep - depth comes in System Design Advanced - but "broader than deep" doesn't mean shallow: each concept is covered well enough that you can use it. Across 30 modules you'll work through the foundations (core concepts, networking, load balancing, API design / infrastructure / security, real-time and async communication), the data layer (caching fundamentals and distributed caching, database fundamentals, the major database types, database internals, read and write scaling, storage systems), the trade-offs that show up everywhere, and the distributed-systems backbone (distribution fundamentals, time and ordering, coordination and consensus, distributed transactions, data structures for scale, architectural and microservices patterns, big-data processing, deployment and release strategies, observability, and security fundamentals).
Brandon Carter's voice is the spine, with founder-guest lessons woven in where their domain expertise fits (Emeka on streaming, Nikhil on consensus, Deepika on vector databases).
The first two modules - Welcome & Orientation and Core Concepts - are free to preview. The full course is a one-time purchase with lifetime access.
What you will learn
- The complete system-design vocabulary — scalability, availability, reliability, SPOF, latency/throughput, CAP, consistency models
- Networking and APIs end-to-end: OSI/TCP/HTTP/DNS, REST/GraphQL/gRPC, gateways, rate limiting, auth (JWT, OAuth, SSO)
- Real-time and asynchronous communication: WebSockets, SSE, webhooks, message queues, pub/sub, CDC, delivery semantics
- Caching from first principles through CDNs, distributed caches, invalidation, and stampede protection
- Databases in depth: types and trade-offs, internals (B-trees, LSM, WAL), and read/write scaling (indexing, replicas, sharding)
- Distributed systems: partitions, time & ordering, consensus (Paxos/Raft), distributed transactions (2PC, SAGA, outbox)
- Data structures for scale (geohash, Bloom filters, HyperLogLog, Merkle trees) and architecture / microservices patterns
- Big-data processing, deployment & release strategies, observability (logs/metrics/traces), and security fundamentals
Prerequisites
- None — this is the foundational course; comfort with basic programming helps
Course outline
Module 1: Welcome and Orientation
Welcome and Orientation — 5 topics.
- Course Introduction 4 min read
- Course Roadmap 5 min read
- Join the Community 2 min read
- What Is System Design? 4 min read
- 30 Must-Know Concepts: A Vocabulary Primer 7 min read
Module 2: Core Concepts
Core Concepts — 8 topics.
- Scalability 8 min read
- Availability 8 min read
- Reliability 8 min read
- Single Point of Failure (SPOF) 8 min read
- Latency vs Throughput vs Bandwidth 9 min read
- Consistent Hashing 8 min read Pro lesson
- CAP Theorem 8 min read Pro lesson
- Consistency Models 11 min read Pro lesson
Module 3: Networking
Networking — 7 topics.
- OSI Model 9 min read
- IP Addresses 7 min read
- TCP vs UDP 8 min read
- HTTP/HTTPS 8 min read Pro lesson
- Domain Name System (DNS) 7 min read Pro lesson
- Checksums 7 min read Pro lesson
- Proxy vs Reverse Proxy 8 min read Pro lesson
Module 4: Load Balancing
Load Balancing — 4 topics.
- What Are Load Balancers? 11 min read
- Load Balancing Algorithms 10 min read Pro lesson
- DNS Load Balancing 7 min read Pro lesson
- Anycast Routing 10 min read Pro lesson
Module 5: API Design
API Design — 7 topics.
- What Is an API? 9 min read Pro lesson
- Idempotency 8 min read Pro lesson
- Data Formats 8 min read Pro lesson
- API Architectural Styles 8 min read Pro lesson
- REST API Design 7 min read Pro lesson
- GraphQL Deep Dive 8 min read Pro lesson
- gRPC Deep Dive 11 min read Pro lesson
Module 6: API Infrastructure
API Infrastructure — 2 topics.
- API Gateways 10 min read Pro lesson
- Rate Limiting 13 min read Pro lesson
Module 7: API Security
API Security — 5 topics.
- Authentication vs Authorization 8 min read Pro lesson
- Session vs Token Based Auth 10 min read Pro lesson
- JWT (JSON Web Tokens) 8 min read Pro lesson
- OAuth / OAuth 2 8 min read Pro lesson
- Single Sign-On (SSO) 9 min read Pro lesson
Module 8: Real-Time Communication
Real-Time Communication — 5 topics.
- Long Polling 6 min read
- WebSockets 8 min read Pro lesson
- Server-Sent Events (SSE) 6 min read Pro lesson
- Webhooks 6 min read Pro lesson
- WebRTC 8 min read Pro lesson
Module 9: Asynchronous Communication
Asynchronous Communication — 6 topics.
- Sync vs Async Communication 9 min read
- Message Queues 7 min read Pro lesson
- Pub/Sub 7 min read Pro lesson
- Change Data Capture (CDC) 7 min read Pro lesson
- Delivery Semantics 6 min read Pro lesson
- Dead Letter Queues 8 min read Pro lesson
Module 10: Caching Fundamentals
Caching Fundamentals — 6 topics.
- What is Caching? 10 min read
- Cache-Aside Pattern 10 min read Pro lesson
- Read-Through vs Write-Through 11 min read Pro lesson
- Write-Behind Cache 10 min read Pro lesson
- Caching Strategies Summary 11 min read Pro lesson
- Cache Eviction Policies 11 min read Pro lesson
Module 11: Distributed Caching
Distributed Caching — 5 topics.
- Content Delivery Network (CDN) 7 min read
- Distributed Cache Architecture 6 min read Pro lesson
- Cache Invalidation 7 min read Pro lesson
- Cache Stampede 6 min read Pro lesson
- Cache Warming 7 min read Pro lesson
Module 12: Database Fundamentals
Database Fundamentals — 3 topics.
- Database Types 12 min read
- SQL vs NoSQL 10 min read Pro lesson
- ACID Transactions 15 min read Pro lesson
Module 13: Database Types - Deep Dive
Database Types - Deep Dive - 8 topics.
- Relational Databases 10 min read
- Document Databases 8 min read Pro lesson
- Key-Value Stores 9 min read Pro lesson
- Wide-Column Databases 8 min read Pro lesson
- Graph Databases 7 min read Pro lesson
- Time-Series Databases 8 min read Pro lesson
- Full-Text Search Engines 8 min read Pro lesson
- Vector Databases 9 min read Pro lesson
Module 14: Database Internals
Database Internals — 3 topics.
- B-Trees and B+ Trees 8 min read Pro lesson
- LSM Trees 8 min read Pro lesson
- How Databases Guarantee Durability 10 min read Pro lesson
Module 15: Database Scaling - Reads
Database Scaling - Reads - 6 topics.
- Indexing Strategy 7 min read
- Vertical Partitioning 9 min read Pro lesson
- Query Optimization 8 min read Pro lesson
- Read Replicas 8 min read Pro lesson
- Denormalization 8 min read Pro lesson
- Materialized Views 8 min read Pro lesson
Module 16: Database Scaling - Writes
Database Scaling - Writes - 3 topics.
- Sharding 13 min read Pro lesson
- Sharding vs Partitioning 10 min read Pro lesson
- Data Compression 11 min read Pro lesson
Module 17: Storage Systems
Storage Systems — 4 topics.
- Block vs File vs Object Storage 12 min read Pro lesson
- Object Storage (S3) 9 min read Pro lesson
- Distributed File Systems 10 min read Pro lesson
- Erasure Coding 11 min read Pro lesson
Module 18: Key Tradeoffs
Key Tradeoffs — 6 topics.
- Vertical vs Horizontal Scaling 11 min read
- Concurrency vs Parallelism 9 min read Pro lesson
- Push vs Pull Architecture 9 min read Pro lesson
- Stateful vs Stateless Architecture 9 min read Pro lesson
- Long Polling vs WebSockets 9 min read Pro lesson
- Strong vs Eventual Consistency 13 min read Pro lesson
Module 19: Distributed System Fundamentals
Distributed System Fundamentals — 5 topics.
- Challenges of Distribution 11 min read
- Network Partitions 9 min read Pro lesson
- Split Brain Problem 10 min read Pro lesson
- Heartbeats and Failure Detection 10 min read Pro lesson
- Handling Failures in Distributed Systems 12 min read Pro lesson
Module 20: Time and Ordering
Time and Ordering — 4 topics.
- The Clock Synchronization Problem 10 min read
- Logical Clocks: The Idea 9 min read Pro lesson
- Lamport Timestamps 8 min read Pro lesson
- Vector Clocks 10 min read Pro lesson
Module 21: Coordination and Consensus
Coordination and Consensus — 8 topics.
- Consensus Algorithms: Introduction 10 min read
- The Paxos Algorithm 9 min read Pro lesson
- The Raft Algorithm 8 min read Pro lesson
- Leader Election 8 min read Pro lesson
- Distributed Locks 10 min read Pro lesson
- Gossip Protocol 10 min read Pro lesson
- CRDTs (Conflict-Free Replicated Data Types) 9 min read Pro lesson
- Operational Transformation 7 min read Pro lesson
Module 22: Distributed Transactions
Distributed Transactions — 5 topics.
- The Problem with Distributed Transactions 10 min read
- Two-Phase Commit (2PC) 10 min read Pro lesson
- Three-Phase Commit (3PC) 8 min read Pro lesson
- The Saga Pattern 11 min read Pro lesson
- The Outbox Pattern 9 min read Pro lesson
Module 23: Data Structures for Scale
Data Structures for Scale — 12 topics.
- Why Regular Data Structures Aren't Enough at Scale 8 min read
- Geohash 10 min read Pro lesson
- Quad Trees 10 min read Pro lesson
- R-Trees 9 min read Pro lesson
- S2 and H3: Hierarchical Spatial Indexing 10 min read Pro lesson
- Bloom Filters 10 min read Pro lesson
- Cuckoo Filters 9 min read Pro lesson
- HyperLogLog 9 min read Pro lesson
- Count-Min Sketch 10 min read Pro lesson
- MinHash 8 min read Pro lesson
- Skip Lists 10 min read Pro lesson
- Merkle Trees 10 min read Pro lesson
Module 24: Architectural Patterns
Architectural Patterns — 9 topics.
- Client-Server Architecture 9 min read
- Monolithic Architecture 9 min read Pro lesson
- Microservices Architecture 8 min read Pro lesson
- Serverless Architecture 8 min read Pro lesson
- Event-Driven Architecture 9 min read Pro lesson
- Peer-to-Peer (P2P) Architecture 8 min read Pro lesson
- Hexagonal Architecture (Ports and Adapters) 6 min read Pro lesson
- CQRS (Command Query Responsibility Segregation) 6 min read Pro lesson
- Event Sourcing 8 min read Pro lesson
Module 25: Microservices Patterns
Microservices Patterns — 8 topics.
- Service Discovery 10 min read
- API Gateway Pattern 8 min read Pro lesson
- Backend for Frontend (BFF) 7 min read Pro lesson
- The Sidecar Pattern 7 min read Pro lesson
- Circuit Breaker Pattern 8 min read Pro lesson
- Bulkhead Pattern 5 min read Pro lesson
- Strangler Fig Pattern 5 min read Pro lesson
- Service Mesh 7 min read Pro lesson
Module 26: Big Data Processing
Big Data Processing — 9 topics.
- Batch vs Stream Processing 11 min read
- MapReduce 11 min read Pro lesson
- ETL Pipelines 11 min read Pro lesson
- Data Lakes 11 min read Pro lesson
- Data Warehousing 10 min read Pro lesson
- Data Lakehouse 14 min read Pro lesson
- Lambda Architecture 12 min read Pro lesson
- Kappa Architecture 14 min read Pro lesson
- Streaming Engines 16 min read Pro lesson
Module 27: Deployment Strategies
Deployment Strategies — 5 topics.
- Deployment Strategies Overview 12 min read Pro lesson
- CI/CD Pipelines 13 min read Pro lesson
- Rolling Deployments 12 min read Pro lesson
- Blue-Green Deployments 10 min read Pro lesson
- Canary Releases 13 min read Pro lesson
Module 28: Release Patterns
Release Patterns — 4 topics.
- Feature Flags 12 min read Pro lesson
- A/B Testing Infrastructure 12 min read Pro lesson
- Schema Migrations 13 min read Pro lesson
- Rollbacks & Immutable Infrastructure 13 min read Pro lesson
Module 29: Observability
Observability — 8 topics.
- Three Pillars of Observability 11 min read Pro lesson
- Logging Best Practices 11 min read Pro lesson
- Log Aggregation 11 min read Pro lesson
- Correlation IDs 11 min read Pro lesson
- Metrics & Instrumentation 10 min read Pro lesson
- Alerting & Monitoring 11 min read Pro lesson
- Dashboards & Runbooks 12 min read Pro lesson
- Distributed Tracing 12 min read Pro lesson
Module 30: Security Fundamentals
Security Fundamentals — 6 topics.
- SSL/TLS 11 min read
- Encryption at Rest 11 min read Pro lesson
- Secrets Management 11 min read Pro lesson
- Password Management 11 min read Pro lesson
- RBAC 11 min read Pro lesson
- SAML 11 min read Pro lesson