Free

Learn the trade-off by paying for it

41 interactive drills where the concept is the game mechanic. Partition a cluster and choose what to sacrifice. Drain a backlog without melting the database. Rename a column on 900 million rows with a rollback that works at every step.
In development

What it does

One drill at the end of every module
Scored on the trade-off you made, not the answer you typed
Failure states are the teaching: the round shows you what broke
Free, like the rest of the curriculum

41 drills, one per module

Each one puts you inside the trade-off rather than describing it. Fail states are the teaching: the round shows you what your choice cost.
How the Network Actually Works
5 hours
6 lessons
Beginner
How the Network Actually Works
Free
01.1
Latency Numbers & Estimation
4 hours
5 lessons
Beginner
Latency Numbers & Estimation
Free
01.2
The Machine Underneath
5 hours
5 lessons
Beginner
The Machine Underneath
Free
01.3
Consistency, Availability & Partitions
5 hours
5 lessons
Beginner
Consistency, Availability & Partitions
Free
01.4
API Design & Contracts
4 hours
5 lessons
Beginner
API Design & Contracts
Free
01.5
Relational Modelling
5 hours
5 lessons
Beginner
Relational Modelling
Free
02.1
How the Network Actually Works
5 hours
6 lessons
Beginner
How the Network Actually Works
Free
01.1
Latency Numbers & Estimation
4 hours
5 lessons
Beginner
Latency Numbers & Estimation
Free
01.2
The Machine Underneath
5 hours
5 lessons
Beginner
The Machine Underneath
Free
01.3
Consistency, Availability & Partitions
5 hours
5 lessons
Beginner
Consistency, Availability & Partitions
Free
01.4
API Design & Contracts
4 hours
5 lessons
Beginner
API Design & Contracts
Free
01.5
Relational Modelling
5 hours
5 lessons
Beginner
Relational Modelling
Free
02.1
Indexes & Query Plans
5 hours
5 lessons
Beginner
Indexes & Query Plans
Free
02.2
Transactions & Isolation
5 hours
5 lessons
Beginner
Transactions & Isolation
Free
02.3
NoSQL & Choosing a Data Model
5 hours
6 lessons
Beginner
NoSQL & Choosing a Data Model
Free
02.4
Replication
5 hours
5 lessons
Beginner
Replication
Free
02.5
Partitioning & Sharding
5 hours
5 lessons
Beginner
Partitioning & Sharding
Free
02.6
Cache Strategies & Invalidation
4 hours
5 lessons
Intermediate
Cache Strategies & Invalidation
Free
03.1
Distributed Caches
4 hours
5 lessons
Intermediate
Distributed Caches
Free
03.2
CDNs & the Edge
4 hours
5 lessons
Intermediate
CDNs & the Edge
Free
03.3
Object Storage & Media
4 hours
5 lessons
Intermediate
Object Storage & Media
Free
03.4
Queues & Background Workers
4 hours
5 lessons
Intermediate
Queues & Background Workers
Free
04.1
Publish/Subscribe
4 hours
5 lessons
Intermediate
Publish/Subscribe
Free
04.2
Log-Based Streaming
5 hours
5 lessons
Intermediate
Log-Based Streaming
Free
04.3
Delivery Semantics & Idempotency
4 hours
5 lessons
Intermediate
Delivery Semantics & Idempotency
Free
04.4
Event-Driven Architecture
4 hours
5 lessons
Intermediate
Event-Driven Architecture
Free
04.5
Load Balancing
4 hours
5 lessons
Intermediate
Load Balancing
Free
05.1
Consistent Hashing
3 hours
5 lessons
Intermediate
Consistent Hashing
Free
05.2
Rate Limiting & Quotas
3 hours
5 lessons
Intermediate
Rate Limiting & Quotas
Free
05.3
Stateless Services & Session State
3 hours
5 lessons
Intermediate
Stateless Services & Session State
Free
05.4
Search & Indexing at Scale
4 hours
5 lessons
Intermediate
Search & Indexing at Scale
Free
05.5
0
1
2
3
4
5
6
7
8
9
0
0
1
2
3
4
5
6
7
8
9
8
Tracks, from the network to the negotiation
0
1
2
3
4
5
6
7
8
9
4
0
1
2
3
4
5
6
7
8
9
1
Modules, each ending in a drill
0
1
2
3
4
5
6
7
8
9
0
0
1
2
3
4
5
6
7
8
9
6
Systems worked end to end

This one is free. Start now.