Software Architecture Guild

Software Architecture Guild

Architecture Styles: Monolithic

A story about growing from the inside out

Ilya Hardzeenka's avatar
Ilya Hardzeenka
Jul 07, 2025
∙ Paid
A Film Rumination: The Monolith Monsters, John Sherwood (1957) | Science  Fiction and Other Suspect Ruminations

Say the word monolith in a room full of software engineers and watch the eyebrows rise.

“Oh, you mean that legacy beast we inherited from the previous generation?”

You’d think we were talking about a dusty old server in someone’s uncle’s basement. And sure, there’s truth in the stereotype—monoliths have a reputation for being rigid, slow to change, and painful to scale.

But here’s the twist: monoliths never left. In fact, they’re everywhere.

An API gateway? A monolith.
A data lake? Often a monolith.
Even a single microservice? You guessed it—also a monolith.

So instead of treating monoliths as relics, what if we viewed them as foundational styles—structures we deliberately choose to build?

Let’s take a walk through four of the most common monolithic architectures: Layered, Modular, Pipeline, and Microkernel. They each tell a different story, and each has its place.

Layered Monolith

The Traditional Hotel Tower

Classic Splendor and Welcoming Luxury of Fairmont Grand Hotel Kyiv - Luxury  Lifestyle Awards

Imagine you’re in a well-run hotel. There’s a garage in the basement, a welcoming lobby, floors of guest rooms, and a fancy penthouse suite on top. Everything is stacked in layers—and that’s exactly what a Layered Monolith is.

It’s the classic architecture pattern many of us learned early in our careers. From the bottom up:

  1. Database Layer – Where the data lives.

  2. Persistence Layer – Maps data to application structures.

  3. Business Layer – Where the real logic happens.

  4. Presentation Layer – What the outside world sees.

This design emerged in the 1970s and '80s, shaped by the rise of structured programming and later codified in Martin Fowler’s Patterns of Enterprise Application Architecture.

When it works well:

Layered architecture is great when you need clear responsibility boundaries and tight control over data and logic. Consider small to mid-sized internal tools or systems that require prioritizing consistency.

When it holds you back:

Scaling horizontally is hard. Each layer is tightly bound to the others. And when one changes, the rest often need to follow. Updates? Slower. Flexibility? Limited.

Personally, I no longer reach for this style as a foundation. But inside a distributed system? It’s a perfect fit for structuring microservices. Even small building blocks need clean layers.


Want to learn more?

Check out the Courses, Follow us on LinkedIn, and Explore the Guide


User's avatar

Continue reading this post for free, courtesy of Software Architecture Guild.

Or purchase a paid subscription.
© 2026 Software Architecture Guild · Privacy ∙ Terms ∙ Collection notice
Start your SubstackGet the app
Substack is the home for great culture