Knowledgebase

Architectural Styles Compared Print

  • softwareengineering, software, guide, howto, solution, zillionkinghost, hosting, support
  • 0

Common structures.

MONOLITHIC

One deployable unit containing everything.

Simple to build, deploy and debug. Harder to scale parts independently.

MODULAR MONOLITH

One deployable unit with strong internal boundaries.

Provides most of the benefits of separation without distribution.

LAYERED

Divided horizontally: presentation, logic, data.

Familiar, and prone to changes touching every layer.

SERVICE-ORIENTED

Separate services communicating over a network.

Independent deployment and scaling. Substantial operational complexity.

EVENT-DRIVEN

Components reacting to events rather than calling each other.

Loose coupling, at the cost of harder reasoning about flow.

PIPELINE

Data passing through stages of processing.

Suits data transformation work.

WHAT MOST SYSTEMS SHOULD START AS

A well-structured monolith.

WHY

It is simpler in every respect, and its boundaries can be extracted later if genuinely needed.

WHAT TO AVOID

Choosing distribution for its reputation rather than a requirement.


Was this answer helpful?
Back

Are you happy with your experience? Leave us a review on Trustpilot.


Trustpilot