The Big Friendly Monolith

Frans van Buul | GOTO Berlin 2017

Share on:
linkedin facebook
Copied!

Transcript

Everybody seems to be doing microservices these days. And for good reasons: it’s an architecture style that allows scalability and maintainability – it’s a great fit for a DevOps organization. But it’s not so easy to get to this promised land. If you already have a monolith, you may find that it’s very difficult to chop it up into microservices. But on the other hand, starting with microservices in a greenfield entails substantial investment of time setting up and learning microservices stuff – during which you’re not producing any business value.

Domain Driven Design (DDD) and Command Query Responsibility Segregation (CQRS) are known to provide us with means to tackle complexity within an application. However, they also provide us with patterns and guidelines to manage the complexity of large scale, distributed environments. If we apply them consistently, they enable us to write a friendly, structured monolith that can be transformed into a microservices landscape in a controlled manner.

In this talk, we’ll zoom in on this DDD/CQRS approach to microservices. We’ll introduce Axon Framework as a practical way of doing this in Java. We’ll focus on the messaging between microservices in the distributed case. We will discuss different approaches to ensure decoupling of services on the API level, but also ensuring flexibility to change the system's behavior at runtime simply by switching services on and off."

About the speakers