Reminder: Architectural patterns for modular monoliths that enable fast flow

You are receiving this email because you subscribed to microservices.io


This month, I'm teaching an online public workshop Architecting for fast, sustainable flow: enabling DevOps and Team Topologies: 9am-11am CET/4pm-7pm Korea Time, September 23th-25th, 2024 20% discount for groups of 6 or more.

In November, I'll be teaching workshops in Berlin and Milan. If you would like me to visit your company for workshop or architecture review, please contact me.


In this article, I describe three architectural patterns for modular monoliths. These patterns are based on my experience developing both monoliths and microservices.

Designing monoliths for fast flow

The primary concerns when using the monolithic architecture pattern are:

  • Managing the complexity of a large codebase
  • Maximizing team autonomy despite the single code base
  • Accelerating the single deployment pipeline in order to still provide fast feedback

There are three patterns that address these concerns:

  • Modular monolith, aka. domain-oriented monolith
  • Domain module API
  • Domain API build module

Let’s first look at the modular monolith pattern.

Pattern: Modular monolith, aka. domain-oriented monolith

Organize a monolith as a collection of loosely coupled, domain modules that are based on DDD subdomains/bounded context rather than technical layers in order to manage complexity and improve team autonomy.

For more information, see The modular monolith, which introduces the basic idea, and No such thing as a modular monolith, which explains why the term ‘modular monolith’ is a misnomer.

Pattern: Domain module API

Encapsulate each domain module’s implementations details, which includes its database schema, behind a stable, facade-style API in order to reduce loose design-time coupling between modules and improve testability.

For more information, see Encapsulating the customers domain behind a facade.

Pattern: Domain API build module

Define a separate build module (e.g. Gradle subproject) for the domain module’s API, which the domain module’s clients depend upon (rather than the implementation), in order to reduce build-time coupling and accelerate the deployment pipeline.

For more information, see Using domain API modules to reduce build-time coupling.

Want to learn more

You will learn about these and other patterns in my Architecting for fast flow: enabling DevOps and Team Topologies workshop, 9am-11am CET/4pm-7pm Korea Time, September 23th-25th, 2024. 20% discount for groups of 6 or more.

Need help with accelerating software delivery?

I’m available to help your organization improve agility and competitiveness through better software architecture: training workshops, architecture reviews, etc.

Learn more about how I can help

Older messages

Architectural patterns for modular monoliths that enable fast flow

Tuesday, September 10, 2024

You are receiving this email because you subscribed to microservices.io This month, I'm teaching an online public workshop Architecting for fast, sustainable flow: enabling DevOps and Team

Reminder: Architecting microservices for fast, sustainable flow

Thursday, September 5, 2024

You are receiving this email because you subscribed to microservices.io This month, I'm teaching an online public workshop Architecting for fast, sustainable flow: enabling DevOps and Team

Architecting microservices for fast, sustainable flow

Tuesday, September 3, 2024

You are receiving this email because you subscribed to microservices.io This month, I'm teaching an online public workshop Architecting for fast, sustainable flow: enabling DevOps and Team

Architecting monoliths for fast, sustainable flow

Thursday, August 22, 2024

You are receiving this email because you subscribed to microservices.io Next month, I'm teaching an online public workshop Architecting for fast, sustainable flow: enabling DevOps and Team

Reminder: Why architecting for fast, sustainable flow is important

Tuesday, August 20, 2024

You are receiving this email because you subscribed to microservices.io Next month, I'm teaching an online public workshop: Architecting for fast, sustainable flow: Enabling DevOps and Team

You Might Also Like

Weekend Reading — More time to write

Sunday, November 24, 2024

More Time to Write A fully functional clock that ticks backwards, giving you more time to write. Tech Stuff Martijn Faassen (FWIW I don't know how to use any debugger other than console.log) People

🕹️ Retro Consoles Worth Collecting While You Still Can — Is Last Year's Flagship Phone Worth Your Money?

Saturday, November 23, 2024

Also: Best Outdoor Smart Plugs, and More! How-To Geek Logo November 23, 2024 Did You Know After the "flair" that servers wore—buttons and other adornments—was made the butt of a joke in the

JSK Daily for Nov 23, 2024

Saturday, November 23, 2024

JSK Daily for Nov 23, 2024 View this email in your browser A community curated daily e-mail of JavaScript news React E-Commerce App for Digital Products: Part 4 (Creating the Home Page) This component

Not Ready For The Camera 📸

Saturday, November 23, 2024

What (and who) video-based social media leaves out. Here's a version for your browser. Hunting for the end of the long tail • November 23, 2024 Not Ready For The Camera Why hasn't video

Daily Coding Problem: Problem #1617 [Easy]

Saturday, November 23, 2024

Daily Coding Problem Good morning! Here's your coding interview problem for today. This problem was asked by Microsoft. You are given an string representing the initial conditions of some dominoes.

Ranked | The Tallest and Shortest Countries, by Average Height 📏

Saturday, November 23, 2024

These two maps compare the world's tallest countries, and the world's shortest countries, by average height. View Online | Subscribe | Download Our App TIME IS RUNNING OUT There's just 3

⚙️ Your own Personal AI Agent, for Everything

Saturday, November 23, 2024

November 23, 2024 | Read Online Subscribe | Advertise Good Morning. Welcome to this special edition of The Deep View, brought to you in collaboration with Convergence. Imagine if you had a digital

Educational Byte: Are Privacy Coins Like Monero and Zcash Legal?

Saturday, November 23, 2024

Top Tech Content sent at Noon! How the world collects web data Read this email in your browser How are you, @newsletterest1? 🪐 What's happening in tech today, November 23, 2024? The HackerNoon

🐍 New Python tutorials on Real Python

Saturday, November 23, 2024

Hey there, There's always something going on over at Real Python as far as Python tutorials go. Here's what you may have missed this past week: Black Friday Giveaway @ Real Python This Black

Re: Hackers may have stolen everyone's SSN!

Saturday, November 23, 2024

I wanted to make sure you saw Incogni's Black Friday deal, which is exclusively available for iPhone Life readers. Use coupon code IPHONELIFE to save 58%. Here's why we recommend Incogni for