ddd microservices
play

DDD & Microservices At last, some boundaries! Eric Evans - PowerPoint PPT Presentation

DDD & Microservices At last, some boundaries! Eric Evans @ericevans0 domainlanguage.com Why do I like microservices? Autonomous teams with isolated implementation. Acknowledge the rough and tumble of enterprises. Cattle not


  1. DDD & Microservices At last, some boundaries! Eric Evans @ericevans0 domainlanguage.com

  2. Why do I like microservices? • Autonomous teams with isolated implementation. • Acknowledge the rough and tumble of enterprises. • Cattle not pets. • A philosophical break from the past — gives us a chance to shake assumptions.

  3. Possibly, some other people mean something else: What I’m saying may not apply to that!

  4. Services and Messages S m m m m m m

  5. m m m A B m m m

  6. a a a A B b b b How do they understand the messages?

  7. Bounded Context • context The setting in which a word or statement appears that determines its meaning • bounded context The conditions under which a particular model is defined and applicable.

  8. a a a A B b b b Context Map partners B A

  9. C a a a a a a A B b b b Context Map partners B A

  10. Asymmetrical Relationships relationship Context Name Context Name (point toward power)

  11. C a a a a a a A B b b b Context Map C partners B A

  12. C a a a a a a A B b b b Context Map C conforms partners B A

  13. D C a a a a a a a a a A B b b b Context Map C conforms partners B A

  14. D C a a a a a a a a a A B b b b Context Map D C AC conforms partners B A

  15. D C a a a a a a a a a E A B a a b b b Context Map D C AC conforms partners B A

  16. D C a a a a a a a a a E A B a a b b b Context Map D C AC conforms partner conforms B E A s

  17. D C a a a a a a a a a a a a E A B a a b b b Context Map D C AC conforms partner conforms B E A s

  18. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C AC conforms partner conforms B E A s

  19. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C F conforms AC AC conforms partners conforms B E A

  20. Models need to be clear, 
 not big. • Useful models need crisp definitions. • Definitions require clear context. • Useful models need simple assertions. • Assertions require boundaries.

  21. There are always multiple models.

  22. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C F conforms AC AC conforms partners conforms B E A

  23. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C F conforms AC AC conforms partners conforms B E A

  24. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C F conforms BBoM AC AC conforms partners conforms B E A

  25. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C F conforms BBoM BBoM AC AC conforms partners conforms B E A

  26. D C F f ae a a ae b a a ae a b a a a a E A B a e a e b b b Context Map D Fiction! C F conforms BBoM BBoM Map what is . AC AC conforms partners conforms B E A

  27. Not all of a large system will be well designed.

  28. D C F f ae a a ae b a a ae a b a a a a E A B a e a e b b b Context Map D Patterns describe C F conforms good places to be. BBoM BBoM AC AC ??? conforms partners ??? B E A BBoM

  29. D C F f ae a a ae b a a ae a b a a a a E A B a e a e b b b Context Map D C F conforms AC BBoM BBoM AC AC conforms partners B E A AC BBoM

  30. Interchange context

  31. D C F f a a a a b a a a a b a a a a E A B a a b b b Context Map D C F conforms AC AC conforms partners conforms B E A

  32. D C F f i i i i b i i i b i i a a a E A B i i b b b Context Map D C F conforms AC AC conforms partners conforms B E A

  33. D C F f i i i i b i i i b i i a a a E A B i i b b b Context Map D C F conforms AC AC conforms conforms E I partners B A AC

  34. Why not logical boundaries? • Smart people point out that most of what I want is the logical partitioning of the system. • We’ve had decades to get that to work. • Some techniques are too subtle to survive the rough and tumble.

  35. Wrap up • Subtle design (such as DDD) requires concrete boundaries. • Lots of services recreate some of the old problems. • Context Maps help visualize and communicate about those problems. • Modest use of interchange contexts is one way of organizing coherent services.

  36. Not all of a large system will be well designed.

  37. DDD & Microservices At last, some boundaries! Eric Evans @ericevans0 domainlanguage.com

Recommend


More recommend