Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.

Breaking down monoliths - DEM08-S - New York AWS Summit

93 visualizaciones

Publicado el

Monolithic code bases are not only difficult to maintain, they slow your development teams. As your application grows, the tight coupling of code and teams can bring progress to a halt. In this session, Datadog shares tips for uncoupling your teams and breaking large code bases into microservices. This presentation is brought to you by AWS partner, Datadog.

  • Sé el primero en comentar

Breaking down monoliths - DEM08-S - New York AWS Summit

  1. 1. Roman Sheydvasser Solutions Operations Lead Datadog Breaking Down Monoliths DEM08-S
  2. 2. Your Story
  3. 3. @coderoman Solutions Ops Lead “Automate All The Things”
  4. 4. @datadoghq SaaS-based monitoring 250+ integrations Trillions of data points per day https://datadoghq.com
  5. 5. What do you mean by “Microservices”?
  6. 6. You might be a Microservice if... ● Abstracted ● Reusable ● Autonomous ● Stateless ● Discoverable ● Composable
  7. 7. You might be a Microservice if... ● Abstracted ● Reusable ● Autonomous ● Stateless ● Discoverable ● Composable
  8. 8. You might be a Microservice if... ● Abstracted ● Reusable ● Autonomous ● Stateless ● Discoverable ● Composable
  9. 9. You might be a Microservice if... ● Abstracted ● Reusable ● Autonomous ● Stateless ● Discoverable ● Composable
  10. 10. You might be a Microservice if... ● Abstracted ● Reusable ● Autonomous ● Stateless ● Discoverable ● Composable
  11. 11. You might be a Microservice if... ● Abstracted ● Reusable ● Autonomous ● Stateless ● Discoverable ● Composable
  12. 12. There is no real definition
  13. 13. Why Microservices?
  14. 14. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  15. 15. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  16. 16. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  17. 17. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  18. 18. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  19. 19. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  20. 20. Why…? ● Loose Coupling ● Greater Agility ● Faster to Market ● Better Scalability ● Better Fault Tolerance ● Platform & Language Agnostic ● Cloud-Ready
  21. 21. How to go about breaking apart code?
  22. 22. Identify Products
  23. 23. The Sandi Metz Rule
  24. 24. Preparing to Split
  25. 25. Preparing to Split ● Identify Current Interactions ● Write Tests and Monitors ● The Service’s Contract (API + SLA) ● Ensure Tests and Monitors Match App
  26. 26. Preparing to Split ● Identify Current Interactions ● Write Tests and Monitors ● The Service’s Contract (API + SLA) ● Ensure Tests and Monitors Match App
  27. 27. Preparing to Split ● Identify Current Interactions ● Write Tests and Monitors ● The Service’s Contract (API + SLA) ● Ensure Tests and Monitors Match App
  28. 28. Preparing to Split ● Identify Current Interactions ● Write Tests and Monitors ● The Service’s Contract (API + SLA) ● Ensure Tests and Monitors Match App
  29. 29. Breaking Off Chunks
  30. 30. Breaking Off Chunks ● Start with Peripheral Services ● Minimize Dependencies on Monolith ● Don’t be afraid of Macro Services ● Prioritize for team velocity
  31. 31. Breaking Off Chunks ● Start with Peripheral Services ● Minimize Dependencies on Monolith ● Don’t be afraid of Macro Services ● Prioritize for team velocity
  32. 32. Breaking Off Chunks ● Start with Peripheral Services ● Minimize Dependencies on Monolith ● Don’t be afraid of Macro Services ● Prioritize for team velocity
  33. 33. Breaking Off Chunks ● Start with Peripheral Services ● Minimize Dependencies on Monolith ● Don’t be afraid of Macro Services ● Prioritize for team velocity
  34. 34. Moving to Product- Oriented Teams
  35. 35. Project vs Product, and Funding Models
  36. 36. Charter the Product Team
  37. 37. Breaking Down Monoliths: Conclusion Roman Sheydvasser Solutions Operations Lead Datadog DEM08-S

×