Don't fight the Monolith

Peter Ullrich


Microservices often seem like the perfect solution to all company problems. Teams won’t interfere with each other, everything becomes scalable, and only happiness lies ahead. But software architectures must solve - and obey - social requirements just as much as technical ones.

Based on my professional experience with monoliths, modular monoliths, and microservices, I will discuss the social implications - and benefits - of choosing each architecture. I’ll answer the questions: “Which architecture suits my team structure best?” and “Which team structure suits my architecture best?”.

You will also learn which libraries help you to implement each architecture and which pitfalls to avoid. Think “Boundary” for a Modular Monolith or “RabbitMQ + Commanded” for Microservices. This talk will be a complete guide for choosing and implementing each architecture with Elixir.

Talk objectives:

  • Teach the audience about the pros and cons of the Monolith, Modular Monolith, and Microservice architecture, how to implement each with Elixir, and give them a decision guide for choosing the option that suits their use case best.

Target audience:

  • I believe that attendees with every experience level can learn something from my talk, because it highlights which architecture fits best with which team structure, product type, and company size. It highlights the social aspect of each architecture as well as ways to implement each using Elixir.


Tags: Architecture, Social, Interactions