Discussion about this post

User's avatar
Piotr Gago's avatar

I’ve noticed a lot of confusion between VSA (Vertical Slice Architecture) and the concept of a “modular monolith,” which gained popularity after the initial hype around microservices faded and the term monolith began to lose its exclusively negative connotations.

One common issue is deciding whether a module should be treated as the same thing as a feature, command, or query. If so, the tendency is to make each module completely independent, often resulting in separate schemas and tables for different modules, multiple EF contexts, and similar design choices.

I believe that when people see a vertical slice drawn on a VSA chart extending down through the database layer, they often interpret it as “this slice must operate on a dedicated portion of the database.” While this approach is not inherently wrong, in many cases it is unnecessary.

Unfortunately, the terminology like microservices, modular monolith, VSA, CQS, CQRS etc. has become quite diluted.

Expand full comment
Sebastien Torres's avatar

Really, really nicely described and explained. Thanks so much for writing this article.

Expand full comment
2 more comments...

No posts