Architecture Styles

Published: 13.09.2025
Updated: 17.10.2026

From the book Fundamentals of Software Architecture: An Engineering Approach by Mark Richards and Neal Ford O’Reilly Media, February 2020. Note that a second version is available!

Architecture Styles:

In terms of deployment units, monolithic architectures are deployed as a single unit. Distributed architectures allow for multiple deployment units that communicate over a network


Pipeline architecture:


Layered architecture:


Microkernel architecture:


Microservices architecture:


Space-based architecture:


Service-based architecture:


Service-oriented architecure:


Event-driven architecture:


Characteristics:


An alternative overview (source: https://youtu.be/sglMckdhgD4?si=eu1hf_v5DJ2sEguo&t=2321):


Another alternative overview was posted on: https://lnkd.in/p/eUH6cTBN:

🔹 Monolith – Simple to build and deploy; often a good fit for smaller systems.
🔹 Layered Architecture – Separates presentation, business logic, and data access.
🔹 Clean Architecture – Keeps business rules independent from frameworks and infrastructure.
🔹 Hexagonal Architecture (Ports & Adapters) – Keeps the application core isolated from external systems.
🔹 Vertical Slice Architecture – Organizes code around business features instead of technical layers.
🔹 CQRS (Command Query Responsibility Segregation) – Separates read and write operations when they have different requirements.
🔹 Event-Driven Architecture – Useful for asynchronous processing and loosely coupled systems.
🔹 Modular Monolith – Strong module boundaries while keeping a single deployable application.
🔹 Microservices – Useful when services need independent deployment or scaling, but adds operational complexity.
🔹 Serverless – A good option for certain event-driven and variable workloads.


Download the above:

Scroll to Top