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.
439 resources
10 Tips for Building Resilient Payment Systems
Practical rules from Shopify's payments team: idempotency, retries, reconciliation and more.
Case StudiesIntermediateRead hereBy Shopify Engineering · Shopify
30x Performance Improvements on MySQLStreamer at Yelp
Making 30x performance improvements on Yelp’s MySQLStreamer Abrar Sheikh, Software Engineer Feb 5, 2018 Introduction MySQLStreamer is an important application in Yelp’s Data Pipeline infrastructure. It’s responsible for streaming high-vo…
Case StudiesIntermediateRead hereBy Yelp engineers · Yelp
A 360 Degree View of the Entire Netflix Stack - High Scalability -
This is a guest repost by Chris Ueland , creator of Scale Scale , with a creative hig...
Case StudiesIntermediateRead hereBy High Scalability engineers · High Scalability
Accelerator: Fast Data Processing Framework at eBay
The Expertmaker Accelerator is a well-proven data processing framework that provides fast data access, parallel execution, and automatic organization of source code, input data, and results. It can be used for daily data analysis tasks a…
Case StudiesIntermediateBy eBay engineers · eBay
Active Directory Password Blacklisting at Yelp
Active Directory Password Blacklisting Leeren Chang, Software Engineer Apr 16, 2018 Many enterprise professionals use passwords that are weak and easily compromised. Equipped with this knowledge, as well as the...
Case StudiesIntermediateRead hereBy Yelp engineers · Yelp
Ads Pacing Service at Twitter
In this blog, we describe how we separate Twitter’s pacing system from the serving stack to an independent service.
Case StudiesIntermediateBy Twitter engineers · Twitter
Agrarian-Scale Kubernetes (3 parts) at New York Times
A real-world engineering write-up from New York Times on microservices and Orchestration.
Case StudiesIntermediateBy New York Times engineers · New York Times
Airflow at Adyen
Explore Adyen's journey and challenges in achieving reliable Apache Airflow operations at scale for data engineering.
Case StudiesIntermediateRead hereBy Adyen engineers · Adyen
Airflow at Grab
This blog post focuses on the lessons we learned while building our batch data pipeline.
Case StudiesIntermediateRead hereBy Grab engineers · Grab
Akutan: Distributed Knowledge Graph Store at eBay
We're excited to announce the public release of Akutan, a distributed knowledge graph store, under the Apache 2.0 open source license. Akutan is the result of four person-years of exploration and engineering effort, so there's a lot to u…
Case StudiesIntermediateRead hereBy eBay engineers · eBay
Alerting on Service-Level Objectives (SLOs) at SoundCloud
If there is anything like a silver bullet for creating meaningful and actionable alerts with a high signal-to-noise ratio, it is alerting based on service-level objectives (SLOs). Fulfilling a well-defined SLO is the very definition of m…
Case StudiesIntermediateRead hereBy SoundCloud engineers · SoundCloud
Altus Care: Applying a Chatbot to Platform Engineering at eBay
eBay developers recently combined several commonly used technologies, including Lucene search and the Stanford Natural Language Processor, to create Altus Care, a chatbot that provides an instant one-stop support solution for internal eB…
Case StudiesIntermediateBy eBay engineers · eBay
Amazon Architecture - High Scalability -
This is a wonderfully informative Amazon update based on Joachim Rohde's discovery of an interview...
Case StudiesIntermediateRead hereBy High Scalability engineers · High Scalability
Amazon Redshift and the art of performance optimization in the cloud
The cloud gives excellent mechanisms to improve performance as Concurrency Scaling for Redshift shows
Case StudiesIntermediateRead hereBy Allthingsdistributed engineers · Allthingsdistributed
Ambry: Distributed Immutable Object Store at LinkedIn
A SREcon talk on Ambry, LinkedIn's distributed object store for immutable blobs: its architecture, key features and operational flows.
Case StudiesIntermediateBy LinkedIn engineers · LinkedIn
Analyzing V8 Garbage Collection Logs at Alibaba
Alibaba is arguably the world’s biggest online commerce company. It serves millions of users and hosts millions of merchants and businesses. As of August 2016, Alibaba had 434 million users with 427 million active mobile monthly users. D…
Case StudiesIntermediateRead hereBy Alibaba engineers · Alibaba
Apache Hadoop 3.3.5
Hardware failure is the norm rather than the exception. An HDFS instance may consist of hundreds or thousands of server machines, each storing part of the file system’s data. The fact that there are a huge number of components and that e…
Case StudiesIntermediateRead hereBy Apache engineers · Apache
API Platform at Riot Games
Hello all, Leigh Estes, aka RiotSchmick, here. I’m a software engineer at Riot Games working in the Service Availability initiative. Our first article on the API covered our goals, the responsibilities of the Developer Relations and Develo…
Case StudiesIntermediateRead hereBy Riot Games engineers · Riot Games
Architecting Restaurant Wait Time Predictions at Yelp
Architecting Restaurant Wait Time Predictions Shweta Joshi, Machine Learning Engineer Dec 12, 2019 Is there a restaurant you’ve always wanted to check out, but haven’t been able to because they...
Case StudiesIntermediateRead hereBy Yelp engineers · Yelp
Architecture of Ad Platform at Twitter
Learn how our Revenue Platform team re-built Twitter’s Ad Platform Architecture for the future.
Case StudiesIntermediateBy Twitter engineers · Twitter
Architecture of Chat Service (3 parts) at Riot Games
Playing League of Legends for years now, I’ve formed a meaningful network of social connections with other gamers around the world. Whether they’re friends from work, former classmates, or players I’ve been matchmade with, they all have an…
Case StudiesIntermediateRead hereBy Riot Games engineers · Riot Games
Architecture of League of Legends Client Update
Greetings! My name is Andrew McVeigh, and I'm a software architect at Riot. We're in the latter stages of re-engineering the League of Legends client. We're calling this the League client update. In this post, I’ll outline the software arc…
Case StudiesIntermediateRead hereBy Riotgames engineers · Riotgames
Architecture of Nubank
Edward Wible and Rafael Ferreira discuss the key elements that make Nubank tick for millions of customers every day, including transaction authorization, messaging infrastructure (Kafka), real-time double-entry accounting (Datomic), cust…
Case StudiesIntermediateBy InfoQ engineers · InfoQ
Architectures of Finance, Banking, and Payment Systems
Enabling real-time payments improves the speed of the online payment experiences to customers and allows banks to drive higher payment volumes, ideally at lower costs as well as engage new customer segments.
Case StudiesIntermediateBy Redhat engineers · Redhat