Microservices - The Naked Truth Of The Maintainability

Microservices - The Naked Truth Of The Maintainability

13962ee99d2c07e7b7a7776222532f1d?s=128

Jakub Kubryński

April 03, 2017
Tweet

Transcript

  1. @jkubrynski / kubrynski.com MICROSERVICES THE NAKED TRUTH OF THE MAINTAINABILITY

    JAKUB KUBRYNSKI jk@devskiller.com / @jkubrynski / kubrynski.com
  2. $ WHOAMI DEVSKILLER CO-FOUNDER BOTTEGA TRAINER DEVOXX.PL PROGRAM COMMITTEE MEMBER

    SPRING CLOUD CONTRACT CO-AUTHOR
  3. Prawdziwego programistę poznaje się nie po tym, jak zaczyna, ale

    jak utrzymuje.
  4. HOW MICRO? 100 LOC? 1K LOC? 10K LOC? 100K LOC?

  5. 1K LOC AVERAGE ENTERPRISE APP == 500K LOC 1 ENTEPRISE

    APP == 500 MICROSERVICES
  6. BUSINESS ORIENTED FOR TECHNICAL STUFF WE HAVE LIBS

  7. AUTONOMY

  8. INDEPENDENCE P = P(1) * P(2) * ... * P(N)

  9. 99.8 * 99.8 * 99.8 = 99.4

  10. 99.9 ^ 10 = 99.0

  11. AVAILABILITY VS DOWNTIME 9 9 . 9 9 9 %

    35d 4d 8h 50m 5m per year 2.5h 14m 1.5m 8s 0.8s per day
  12. DEPTH * * SYNCHRONOUS

  13. QUALITY

  14. LOOSE COUPLING OVER CANONICAL MODEL

  15. AVOID END-TO-END TESTS

  16. VERIFY CONTRACTS IF: A == C && B == C

    THEN: A == B
  17. DESIGN FOR FAILURE

  18. RETRY

  19. CIRCUIT BREAKER KEEP CALM AND FALLBACK

  20. FIX AS ASAP AS POSSIBLE

  21. PERFORMANCE

  22. PERFORMANCE TESTS EXPENSIVE INACCURATE TRICKY

  23. PRODUCTION TRAFFIC IS USUALLY ON PRODUCTION

  24. MONITORING APPLICATION PERFORMANCE MANAGEMENT

  25. ANSCOMBE'S QUARTET

  26. PERCENTILES P50, P90, P95, P99

  27. P?? P95? P99? P99.5?

  28. 10 REQUESTS PER PAGE P90: 100% slow page views P95:

    50% slow page views P99: 10% slow page views
  29. P99 10 PAGES PER SESSION MEANS 100% FRUSTRATED USERS

  30. MONITOR P99.9 OR P99.95

  31. AUTOMATION * * AS A CODE

  32. PIPELINES AS A CODE

  33. INFRASTRUCTURE AS A CODE

  34. CONFIGURATION AS A CODE

  35. None
  36. QUESTIONS?

  37. THANKS

  38. "Have no fear of perfection - you'll never reach it."

    ― Salvador Dalí