Skip to content

Curriculum

System Design, end to end.

Tracks build on earlier concepts. Lessons combine concise explanations with predictions, checkpoints, and live systems you can operate where interaction makes the trade-off clearer.

01

Foundations

How requests travel, and the two numbers that describe every system.

The Request Lifecycle

Follow a single request from a browser to a database and back, hop by hop.

Beginner~15 min
DNSTCPTLSRound trips

Latency & Throughput

Two numbers people constantly confuse, and the curve that connects them.

Beginner~20 minneeds request-lifecycle
LatencyThroughputUtilizationQueueing

Performance vs Scalability

A fast system and a scalable one are different achievements, and you can have either without the other.

Beginner~15 minneeds latency-throughput
ScalabilityPerformanceVertical vs horizontalShared bottlenecks

DNS

How a name becomes an address, and why it is the most under-appreciated availability dependency you have.

Beginner~15 minneeds request-lifecycle
ResolutionTTLCaching layersRouting policies

Communication Protocols

TCP, UDP, HTTP, RPC, and REST — what each one guarantees and what it costs.

Beginner~22 minneeds request-lifecycle
TCPUDPHTTPRPC

Capacity Estimation

Back-of-the-envelope numbers: the skill that turns a vague requirement into an architecture.

Beginner~20 minneeds latency-throughput
Back-of-envelopePowers of twoLatency numbersQPS
02

Scaling

Adding capacity, spreading load, and absorbing reads before they cost you.

Horizontal Scaling

Adding replicas works right up until you reach the thing you cannot replicate.

Beginner~18 minneeds latency-throughput
Vertical vs horizontalStatelessnessShared bottlenecksAmdahl's law

Load Balancing

Spreading traffic across replicas, and what happens when one of them dies.

Beginner~18 minneeds horizontal-scaling
Round robinLeast connectionsHealth checksFailover

Reverse Proxies

The layer in front of your servers, and the difference between it and a load balancer.

Beginner~15 minneeds load-balancing
Reverse proxyL4 vs L7TLS terminationActive-passive

Caching

Put a cache in front of an overloaded database, then take it away and watch what breaks.

Beginner~25 minneeds latency-throughput
Cache-asideHit ratioTTLCold cache

Cache Write Strategies

Cache-aside, write-through, write-behind, and refresh-ahead — four answers to when the cache gets updated.

Intermediate~20 minneeds caching
Cache-asideWrite-throughWrite-behindRefresh-ahead

CDNs & Edge Caching

Move content close to users, and stop most requests before they reach you at all.

Beginner~18 minneeds caching
Edge cachingPush vs pullOrigin shieldingCache invalidation

Rate Limiting

Deciding whose requests to refuse, so the ones you accept keep working.

Intermediate~18 minneeds load-balancing
Token bucketSliding windowFairnessLoad shedding

The Application Layer

Splitting a monolith into services buys independent scaling and charges you in network calls.

Intermediate~20 minneeds horizontal-scaling
MicroservicesService discoveryCouplingDistributed monolith
03

Data Systems

Where state lives, how it multiplies, and what it costs to split.

Databases Under Load

Connection pools, query cost, and why the database is almost always the thing that breaks.

Beginner~20 minneeds latency-throughput
Connection poolsQuery costIndexesLittle's Law in practice

Indexes & SQL Tuning

Why a query takes 4ms or 4 seconds, and the handful of things that decide which.

Beginner~22 minneeds databases
B-treesQuery plansComposite indexesCovering indexes

Replication & Stale Reads

Read replicas multiply your read capacity and hand you a consistency problem in exchange.

Intermediate~22 minneeds databases
Read replicasReplication lagEventual consistencyRead-your-writes

Federation & Denormalization

Splitting a database by function, and duplicating data on purpose — two moves before sharding.

Intermediate~18 minneeds databases
Functional partitioningDenormalizationMaterialized viewsWrite amplification

Sharding

Splitting one database into many — the last resort, and the one that changes everything.

Advanced~25 minneeds replication
Shard keysHash vs rangeHot shardsCross-shard queries

NoSQL & Choosing a Store

Key-value, document, wide-column, and graph — what each is shaped for, and when SQL is still right.

Intermediate~25 minneeds databases
Key-valueDocumentWide columnGraph

Transactions & Isolation

What ACID actually guarantees, what your isolation level quietly does not, and what it costs.

Advanced~22 minneeds databases
ACIDIsolation levelsMVCCLock contention
04

Distributed Systems

Decoupling with queues, surviving partial failure, and agreeing on truth.

Queues & Backpressure

Queues absorb bursts. They do not create capacity, and confusing the two is costly.

Intermediate~22 minneeds horizontal-scaling
Async processingBackpressureQueue depthDrain rate

Retries & Idempotency

Every network call can fail after succeeding. Designing for that is most of distributed systems.

Intermediate~20 minneeds queues
At-least-onceExactly-onceDedup keysBackoff

Circuit Breakers & Bulkheads

Failing fast on a dependency that is already down, so its outage does not become yours.

Intermediate~20 minneeds idempotency
Circuit breakerBulkheadTimeoutsGraceful degradation

Availability Patterns

Fail-over, redundancy, and the arithmetic that turns nines into minutes of downtime.

Intermediate~20 minneeds load-balancing
Active-passiveActive-activeNinesSerial vs parallel

CAP, PACELC & Consistency Models

The choice a partition forces on you, and the one you make every day when there isn't one.

Advanced~25 minneeds replication
CAPPACELCStrong consistencyEventual consistency
05

Production Engineering

Observability, service levels, and operating what you built.

Observability

Metrics, logs, and traces — what each one answers, and why averages hide your worst outages.

Intermediate~20 minneeds latency-throughput
MetricsLogsTracesPercentiles

SLI, SLO & Error Budgets

Turning reliability from an argument into a number that decides what you work on next.

Intermediate~18 minneeds observability
SLISLOSLAError budget

Security Fundamentals

Least privilege, defence in depth, and the handful of failures behind most real breaches.

Intermediate~20 min
Least privilegeDefence in depthEncryptionInput validation

Multi-Region Systems

Serving users from several regions, and the consistency bill that arrives with it.

Advanced~22 minneeds consistency, availability-patterns
Active-activeData residencyFailoverSpeed of light
06

AI Systems

LLM request architecture, retrieval, and the economics of tokens.

LLM Request Lifecycle

Follow a model request from prompt assembly to the first token, then through every costly token after it.

Intermediate~25 minneeds request-lifecycle, latency-throughput
PrefillTime to first tokenAutoregressive decodingStreaming

Structured Outputs

Get machine-usable records out of a probabilistic text generator, and decide what happens when the output does not conform.

Intermediate~22 minneeds llm-lifecycle
Schema-constrained decodingValidation at the boundaryRepair loopsPartial extraction

Model Routing & Fallback

Put a gateway in front of several models, send each request to the cheapest one that can handle it, and keep serving when a provider stops answering.

Intermediate~26 minneeds llm-lifecycle, circuit-breakers
AI gatewayTiered routingEscalation rateProvider failover

Retrieval-Augmented Generation

Put external knowledge on the request path, then balance retrieval recall against context, latency, and cost.

Intermediate~28 minneeds llm-lifecycle, indexes
EmbeddingsChunkingVector searchTop-k retrieval

Semantic Caching

Reuse answers for similar prompts while keeping false matches, stale data, and security boundaries visible.

Advanced~24 minneeds llm-lifecycle, caching, rag
Embedding keysSimilarity thresholdsFalse hitsInvalidation
07

Agentic Systems

Tool calling, long-running work, and systems that decide what to do next.

Tool Calling

Turn model-selected JSON into controlled side effects with schemas, validation, retries, and approval boundaries.

Intermediate~26 minneeds llm-lifecycle, idempotency
Tool schemasHost executionValidationAuthorization

Agent Loops & Checkpointing

Bound long-running model/tool loops, persist their state, and resume safely after processes and dependencies fail.

Advanced~30 minneeds tool-calling, queues, idempotency
Step budgetsContext growthDurable executionCheckpointing