open atlas

system-design

System Design Foundations

The building blocks of large systems and the interview framework — scaling, availability, data distribution, caching, async, and reasoning about tradeoffs under load.

10 units·72 lessons·~53 h

Start track
00

Start here

What system design is, and the frame you carry into every design problem.
01

Scalability & performance

Latency, throughput, and the back-of-envelope numbers that govern every scaling decision.
02

Availability & reliability

Redundancy, failover, and the SLO math that decides how many nines you can promise.
03

Traffic & edge

How requests are spread across servers and served close to users: load balancers, proxies, gateways, CDNs.
04

Data distribution

Replication, sharding, consistent hashing, and the CAP/PACELC tradeoffs that follow from splitting data.
05

Caching at scale

Where to cache, what to evict, and why invalidation is the hard part.
06

Async & messaging

Decoupling with queues and pub/sub, event-driven flow, and surviving backpressure.
07

Storage choices

Picking the right store: relational, NoSQL, blob/object, time-series, search.
08

Building blocks

Reusable mechanisms that show up in every design: rate limiter, unique IDs, bloom filters, geohashing, leader election.
09

The interview framework

A repeatable procedure: requirements, estimation, high-level design, deep-dive, bottlenecks, tradeoffs.

Build with this track

Guided projects that exercise what you learn here.

Next track

System Design Case Studies

End-to-end designs of real systems — URL shortener, chat, news feed, YouTube, payments — requirements, estimation, high-level design, and the hard deep-dives.