Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage News DDD, Events and Microservices

DDD, Events and Microservices

This item in japanese

To make microservices awesome Domain-Driven Design (DDD) is needed, the same mistakes made 5-10 years ago and solved by DDD are made again in the context of microservices, David Dawson claimed in his presentation at this year’s DDD Exchange conference in London.

Dawson, CEO at Simplicity itself, started by defining architecture as a philosophical standpoint, it’s the way you approach or reason about a problem and the guiding principles you use to solve a problem, but it’s not the solution itself, that’s the design. You don’t evolve architecture, instead you use those guiding principles to evolve a design. Many organisations that have technically implemented microservices have not achieved any benefits from this and Dawson thinks this is due to incorrect guiding principles.

After talking to a lot of people about what microservices are Dawson has found that everyone has their own opinion except for one thing; isolation using a network boundary. This isolation is for him what all benefits and pain in microservices comes from, it’s one massive trade-off from which you can gain great things but it will cost you.

Dawson believes that what we should really care about in order to enable building great microservices is the same as in DDD, e.g. aggregate roots, gateways, views and events. Events change the way we do software and he calls them the one true ubiquitous language. When talking to users they speak in terms of things happening, and that is events. He also thinks that when taking an events perspective, many of the problems in microservices of today vanish completely. A stream of events is the only truth that matters for him, claiming that data at rest, e.g. in a database, is useless, the only time you gain any value from it is when it moves, when you make a request or a query, when you send a command in, when you do something that change the data and it is in movement.

Dawson sees the current obsession in HTTP and REST when working with microservices as constraining, it’s one integration style but all we get is request – response, no broadcast or streaming support, with messaging you get all this and more and he believes that event sourced microservices is a way to radically change how you approach a problem.

Next year’s DDD Exchange is scheduled for 10th June 2016 and registration is open.

Rate this Article