< session />

Building Modular Monoliths Using Spring Modulith

Thu, 24 April

For years, software teams struggled with the complexity of large monolithic applications, leading to a shift towards microservices. However, microservices bring their own operational overhead, increased latency, and distributed complexity. Is there a middle ground where we can achieve the best of both worlds?

Enter Modular Monolith Architecture—a structured approach that retains the simplicity of monoliths while leveraging modularization principles to enable scalability and maintainability.

In this session, we’ll explore how to build Modular Monoliths using Spring Boot and Spring Modulith, taking advantage of modern architectural patterns and tools. Through live examples, we will cover:

  • Identifying and Defining Module Boundaries – How to logically structure a monolithic codebase into well-defined modules.
  • Imposing Module Boundaries – Using Spring Modulith to enforce modularization and prevent undesired dependencies between components.
  • Communication Between Modules – Best practices for synchronous and asynchronous communication inside a modular monolith.
  • Event-Driven Module Interaction – Leveraging domain events to enable loose coupling and scalability within the monolith.
  • Independent Module Testing – How to test each module in isolation while maintaining system integrity.
  • Generating C4 Model Documentation – Automatically document your architecture using Spring Modulith’s built-in capabilities.
  • Best Practices – Practical strategies to ensure modularity, maintainability, and gradual evolution without introducing excessive complexity.

Key Takeaways

  • Understand why Modular Monoliths are a viable alternative to microservices.
  • Learn how Spring Modulith enforces clear architectural boundaries within a monolith.
  • Discover techniques for module communication, both synchronous and event-driven.
  • Explore strategies for testing and documenting Modular Monoliths effectively.
  • Gain insights into best practices for designing and maintaining scalable modular monolith applications.

Target Audience

  • Java Developers – Those working with Spring Boot who want to build scalable and maintainable applications.
  • Software Architects – Professionals evaluating Monolith vs. Microservices trade-offs.
  • Engineering Leads & Tech Leads – Those overseeing large codebases and looking for better modularization strategies.
  • DevOps & Platform Engineers – Teams managing application deployment and architecture evolution.

Join this session to rethink monolithic architectures with a modular approach, and learn how Spring Modulith can help build future-proof applications.

< speaker_info />

About the speaker

Siva Katamreddy

Author & Developer Advocate, JetBrains

Siva works as a  Developer Advocate at JetBrains with 18+ years of experience in building scalable distributed enterprise applications. He has strong hands-on experience in building Cloud Native applications using various technologies including Java, Kotlin, Spring Boot, Spring Cloud, SQL/NoSQL databases.

He is the author of Beginning Spring Boot 3 (Apress), PrimeFaces Beginners Guide (PacktPub), and Java Persistence with MyBatis 3 books. He shares his knowledge on his blog - https://sivalabs.in and his YouTube channel - https://www.youtube.com/sivalabs.