Intermediate · ~14.5 hr · 14 lessons
System Design Building Blocks: Data, Messaging and Scale
The intermediate course: replication, sharding, consistency, advanced caching, queues and streaming, API gateways, rate limiting, search, storage engines, observability and security, with the trade-offs behind each choice.
Enrollment is free. It unlocks every lesson in this course.
What's inside
- 1System Design Building Blocks: The MapFree to read
- 2System Design: ReplicationEnroll to read
- 3System Design: Sharding and PartitioningEnroll to read
- 4System Design: CAP, PACELC and Consistency ModelsEnroll to read
- 5System Design: Advanced Caching StrategiesEnroll to read
- 6System Design: Message Queues and Asynchronous WorkEnroll to read
- 7System Design: Event Streaming and LogsEnroll to read
- 8System Design: Monolith, Modular Monolith and MicroservicesEnroll to read
- 9System Design: API Gateway and Service MeshEnroll to read
- 10System Design: Rate LimitingEnroll to read
- 11System Design: Search and IndexingEnroll to read
- 12System Design: Storage EnginesEnroll to read
- 13System Design: Observability and SLOsEnroll to read
- 14System Design: Security for Distributed SystemsEnroll to read
More in Backend System Design
Starter · ~12.5 hr · 12 lessons
System Design Foundations: From Zero to Your First Design
Start here if system design is new to you. Learn how to turn requirements into a design, estimate load, and use the basic building blocks (DNS, load balancers, caches, databases, CDNs) with plain-English explanations and diagrams.
Advanced · ~15.5 hr · 14 lessons
Advanced System Design and Case Studies
The advanced course: distributed transactions, CQRS and event sourcing, consensus, clocks and ordering, resilience, multi-region design and capacity planning, then full case studies: URL shortener, photo sharing, news feed, chat, video streaming and ride sharing.
Intermediate · ~18 hr · 11 lessons
Backend System Design Project: Build QuickCart
Design one real system from first request to ten million users: an online grocery marketplace that grows stage by stage, then a repeatable method to design any system.