AlgoInsight

System Design

System Design Crash Course

A fast-track, 30-module system design course - foundations, six database deep dives, caching, the distributed-systems stack, streaming, storage & compute, reliability and observability. Built by a Netflix/AWS-led team.

Intermediate1912222 lessons16 free lessonssystem-designhlddistributed-systemsdatabasescaching

System Design Crash Course

A complete, fast-track tour of system design as a discipline - the full vocabulary and the production depth, in 30 focused modules. Authored by Brandon Carter (Amazon L7 Principal, S3 distributed storage) with guest lessons from Nikhil Joshi (Google/Spanner), Emeka Okafor (Netflix/Kafka), and Deepika Nair (Meta/AI Infrastructure).

You'll move through the foundations (what HLD really is, the five design dimensions and their trade-offs, back-of-envelope estimation, the browser-to-server path, API styles, reverse proxies and load balancing, the storage hierarchy, indexing, transactions), six database deep dives (PostgreSQL, MySQL, MongoDB, DynamoDB, Cassandra, Elasticsearch), the caching layer (strategies, Redis & Memcached), the distributed-systems backbone (replication, partitioning and consistent hashing, consistency models, distributed transactions, coordination services), async communication (message queues, Kafka event streaming, Flink & Spark processing), storage and compute (S3, AWS Lambda, Docker & Kubernetes), and the operational layer (reliability patterns and observability with Prometheus).

The first module is free to preview. The full course is a one-time purchase with lifetime access.

What you will learn

Prerequisites

Course outline

Module 1: What System Design (HLD) Is

What System Design (HLD) Is — 7 topics.

Module 2: The Five Dimensions and Their Trade-offs

The Five Dimensions and Their Trade-offs — 7 topics.

Module 3: Back-of-Envelope Estimation

Back-of-Envelope Estimation — 7 topics.

Module 4: From Browser to Server

From Browser to Server — 8 topics.

Module 5: API Styles

API Styles — 7 topics.

Module 6: Reverse Proxies & Load Balancing (Nginx)

Reverse Proxies & Load Balancing (Nginx) — 7 topics.

Module 7: The Storage Hierarchy

The Storage Hierarchy — 7 topics.

Module 8: Indexing Strategies

Indexing Strategies — 7 topics.

Module 9: Transactions, Isolation, Concurrency Control

Transactions, Isolation, Concurrency Control — 7 topics.

Module 10: PostgreSQL Deep Dive

PostgreSQL Deep Dive — 8 topics.

Module 11: MySQL Deep Dive

MySQL Deep Dive — 7 topics.

Module 12: MongoDB Deep Dive

MongoDB Deep Dive — 7 topics.

Module 13: DynamoDB Deep Dive

DynamoDB Deep Dive — 7 topics.

Module 14: Cassandra Deep Dive

Cassandra Deep Dive — 7 topics.

Module 15: Elasticsearch Deep Dive

Elasticsearch Deep Dive — 7 topics.

Module 16: Caching Strategies

Caching Strategies — 7 topics.

Module 17: Redis & Memcached

Redis & Memcached — 8 topics.

Module 18: Replication

Replication — 8 topics.

Module 19: Partitioning & Consistent Hashing

Partitioning & Consistent Hashing — 7 topics.

Module 20: Consistency Models

Consistency Models — 7 topics.

Module 21: Distributed Transactions

Distributed Transactions — 7 topics.

Module 22: Coordination Services

Coordination Services — 7 topics.

Module 23: Message Queues (RabbitMQ & SQS)

Message Queues (RabbitMQ & SQS) — 8 topics.

Module 24: Event Streaming (Kafka)

Event Streaming (Kafka) — 8 topics.

Module 25: Stream & Batch Processing (Flink & Spark)

Stream & Batch Processing (Flink & Spark) — 8 topics.

Module 26: Object Storage (S3 Deep Dive)

Object Storage (S3 Deep Dive) — 7 topics.

Module 27: AWS Lambda Deep Dive

AWS Lambda Deep Dive — 7 topics.

Module 28: Containers & Orchestration (Docker & Kubernetes)

Containers & Orchestration (Docker & Kubernetes) — 9 topics.

Module 29: Reliability Patterns

Reliability Patterns — 8 topics.

Module 30: Observability (Prometheus)

Observability (Prometheus) — 9 topics.

Browse all courses