Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Call Me Never
Building apps that don't wake you up
David Dossot
Great in movies ...
... Tough in real life.
5 million visits a day...
... And counting.
Aiming for five nines...
... And 100x traffic
Readiness
Degradation
Recovery
Strengthening
99.9962
( °□°╯ )╯︵ ┻━┻
Load test and profiling
Readiness
Readiness
Replay access logs
Readiness
Welcome to the Internet
GET /admin.php
GET /catalog/compare/?action=DELETE_FROM_COMPARE
_RESULT&IBLOCK_ID=3
Host...
Degradation
Decouple with queues and topics
Degradation
Delay, don't fall down
Degradation
Short circuit blocking-IOs
cache.get(key)
Degradation
Beware of benign code
Recovery
Self heal from transient failures
Recovery
Self heal from transient failures
Recovery
Maintain stable state
Recovery
Replay stable state
Strengthening
Healthy health checks
Strengthening
Healthy health checks
Strengthening
Code defensively and log abundantly
try {
// risky stuff
} catch {
// useful log
}
Strengthening
Failure is opportunity for more tests
Upcoming SlideShare
Loading in …5
×

Call me never (Building apps that don't wake you up)

2,344 views

Published on

Slides from my DevOps Days Vancouver 2014 Ignite Talk.

Read more here: http://blog.dossot.net/2014/11/call-me-never-ignite-talk.html

Published in: Technology
  • Login to see the comments

Call me never (Building apps that don't wake you up)

  1. 1. Call Me Never Building apps that don't wake you up David Dossot
  2. 2. Great in movies ... ... Tough in real life.
  3. 3. 5 million visits a day... ... And counting.
  4. 4. Aiming for five nines... ... And 100x traffic
  5. 5. Readiness Degradation Recovery Strengthening 99.9962 ( °□°╯ )╯︵ ┻━┻
  6. 6. Load test and profiling Readiness
  7. 7. Readiness Replay access logs
  8. 8. Readiness Welcome to the Internet GET /admin.php GET /catalog/compare/?action=DELETE_FROM_COMPARE _RESULT&IBLOCK_ID=3 Host: -- DROP DATABASE users;
  9. 9. Degradation Decouple with queues and topics
  10. 10. Degradation Delay, don't fall down
  11. 11. Degradation Short circuit blocking-IOs
  12. 12. cache.get(key) Degradation Beware of benign code
  13. 13. Recovery Self heal from transient failures
  14. 14. Recovery Self heal from transient failures
  15. 15. Recovery Maintain stable state
  16. 16. Recovery Replay stable state
  17. 17. Strengthening Healthy health checks
  18. 18. Strengthening Healthy health checks
  19. 19. Strengthening Code defensively and log abundantly try { // risky stuff } catch { // useful log }
  20. 20. Strengthening Failure is opportunity for more tests

×