Advanced · 5h 50m · 19 lessons
System Design
Design systems that scale: load balancing, caching, sharding and the CAP trade-off.
What you'll learn
- ✦Turn a vague prompt into functional and non-functional requirements with target numbers
- ✦Calculate average load, peak load and yearly storage with back-of-the-envelope maths
- ✦Decide where a load balancer, a cache and a queue belong in a design, and say what each one fixes
- ✦Plan how to scale a database with read replicas and sharding, and pick SQL or NoSQL for a workload
- ✦Explain what a design does when a part fails or the network splits, using redundancy, CAP and consistency models
- ✦Protect a system with rate limits and a CDN, and turn an availability target into allowed downtime
- ✦Justify a complete design for a real prompt by naming the trade-off behind each choice
Part of these career paths
- Software Architecture path · course 1 of 3
Certification projects
Build 4 projects to earn your certificate
Hands-on work that proves you can apply what you learned — part of the certificate requirements.
Syllabus
Module 1 · 1h 2m
Foundations Free
What you'll be able to do
- Can explain what system design decides, and how it differs from coding
- Can turn a vague prompt into functional and non-functional requirements with numbers
- Can estimate average load, peak load and a year of storage in a few minutes
Module 2 · 1h 4m
Building blocks Locked
What you'll be able to do
- Can decide where a load balancer goes and pick a routing rule for the traffic
- Can explain cache-aside and work out database load from a hit rate
- Can decide when a queue fits, and work out how long its backlog takes to drain
Module 3 · 1h 15m
Scaling the data layer Locked
What you'll be able to do
- Can explain when to scale out, and make servers stateless so any server can take any request
- Can plan read replicas and spot stale reads caused by replication lag
- Can pick a shard key that spreads load and avoids hot shards
- Can choose SQL or a NoSQL family for a workload and say why
Module 4 · 47m
Reliability & consistency Locked
What you'll be able to do
- Can find the single points of failure in a design and add spares with room to take over
- Can explain what a network partition forces a system to choose, and pick consistency or availability per feature
- Can predict what users see under strong and eventual consistency, and check a quorum with R + W > N
Module 5 · 45m
Traffic & performance Locked
What you'll be able to do
- Can set a per-client rate limit and work out what a token bucket lets through
- Can explain how a CDN serves nearby copies, and set Cache-Control for shared and personal pages
- Can turn an availability target into allowed downtime and work out the availability of a chain of parts
Module 6 · 57m
Putting it together Locked
What you'll be able to do
- Can estimate and design a URL shortener, from code length to caching and the redirect type
- Can justify a design choice with the requirement behind it, what it costs and when to revisit it
- Can plan a 45-minute design interview and pick what to practise next