Speaker details

Jacek Milewski

Circle K

I create software with care for clean code, tests and architecture. I have a pragmatic architecture approach and design it to fit business needs. I trust in use automation and observability. Doing the UX and performant perfect things satisfies me the most. My goal is to be in an environment that drives my personal development. Advocating that the only way to deliver software product fast, is to build it in a high quality.

Implement the monolith - the one well modularized

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.