ExploreDDD 2024 - DDD, necessary but insufficient: physical design principles for microservices
microservice architecture architecting dark energy and dark matter DDDI did three things at ExploreDDD 2024:
- a condensed version of my Designing microservices: responsibilities, APIs and collaborations workshop
- a panel on LLMs and DDD
- a presentation on physical design principles for microservices
Here’s the abstract and the slides for the physical design principles talk.
Abstract
When we design software using DDD, we primarily focus on creating models scoped by bounded contexts that define ubiquitous languages. We also structure the models and the elements they contain to be loosely coupled and highly cohesive. However, while (logical) design techniques such as DDD domain modeling concepts, loose coupling and high cohesion are essential for creating good software, they are insufficient when designing a microservice architecture. In particular, we must also consider other more physical constraints including team size; team, process and transaction boundaries; and the cost of communication over a network.
In this talk, I describe a set of physical design principles for organizing subdomains into microservices. You will learn about both principles that encourage finer-grained decomposition into services as well as those that discourage decomposition. I describe how to apply those principles to design a microservice architecture.
Slides
Video
Need help with accelerating software delivery?
I’m available to help your organization improve agility and competitiveness through better software architecture: training workshops, architecture reviews, etc.