Design patterns for application resiliency
summary
Explains concrete resiliency tactics: deploy across multiple availability zones and regions to avoid single‑site failures; set sensible timeouts with exponential backoff plus jitter (one line of code) to prevent connection pool exhaustion; use circuit‑breaker proxies (Hystrix style) and prioritized shallow health checks to avoid cascading failures; apply cell‑based isolation / shuffle sharding to reduce blast radius; run controlled chaos experiments with Chaos Monkey or AWS Fault Injection Simulator and game days to validate recovery.
AI-written summary · about
chapters (19)
- 0:00Start
- 3:22Partial failure mode
- 6:53AWS Region and availability zones
- 7:12Availability in parallel
- 7:46Multi-AZ architecture
- 13:02Set the timeouts!
- 15:43Example: add jitter 0-1000ms
- 16:08Circuit Breaker
- 17:17Probing for health
- 17:29Shallow health check
- 18:04Deep health check
- 21:20Load Shedding
- 23:52Assign Customers to Cells
- 26:17Blast radius
- 26:36Assign Customers to Random Cells
- 27:55Shuffle sharding
- 29:35Chaos engineering
- 30:48Failure injection
- 31:22AWS Fault Injection Simulator
related talks
51mPatterns for building resilient software systems
01h 03mPatterns for Resilient Architecture
32mResiliency and Availability Design Patterns for the Cloud
53mResiliency and Availability Design Patterns for the Cloud
49mPatterns for resilient, highly available cloud architectures
37mResilience Design Patterns
55mGoing Resilient
30mResilience strategies to level up your workloads
