The system design library
Search and filter every curated system design video, article, repository and paper in one place.
68 resources
Security Engineering
How to build systems that stay secure when things go wrong: threat models, protocols, access control and failures. The author publishes the book free online.
BooksAdvancedFree from the authorBy Ross Anderson · University of Cambridge
Site Reliability Engineering
How Google runs production systems: SLOs, error budgets, monitoring and incident response. Free to read online from Google.
BooksIntermediateFree from the authorBy Google SRE team · Google
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
Automating Datacenter Operations at Dropbox
How Dropbox's Pirlo system automates switch provisioning and server validation in its data centres, raising first-pass success and engineer output.
Case StudiesIntermediateRead hereBy Dropbox engineers · Dropbox
Autoscaling AWS Step Functions Activities at Yelp
Autoscaling AWS Step Functions Activities Devesh Chourasiya, Jingjing Gu Jun 26, 2019 In an ongoing effort to break down our monolithic applications into microservices here at Yelp, we’ve migrated several...
Case StudiesIntermediateRead hereBy Yelp engineers · Yelp
Autoscaling Bigtable Clusters based on CPU Load at Spotify
At Spotify we are moving to managed infrastructure solutions to focus more on our core competencies. In the databases space that means moving to .
Case StudiesIntermediateRead hereBy Spotify engineers · Spotify
Autoscaling Jenkins at Trivago
I love to take complex and tedious processes and automate the pain out of them until they are reduced to three or four steps!As part of the release team ...
Case StudiesIntermediateBy Trivago engineers · Trivago
Autoscaling Pub-Sub Consumers at Spotify
is responsible for delivering hundreds of billions of events every day. Most of the events are generated as a response to a user action, such as playing a song, following an artist or clicking on an ad. All in all, more than 300 differen…
Case StudiesIntermediateRead hereBy Spotify engineers · Spotify
Avoiding fallback in distributed systems
Why rarely used fallback paths often fail when needed, and what Amazon does instead.
BlogsAdvancedBy Amazon Builders' Library · Amazon Web Services
Avoiding insurmountable queue backlogs
Why queues can accumulate work faster than it can be done, and design choices that keep recovery fast.
BlogsAdvancedBy Amazon Builders' Library · Amazon Web Services
AWS Architecture Blog
Reference architectures and design lessons for building on AWS.
BlogsIntermediateBy AWS architects · Amazon Web Services
Building Reliable Social Infrastructure for Google - Marc Alvidrez, Senior Manager at Google
Book your room for $225 single or double plus tax or call (800) 255-9925 or (408) 988-8411 and reference USENIX Association or Billing ID #32992. Room rate includes WiFi and complimentary shuttle to the Hyatt Regency Santa Clara.
Case StudiesIntermediateBy Google engineers · Google
Building Secure and Reliable Systems
Designing, implementing and operating systems that are both secure and reliable.
BooksAdvancedFree from the authorBy Google engineers · O'Reilly / Google
Bulkheads: Partition and Tolerate Failure in One Part
How ship bulkheads inspire system designs that confine a failure to one part, and what that isolation costs in efficiency.
Case StudiesIntermediateRead hereBy Skife engineers · Skife
Challenges with distributed systems
A tour of why distributed systems are hard: partial failure, unreliable networks, queues and retries.
BlogsIntermediateBy Amazon Builders' Library · Amazon Web Services
Chaos Monkey
The tool that randomly terminates instances in production to prove services survive failures.
DocumentationIntermediateBy Netflix
Chaos Monkey (source)
The source of Netflix's tool for randomly terminating instances to test resilience.
GitHubIntermediateBy Netflix · GitHub
Circuit Breaker
The pattern that stops calls to a failing dependency and tests recovery gradually.
BlogsIntermediateBy Martin Fowler
Circuit Breaker at Shopify
Learn to predict how your application will behave in times of failure and how to configure every parameter for your Semian circuit breaker.
Case StudiesIntermediateRead hereBy Shopify engineers · Shopify
Circuit Breaker pattern
States, thresholds and implementation advice for the circuit breaker.
DocumentationIntermediateBy Microsoft · Microsoft Azure
Circuit Breaking in Distributed Systems
Matt Heath discusses how circuit breakers and other similar patterns can be used to increase reliability in distributed systems such as Go-based microservice platforms.
Case StudiesIntermediateBy InfoQ engineers · InfoQ
Cloud Design Patterns
A catalogue of design patterns for cloud systems with guidance on when to use each.
DocumentationIntermediateBy Microsoft · Microsoft Azure
Clusterman: Autoscaling Mesos Clusters at Yelp
Autoscaling Mesos Clusters with Clusterman David R. Morrison, Compute Infra Tech Lead Feb 19, 2019 Here at Yelp, we host a lot of servers in the cloud. In order to...
Case StudiesIntermediateRead hereBy Yelp engineers · Yelp
Designing a Microservices Architecture for Failure
This article introduces the most common techniques and patterns to build and operate a highly available microservices architecture.
Case StudiesIntermediateRead hereBy Risingstack engineers · Risingstack