Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

In the Eventual Consistency of Succeeding at Microservices

2,207 views

Published on

The transition to microservices can be an exciting change of pace for developers. But for organizations, the path to success with microservices is not without embracing a major cultural shift in the process of how teams build and deliver software.

In this session, Kenny will introduce you to the leading practices and patterns for building and scaling event-driven microservice architectures.

Published in: Technology
  • Be the first to comment

In the Eventual Consistency of Succeeding at Microservices

  1. 1. In the Eventual Consistency of Succeeding at Microservices Kenny Bastani Spring Developer Advocate GOTO Chicago 2017
  2. 2. Kenny Bastani @kennybastani Spring Developer Advocate
  3. 3. Agenda Agenda 1 Monolith to Microservices 2 Online store example 3 Spring Boot 4 Event-driven microservices
  4. 4. Microservices How did we get there?
  5. 5. We started with the monolith…
  6. 6. Slows our velocity getting into production. Monolith problems…
  7. 7. Engineers take too long to ramp up. Monolith problems…
  8. 8. The code base becomes too large for any one person to reason about. Monolith problems…
  9. 9. Development creates change. DBAs resist change. Monolith problems…
  10. 10. Coordinated releases batch many changes together from different teams. Monolith problems…
  11. 11. Operations drives the runtime environment of applications. Monolith problems…
  12. 12. Deploy everything at once, or nothing at all. Monolith problems…
  13. 13. We then moved towards SOA…
  14. 14. We have now arrived at microservices…
  15. 15. Online Store Example Cloud native application as microservices
  16. 16. @kennybastani
  17. 17. Monolith to Microservice
  18. 18. Splitting the Monolith: User Service Migration
  19. 19. No foreign key constraints between services. Microservice problems…
  20. 20. I’ve got legacy problems. Microservice problems…
  21. 21. What about my data warehouse? Microservice problems…
  22. 22. Teams are creating redundant functionality. Microservice problems…
  23. 23. Distributed transactions are brittle. Microservice problems…
  24. 24. Every bug is a murder mystery. Microservice problems…
  25. 25. Distributed systems are hard. Microservice problems…
  26. 26. Without an event-driven architecture and a cloud platform…
 
 
 Microservices will drown you in hard problems you never knew existed.
  27. 27. Spring Boot A JVM micro-framework for building microservices
  28. 28. What is Spring Boot?
  29. 29. @kennybastani spring boot Spring Initializr for bootstrapping your applications supports rapid development of production-ready applications and services
  30. 30. Event-driven microservices Implementing event-driven architectures in a distributed system
  31. 31. Events as a first-class citizen. Event-driven microservices…
  32. 32. Domain events have a subject and contain immutable data. Event-driven microservices…
  33. 33. Every domain event applies a state transition to an aggregate. Event-driven microservices…
  34. 34. Domain events can only be applied if the aggregate is in a valid state. Event-driven microservices…
  35. 35. Create meaningful exceptions if a domain event cannot be applied. Event-driven microservices…
  36. 36. Event sourcing stores every state transition as an event in a log. Event-driven microservices…
  37. 37. Build hypermedia APIs that attach event logs as a link on an aggregate. Event-driven microservices…
  38. 38. Commands generate event(s). Event-driven microservices…
  39. 39. Commands are attached to aggregates. Event-driven microservices…
  40. 40. Event handlers subscribe to an event and apply state changes to an aggregate. Event-driven microservices…
  41. 41. Event handlers use event sourcing to generate the current state of an aggregate. Event-driven microservices…
  42. 42. Event handlers are nodes on a directed graph. Event-driven microservices…
  43. 43. Events are edges on a directed graph. Event-driven microservices…
  44. 44. CQRS is used to create materialized views from streams of events. Event-driven microservices…
  45. 45. Command Query model
  46. 46. @kennybastani
  47. 47. @kennybastani
  48. 48. @kennybastani
  49. 49. @kennybastani
  50. 50. Serverless event handlers Microservices can be event sources
  51. 51. Do what makes sense But don’t build microservices without events
  52. 52. $200.00 2 Days, 10 sessions 2 Spring team talks Live Open Space discussions Chicago: May 30, 31
  53. 53. Thank you!

×