Overview
Explore patterns for building resilient software systems in this 54-minute Devoxx conference talk. Learn about modern approaches that embrace failure instead of avoiding it, including graceful degradation, timeouts, circuit breakers, and chaos engineering. Discover how to improve observability, leverage availability zones, implement autoscaling, and handle consistency vs. resilient availability. Gain insights into decoupling, read-only mode, sharding, and preventing cascading failures. Understand the importance of timeouts, retries, exponential backoff, and cancellation. Dive into chaos engineering methodology and learn how breaking things on purpose can enhance system resilience. Explore concepts like steady state, hypothesis formation, experimentation, and continuous testing to build more robust software architectures.
Syllabus
Introduction
Failures
Availability
Parallel Systems
Availability Zones
Stateless
Autoscaling
Consistency vs resilient availability
Synchronous systems
Decoupling
ReadOnly Mode
Sharding
Dont store transient data
Cascading failures
Timeouts and retrys
Exponential backoff
Cancellation
Independent operations
Circuit breaker
Netflix
Firefighters
Jesse Robbins
Chaos Engineering
Continuous Testing
Steady State
Hypothesis
Experiment
Stop Button
Verify
Dont blame
Understanding
Taught by
Devoxx