Professional Documents
Culture Documents
Resilience Testing
Geoffrey Arij van der Tas
Mark Abrahams
About us!
About Today
• Setup our lab environment
• Theory:
• What is Resilience?
• Resilience
• How to test Resilience?
• Load Testing
• Resilience Testing
• Automated Resilience Testing
What is Resilience?
“ Resilience is the ability of a system
to withstand a major disruption
within acceptable degradation
parameters and to recover within an
acceptable time and composite
costs and risks. ”
Becoming Resilient Examples:
Load Balancing
Stand-by servers
Infra
Examples:
People &
Re-try Pattern Software Examples:
Processes Yearly Datacenter
Circuit Breaker Pattern
Switch-over
Stand-by shifts
To become Resilient
• Prevent: Measures you take to make sure problems do not occur
• Resist: To stand firm, to withstand problems that occur
• Remediate: Is to correct or make the service again right Prevent
• Recover: Restore the service as quickly as possible
Recover Resist
Remediate
Now it is
up to you..
Our App
VM
VM
Go to Gatling\user-files\simulations\carshare
Open the file called load (with Notepad ++ or a IDE (with scala plugin))
Go to Gatling\user-files\simulations\carshare
Open the file called stress(with Notepad ++ or a IDE (with scala plugin))
VM
Application
Test app as microservice (non HA)
Test results – normal load, pod failure chaos
Test app as microservice (HA)
Test results – normal load, pod failures chaos HA
Resilience testing
Why: To help you build more stable application and perform well in
real life situations;