DDD, Events and Microservices

| by Jan Stenberg Follow 34 Followers on Jun 29, 2015. Estimated reading time: 2 minutes |

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

Adoption Stage

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Tell us what you think

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Yesss DDDDD by Erik Gollot

Totally agree with DDD that should/must help a lot. After rejecting lot of good engineering practices with the emergence of poor Agile/Scrum practitioners...we discover them again...

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Email me replies to any of my messages in this thread

1 Discuss

Login to InfoQ to interact with what matters most to you.

Recover your password...


Follow your favorite topics and editors

Quick overview of most important highlights in the industry and on the site.


More signal, less noise

Build your own feed by choosing topics you want to read about and editors you want to hear from.


Stay up-to-date

Set up your notifications and don't miss out on content that matters to you