Microservices War Stories

Microservices War Stories

OSCON 2016

98bcb9a1d462d6ea907fade0d601ea04?s=128

Blithe Rocher

May 18, 2016
Tweet

Transcript

  1. Blithe Rocher OSCON May 18, 2016 ` MICROSERVICES WAR STORIES

  2. @BLITHE

  3. None
  4. MICROSERVICES So…

  5. A MONOLITH vs.

  6. MICROSERVICES

  7. WHY ARE MICROSERVICES SO POPULAR?

  8. INDEPENDENT DEPLOYMENT & SCALABILITY 1 REASON

  9. 1 REASON

  10. 1 REASON

  11. 1 REASON

  12. 1 REASON

  13. 1 REASON

  14. 1 REASON

  15. COMPARTMENTALIZE TEAMS & RESPONSIBILITIES 2 REASON

  16. TECHNICAL DESIGN FREEDOM 3 REASON

  17. FAULT TOLERANCE 4 REASON

  18. WHY ME?

  19. MAKING MISTAKES & LEARNING FROM THEM Experience

  20. STORY TIME

  21. SUPPORTING NEW CONTENT TYPE 1 STORY Story

  22. STORY: Supporting New Content Type

  23. STORY: Supporting New Content Type

  24. STORY: Supporting New Content Type

  25. CONTENT-TYPE: TEXT/HTML ☹ STORY: Supporting New Content Type

  26. STORY: Supporting New Content Type

  27. STORY: Supporting New Content Type

  28. STORY: Supporting New Content Type PROBLEM?

  29. STORY: Supporting New Content Type REMEDIES

  30. REMOVING A FEATURE FLAG 2 STORY Story

  31. UI Authorization Service STORY: Removing Feature Flags

  32. DELETING CODE Yay! STORY: Removing Feature Flags

  33. PROBLEM? STORY: Removing Feature Flags

  34. REMEDIES STORY: Removing Feature Flags

  35. TIGHTLY COUPLED SERVICES 3 STORY Story

  36. STORY: Tightly Coupled Services Microservice A Database Microservice B

  37. STORY: Tightly Coupled Services ALL THE WAY DOWN Headaches

  38. STORY: Tightly Coupled Services PRODUCTION

  39. STORY: Tightly Coupled Services Microservice A Database Microservice B

  40. STORY: Tightly Coupled Services Microservice A Database Microservice B

  41. STORY: Tightly Coupled Services Microservice A Database Microservice B

  42. STORY: Tightly Coupled Services DEVELOPMENT

  43. STORY: Tightly Coupled Services SERVICES NOT ISOLATED, ALL NEED TO

    BE RUNNING
  44. STORY: Tightly Coupled Services Microservice A Database Microservice B

  45. STORY: Tightly Coupled Services AUTOMATED TESTING

  46. STORY: Tightly Coupled Services Microservice A Database Microservice B

  47. STORY: Tightly Coupled Services VCR RECORDING Solution?

  48. STORY: Tightly Coupled Services API Responses - 1992

  49. STORY: Tightly Coupled Services VCR GEM STORY: Tightly Coupled Services

  50. STORY: Tightly Coupled Services PROBLEM?

  51. STORY: Tightly Coupled Services REMEDIES

  52. STORY: Tightly Coupled Services

  53. STORY: Tightly Coupled Services

  54. STORY: Tightly Coupled Services BUNDLE EXEC RAKE TEST:REAL

  55. STORY: Tightly Coupled Services BUNDLE EXEC RAKE TEST:MOCK

  56. STRING VS INTEGER 4 STORY Story

  57. STORY: String vs. Integer

  58. STORY: String vs. Integer

  59. STORY: String vs. Integer

  60. ONE ENDPOINT TO RULE THEM ALL STORY: String vs. Integer

  61. STORY: String vs. Integer

  62. STORY: String vs. Integer

  63. STORY: String vs. Integer

  64. STORY: String vs. Integer

  65. STORY: String vs. Integer

  66. STORY: String vs. Integer

  67. STORY: String vs. Integer

  68. STORY: String vs. Integer

  69. PROBLEM? STORY: String vs. Integer

  70. REMEDIES STORY: String vs. Integer

  71. SUMMARY & TAKE AWAYS

  72. THANKS! Questions? @Blithe

  73. None