solid snakes attitude incentives important vs urgent
play

SOLID SNAKES ATTITUDE INCENTIVES IMPORTANT VS URGENT SIMPLICITY - PowerPoint PPT Presentation

HYNEK SCHLAWACK SOLID SNAKES ATTITUDE INCENTIVES IMPORTANT VS URGENT SIMPLICITY THE PRICE OF RELIABILITY IS THE PURSUIT OF THE UTMOST SIMPLICITY. Sir C.A.R. Hoare NORMAL ACCIDENTS ESSENTIAL ESSENTIAL VS ACCIDENTAL OPERATIONAL


  1. HYNEK SCHLAWACK SOLID SNAKES

  2. ATTITUDE

  3. INCENTIVES

  4. IMPORTANT VS URGENT

  5. SIMPLICITY THE PRICE OF RELIABILITY IS THE PURSUIT OF THE UTMOST SIMPLICITY. Sir C.A.R. Hoare

  6. NORMAL ACCIDENTS

  7. ESSENTIAL

  8. ESSENTIAL VS ACCIDENTAL

  9. OPERATIONAL COMPLEXITY

  10. Client your DC App CDN Work Redis DB Queue Cache

  11. Client your DC App CDN Work Redis DB Queue Cache

  12. Client your DC App CDN Work Redis DB Queue Cache

  13. MICROSERVICES

  14. Service 7 Service 8 Service 6 Service 1 Service 5 Service 2 Service 4 Service 3

  15. COMPLEXITY IS REALITY

  16. PLAN FOR STUPIDITY

  17. HUMAN ERRORS I DON’T BELIEVE IN HUMAN ERROR John Allspaw, CTO at Etsy

  18. DATA VALIDATION

  19. DATA VALIDATION AT EDGES

  20. NORMALIZATION DATA VALIDATION AT EDGES

  21. PLOT TWIST!

  22. FAILURE IS INEVITABLE

  23. RELIABILITY

  24. RELIABILITY Twitter 2007

  25. RELIABILITY Twitter 2007 NASA 1969

  26. FAILURE IS INEVITABLE

  27. FAILURE IS INEVITABLE ( ⌐■ _ ■ )

  28. EXPECT

  29. TIMEOUTS

  30. CLOSED Local call() call() Circuit Remote Client Breaker API result result

  31. CLOSED → OPEN Local call() call() Circuit Remote Client Breaker API timeout! timeout!

  32. OPEN Local call() Circuit Remote Client Breaker API circuit open!

  33. OPEN → HALF-CLOSED Local call() call() Circuit Remote Client Breaker API result result

  34. REDUNDANCY

  35. DOCS

  36. DEAL WITH IT (¬ ∎ _ ∎ )

  37. DON’T MAKE IT WORSE

  38. RETRIES

  39. BACKOFF

  40. EXPONENTIAL BACKOFF

  41. EXPONENTIAL BACKOFF WITH JITTER

  42. Frontend 3x Backend

  43. Frontend 3x Backend 9x 9x Internal Internal Backend Backend A B

  44. Frontend 3x Backend 9x 9x Internal Internal Backend Backend A B 27x Internal Backend C

  45. DON’T SWALLOW ERRORS

  46. try : do_something() return True except Exception : return False

  47. try : do_something() except Exception : raise AppException()

  48. try : do_something() return True except Exception as e: raise AppException() from e

  49. try : do_something() return True except Exception as e: raise AppException() from e AppException().__cause__ == e

  50. DON’T TRY TOO HARD

  51. sys.exit(1)

  52. CRASH-ONLY

  53. FAIL FAST FAIL LOUDLY

  54. FOCUS ON RECOVERY

  55. MTTR

  56. ZERO EXPECTATIONS

  57. FAULT TOLERANCE

  58. FAULT TOLERANCE RECOVERY

  59. OX.CX/SS @HYNEK VRMD.DE

Recommend


More recommend