Architectural Patterns of Resilient Distributed Systems
2
Resilience is the ability of a system to adapt or keep working when challenges occur
3
Decomposing into subsystems independently intolerant to harvest degradation but the application can continue if they fail You can only provide strong consistency for the subsystems that need it Ortho…
4
Insights from Cook's model Engineering resilience requires a model of safety based on: mentoring, responding, adapting, and learning System safety is about what can happen, where the operating point …
5
Thinking about building system resilience using a single discipline is insufficient. We need different strategies.
6
Evolution of our purging system from vi to v3 Used Bimodal Multicast (Gossip protocol) to provide extremely fast purging speed Desian concerns & system evolution
7
Faild allows us to fail & recover hosts via MAC- swapping and ECMP on switches Do immediate or gradual host failure & recovery Watch Joao's talk SREcon15
8
Resiliency and testing are correlated. TEST! Versioning from the start - provide an upgrade path from day 1 Upgrades & evolvability of systems is still tricky. Mixed-mode operations need to be common…
Description:
Explore architectural patterns for building resilient distributed systems in this conference talk from Strange Loop. Delve into the concept of resilience as the ability of systems to adapt or continue functioning during challenges. Learn about decomposing systems into independently tolerant subsystems, providing strong consistency only where necessary, and utilizing orthogonal mechanisms. Examine insights from Cook's model of engineering resilience, focusing on mentoring, responding, adapting, and learning. Discover the importance of a multi-disciplinary approach to system resilience. Follow the evolution of a purging system, including the use of Bimodal Multicast for fast purging speeds. Investigate design concerns, system evolution, and the role of testing in building resilient systems. Gain insights into versioning, upgrades, and mixed-mode operations for evolving systems. Understand the correlation between resiliency and testing, and the importance of providing upgrade paths from the beginning.
Read more
Architectural Patterns of Resilient Distributed Systems