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

Microservices War Stories

Microservices War Stories

OSCON 2016

Blithe Rocher

May 18, 2016
Tweet

More Decks by Blithe Rocher

Other Decks in Technology

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