About Modularized Monolith – my newest Conference speech

Is the Monolith a modern Architecture pattern? Yes, but a Modularized one – where you can benefit from separation of domains and don’t have to distribute deployments unless this is necessary.

I find the skill of building Modularized Monolith as important as building Microservices and Serverless. That’s why I decided to prepare a presentation with a case study of building a Modularized Monolith and restricting boundaries with ArchUnit – a tool to unit test my architecture.

Main stage on Devoxx Poland

This Devoxx was special to me. First stationary event after a long pandemic break and my speech selected to be presented in the main room. A huge room with 2000 seats, impressive stage with 12 meters wide screen – It felt great! Definetely best conference experience ever with around 600 participants, including online stream. See it on LinkedIn

Connecting and getting ready for the session

Slides

Published on my GitHub: github.com/yacekmm/ModularizedMonolith

Abstract

How many times did you hear: Modularize the monolith, instead of doing microservices? And maybe you see the point, but the next day you sit in front of your IDE wondering… How to actually implement it?

The title sounds like it was presented in the previous era, isn’t it? Now everyone is doing Serverless. Possibly microservices in bit older systems. Or maybe it is very urgent topic to talk about, as all three architectures find their fit into particular case. Particularly the modularized monoliths are important when facing a decision of distributing your system.

The presentation is full of content – the Case Study based on a product that started as a Monolith, to become a Modularized Monolith. Shows the process of codebase modularization, starting with basic repackaging, defining modules in code up until the presentation of the tool that guards the modules’ border for us automatically – the ArchUnit. Because we surely want to avoid manual rules checking.

On a presentation I assume that module boundaries are already defined on a business level. The focus is on implementing and enforcing them in the code.

Recordings

Devoxx Poland 2021 [en]

Javeloper 2021 [pl]

4developers 2021 [pl]

Devoxx Ukraine 2021 [en]

Give Your feedback: