Case studies
Patterns are easier to judge when you can see them under real pressure. Each case study follows one organization through a specific architecture problem, using what its own engineers published: what hurt, what they chose, what it cost, and what changed.
Every case study has the same parts:
- At a glance: the organization, the problem and the architecture they moved to.
- The problem and what they did, with a diagram.
- Results, using only figures the organization published.
- Trade-offs, because every one of these decisions gave something up.
- Lessons you can reuse, and links to the matching pages on this site.
- Sources, so you can read the original.
For the opposite view, the failure library looks at well-known outages and the patterns that would have limited them.
By theme
Section titled “By theme”Event streaming and data integration
Section titled “Event streaming and data integration”| Case study | Industry | Lesson in one line |
|---|---|---|
| LinkedIn builds Kafka | Social network | A shared log replaces N×N point-to-point pipelines. |
| Uber’s incremental data lake | Mobility | Upserts and incremental reads cut data latency from a day to under an hour. |
Microservices, monoliths and everything between
Section titled “Microservices, monoliths and everything between”| Case study | Industry | Lesson in one line |
|---|---|---|
| Netflix moves to the cloud | Streaming media | A single point of failure pushed a seven-year rebuild into cloud-native services. |
| Airbnb splits its monolith | Travel marketplace | Compare old and new paths on live traffic before you switch. |
| Monzo runs a bank on microservices | Banking | Thousands of services work when the paved road is the easy road. |
| Uber organizes services into domains | Mobility | Group microservices behind gateways before the call graph does it for you. |
| Shopify builds a modular monolith | E-commerce | Boundaries inside one codebase give most of the benefit at a fraction of the cost. |
| Segment goes back to a monolith | Data SaaS | Per-unit services can multiply operational work faster than they remove it. |
| Prime Video’s monitoring service | Streaming media | For a high-throughput pipeline, in-memory beat distributed orchestration on cost. |
Databases at scale
Section titled “Databases at scale”| Case study | Industry | Lesson in one line |
|---|---|---|
| Discord stores trillions of messages | Communication | Fix hot partitions with a better engine and a smarter layer in front of it. |
| Slack moves to Vitess | Collaboration | Change the sharding key without leaving the database you know. |
| Figma shards Postgres | Design software | Shard logically first, then physically, so every step can be undone. |
APIs and reliability
Section titled “APIs and reliability”| Case study | Industry | Lesson in one line |
|---|---|---|
| Stripe’s idempotency keys | Payments | Make retries safe by design, not by hope. |
Cloud strategy
Section titled “Cloud strategy”| Case study | Industry | Lesson in one line |
|---|---|---|
| Dropbox builds Magic Pocket | File storage | At exabyte scale, owning the storage layer can beat renting it. |
Public sector delivery
Section titled “Public sector delivery”| Case study | Industry | Lesson in one line |
|---|---|---|
| HealthCare.gov’s launch | Government, healthcare | Architecture fails when requirements, ownership and testing are left until the end. |
Reading these well
Section titled “Reading these well”- Context decides. Segment and Prime Video moved toward monoliths; Monzo and Uber run thousands of services. None of them is wrong. Compare their constraints with yours before copying the outcome.
- Published results are a company’s own account. They are useful evidence, not independent audits. Where others questioned a conclusion, the case study says so.
- Dates matter. Each case reflects the technology and scale at the time it was written up. Some of these systems have changed since.
Written and edited by Abhinav Taduka, enterprise software architect.