jargon

Comparison

Modular monolithvsPlugin architecture

Modular monolith

you kept the single deployable and made a module boundary something the build fails on when crossed.

A monolith with internal boundaries that are actually enforced — by module systems, build rules or tests — rather than merely intended. It gets you the ownership and reasoning benefits of separate services without the network, the deployment matrix or the distributed debugging. It is the usual right answer when someone proposes microservices for a fifteen-person company, because it makes the same boundary argument at a fraction of the operational cost.

Full entry →

Plugin architecture

someone added a feature by dropping in a package, and you did not change or redeploy the application to allow it.

Any design where third-party or optional code is discovered and loaded against a published extension point at runtime. It is the practical form of the open–closed principle at application scale, using late binding to make the extension possible without a rebuild. The costs are the ones every extensible product carries: a versioned contract, a trust boundary and failure isolation, because a plugin's crash is your crash.

Full entry →

Related comparisons