System design case studies
How real companies build and scale their systems. Read an in-depth write-up, filter hundreds of engineering case studies, or open a similar design in the Builder.
In-depth write-ups
Each has an architecture diagram, the key components, scaling challenges and trade-offs, videos to watch and reading.
Architecture at a glance
- Service mesh of APIs
- Dynamo / DynamoDB
- SQS / SNS
- Cart & checkout
Architecture at a glance
- Application servers
- Sharded relational database
- Cache tier
- Media storage and CDN
Instagram
A photo and video feed that stays fast as the user base grows by orders of magnitude.
4 components3 challenges
Architecture at a glance
- Edge gateway (Zuul)
- Open Connect CDN
- Microservices
- Cassandra / EVCache
- +1 more
Netflix
Streaming to hundreds of millions of devices, built to survive failure.
5 components3 challenges
Architecture at a glance
- Streaming and CDN layer
- Metadata and catalogue services
- Event pipeline
- Recommendation platform
Spotify
Instant playback and personalised discovery for a global catalogue of audio.
4 components3 challenges
Architecture at a glance
- Dispatch service
- Location pipeline
- Schemaless / Docstore
- Kafka
- +1 more
Architecture at a glance
- Chat servers
- Message queue / store
- Presence service
- Media storage + CDN
Architecture at a glance
- Upload service
- Transcoding workers
- Metadata DB (Vitess)
- CDN / edge caches
- +1 more
439 engineering case studies
Write-ups from the companies themselves, with credit. Pick a company, or use the filters for topic, design area, difficulty and creator.
7 resources
Genie: Gen AI On-Call Copilot at Uber
In today’s fast-paced tech environment, maintaining robust on-call operations is crucial for ensuring seamless service functioning. Modern platform engineering teams face the challenge of efficiently managing on-call schedules, incident …
Case StudiesIntermediateRead hereBy Uber engineers · Uber
H3: Uber's Hexagonal Hierarchical Spatial Index
Why Uber divides the world into hexagonal cells for pricing, matching and analysis.
Case StudiesIntermediateRead hereBy Uber Engineering · Uber
How Ringpop from Uber Engineering Helps Distribute Your Application
A library that uses gossip and consistent hashing to share work between application instances without a central coordinator.
Case StudiesAdvancedRead hereBy Uber Engineering · Uber
Scaling Elasticsearch Clusters at Uber
Danny Yuan talks about how Uber scaled its Elasticsearch clusters as well as its ingestion pipelines for ingestions, queries, data storage, and operations by a three-person team. He covers topics like federation, query optimization, cach…
Case StudiesIntermediateBy Uber engineers · Uber
Switching from Postgres to MySQL at Uber
Uber Engineering explains the technical reasoning behind its switch in database technologies, from Postgres to MySQL.
Case StudiesIntermediateRead hereBy Uber engineers · Uber
Uber's Real-Time Push Platform
How Uber pushes live updates to millions of phones instead of having apps poll.
Case StudiesAdvancedRead hereBy Uber Engineering · Uber
Uber Schemaless: A Scalable MySQL Datastore
How Uber built an append-only, sharded datastore on top of MySQL.
Case StudiesAdvancedRead hereBy Uber Engineering · Uber