Modeling Microservices with DDD

By Paulo Merson

Elevator Pitch

See talk description.

Description

Many have suggested using DDD to help define the functional scope of microservices. But how to apply this idea in practice is not clear to everyone. DDD is a domain modeling technique created in the early 2000s. Microservices is an architecture style that became popular in 2015 as means to break software solutions into a set of independently deployed services. In this talk we’ll cover basic DDD concepts, and we’ll discuss why and how DDD can help to create microservices with better autonomy, scalability, and reliability. Using examples, we’ll navigate from a domain model to the design of both synchronous (REST-based) and asynchronous (reactive) microservices.

Notes

This is a 45-minute technical talk. It could be adapted to a 90-minute tutorial if the SATURN program committee finds that to be a better fit. Both speakers have already presented at SATURN at different occasions.

  • Paulo Merson (https://www.youtube.com/watch?v=UbTQgyW0eHA)

  • Joe Yoder (https://www.youtube.com/watch?v=5658VuYiRxs)

In this talk we’ll give a brief introduction of the strategic and tactical DDD patterns that are more directly useful for microservice design. We’ll look what authors such as Chris Richardson, Sam Newman, and Eric Evans have suggested about using DDD for microservice modeling. We’ll then consolidate these ideas through a few simple examples.