Backend Architecture

Monolith, modular monolith, microservices and event-driven, compared honestly — with the distributed-systems costs that arrive the moment a function call becomes a network call.

The Monolith

One deployable, in-process calls, real transactions across the whole domain — and costs that arrive at team boundaries, not at request volume.

Q · What does a single deployable actually give you, and what specifically takes it away?
The Modular Monolith

One deployable with boundaries the build enforces: most of what services give you, without the network.

Q · Can you get real internal boundaries without paying for distribution?
Microservices

Independent deployment and independent failure, bought with every cost that arrives when a function call becomes a network call.

Q · What do you actually get for splitting into services, and what arrives with it whether you wanted it or not?
Synchronous vs Asynchronous Communication

HTTP couples availability and returns an answer; messaging decouples availability and returns a promise. Neither is inherently more scalable.

Q · Should this component call that one and wait, or publish a message and move on?
Failure Propagation

A slow database becomes timeouts, becomes exhausted workers, becomes an outage in endpoints that never touched the database.

Q · How does one degraded dependency take down parts of the system that do not use it?
Cascading Failure

The feedback loops that turn a recoverable degradation into a system that cannot come back up.

Q · Why does a system that was only slightly overloaded fail completely — and then fail again the moment you restart it?
Comparing Backend Architectures

Monolith, modular monolith, microservices, serverless and event-driven — when each is useful, what each costs, and how each fails.

Q · Given a real system, how do you choose between these five, and what makes the choice wrong later?