Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Failure Friday: Start Injecting Failure Today!

Doug Barth
September 12, 2014

Failure Friday: Start Injecting Failure Today!

DevOpsDays Toronto 2014

Video: http://vimeo.com/107528697

Doug Barth

September 12, 2014
Tweet

More Decks by Doug Barth

Other Decks in Technology

Transcript

  1. 9/15/14 Designed for reliability FAILURE FRIDAY! Downstream providers fail 3

    phone providers 3 email providers 6 SMS providers PagerDuty providers fail 2 cloud providers 3 data centers
  2. 9/15/14 Hung up on details FAILURE FRIDAY! Bugs in exceptional

    code paths Systems not recovering as quickly as expected What is normal when things are abnormal?
  3. 9/15/14 Simian Army FAILURE FRIDAY! Chaos Monkey Latency Monkey Chaos

    Gorilla Chaos Kong “WP7WALLPAPER_EVIL_MONKEY_09” BY SKYLER817
  4. 9/15/14 Schedule FAILURE FRIDAY! 1 hour recurring meeting Developers &

    Operations List of attacks and identify victim Finish as much as possible
  5. 9/15/14 Before starting FAILURE FRIDAY! Disable cron jobs & CM

    system Announce the start Open up relevant dashboards Leave alarms enabled
  6. 9/15/14 Attacks FAILURE FRIDAY! Test a single host and then

    DC 5 minutes Return to a working state Stop if things break
  7. 9/15/14 Keep a log FAILURE FRIDAY! Keep track of actions

    taken Times are super important Also track discoveries and TODOs Share dashboards/metrics Chat rooms make this easy
  8. 9/15/14 FAILURE FRIDAY! IPTABLES -I INPUT 1 -P TCP --DPORT

    9160 -J DROP IPTABLES -I INPUT 1 -P TCP --DPORT 7000 -J DROP ! IPTABLES -I OUTPUT 1 -P TCP --SPORT 9160 -J DROP IPTABLES -I OUTPUT 1 -P TCP --SPORT 7000 -J DROP
  9. 9/15/14 Issues fixed FAILURE FRIDAY! Aggressive restarts by monit Large

    files on ext3 volumes Failing to restart due to bad /etc/fstab file High latency from network isolated cache Low capacity with a lost DC Missing alerts/metrics
  10. 9/15/14 Break more things FAILURE FRIDAY! Start testing whole DC

    outages Break multiple services at once Distribute failure testing to teams Automate
  11. 9/15/14 Break more things FAILURE FRIDAY! Start testing whole DC

    outages Break multiple services at once Distribute failure testing to teams Automate
  12. 9/15/14 Summary FAILURE FRIDAY! Failures will happen Proactively test failure

    handling now Choose something easy: app server, cache Automate later