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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend