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)
- Applied Domain-Driven Design — Full-Stack Event Sourcing (in Online Event on 9th July 2020)
- Azure DevOps (in Online on 15th July 2020)
- Towards Autonomously aligned teams with Domain-Driven Design (SkillsCast recorded in October 2019)
- Domain Modelling For Digital Transformations (SkillsCast recorded in October 2019)
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.