Please log in to watch this conference skillscast.
Microservices are so hyped at this point that I'm embarrassed to express my enthusiasm for the idea. Even so, I see this as an important approach that can help people succeed with DDD, and, conversely, I believe the tools of Strategic Design can help with some of the inevitable problems people will face trying to apply microservices.
Microservices are associated with extreme isolation (e.g. no shared database, autonomous dev-ops teams, etc.) At its best, this creates a practical boundary within which modeling and design have a chance to thrive. In Domain-driven Design (DDD) we call this a “Bounded Context”.
Bounded contexts take many forms, some leakier than others, and the current best practices of microservices have given us perhaps the strongest mainstream manifestation of this principle to date. In this way, microservices can help teams who attempting DDD or other sophisticated approaches.
Yet, as services get small and numerous, we might substitute one problem for another: The tangle of the monolith just migrates to become a tangle of interactions between microservices. Here, the strategic design principles of DDD can give architects a conceptual framework for working with suites of services and higher-level relationships between larger parts of systems.
This talk will introduce a few strategic design concepts and explain how they apply to development of microservices, as a tool for teams trying to grow large systems more coherently.
YOU MAY ALSO LIKE:
- Keynote: Exploring Time (SkillsCast recorded in April 2018)
- Domain Models in Practice with Marco Heimeshoff (Online Course on 30th November - 4th December 2020)
- Crafting Code with Sandro Mancuso (Online Course on 14th - 15th January 2021)
- Smash you some Haskell on a Minikube (SkillsCast recorded in November 2020)
- Strategic Domain-Driven Design Tools For Non-DDD People (SkillsCast recorded in October 2020)
DDD and Microservices: At last, some boundaries!
Eric Evans, author of Domain-driven Design: Tackling Complexity in the Heart of Software is a thought leader in software design, domain driven design and domain modeling and particularly focuses on strategic design.