Patterns for Resilient Architecture
summary
Modern resiliency is practical: deploy across multiple AZs and use cell-based architecture (Amazon runs ~1,500 microservices) so faults stay local; duplicate 99% components to cut annual downtime from days to about 52 minutes; use shuffle sharding (eight nodes, shard size two drops blast radius from 12.5% to 3.6%); decouple with queues and job IDs, use auto-scaling for self‑healing, prefer read/write separation and caches for transient state, wrap calls with circuit breakers and jittered exponential backoff, and validate with chaos engineering game days.
AI-written summary · about
chapters (29)
- 0:00Intro
- 0:39Complex systems
- 2:07Partial failure mode
- 5:29The Famous 95 of availability
- 6:50Availability in parallel
- 8:05AWS Region and availability zones
- 10:16Multi-AZ architecture
- 13:10Theoretical blast radius
- 14:35Typical service application
- 16:44Partial availability zone failure
- 17:05System properties . Workload isolation
- 20:36Cascading Failures
- 21:26Cell-based architecture
- 22:25Shuffle sharding
- 26:24Auto-scaling for self-healing
- 28:27Decoupling with async pattern
- 31:39Degrade & prioritize traffic with queues
- 37:49Set the timeouts!
- 38:01Backing off between retries
- 40:25Idempotent operation
- 42:57Shallow health check
- 43:21Deep health check
- 47:24Service Degradation & Fallbacks
- 49:39Pattern B: Circuit Breaker
- 50:42Database Federation
- 52:26Database Sharding
- 52:47Read/Write separation
- 54:40Pattem 9+
- 57:30Chaos engineering
related talks
51mPatterns for building resilient software systems
35mDesign patterns for application resiliency
49mPatterns for resilient, highly available cloud architectures
53mResiliency and Availability Design Patterns for the Cloud
55mGoing Resilient
37mResilience Design Patterns
50mSurviving Scale: Patterns for Evolving Failure-Resilient Microservices
36mDesigning for failure - architecting fault-tolerant system
