Core Idea

Architecture characteristics can have different scopes: in monolithic architectures, all characteristics must be uniform across the entire system, while distributed architectures allow different parts to optimize for different characteristics independently.

Main Explanation

The fundamental trade-off between monolithic and distributed architectures centers on characteristic scope flexibility. The core question architects are answering: “Can different parts of the system have different architecture characteristics?”

Monolithic architectures typically constitute a single Architecture-Quantum—one independently deployable unit with uniform characteristics:

  • Every part must be optimized for the same characteristic set
  • If one component requires high scalability, the entire monolith must be scaled
  • Advantage: Operational simplicity—one deployment, one database, one characteristic set to monitor
  • Disadvantage: Cannot independently scale, secure, or optimize different functional areas

Distributed architectures decompose into multiple architecture quanta, each with its own characteristic profile:

  • High-traffic API service → optimizes for scalability and performance
  • Sensitive admin service → prioritizes security
  • Batch processing component → emphasizes throughput over latency
  • Advantage: Flexibility to optimize each part independently
  • Disadvantage: Operational complexity multiplies—each service requires its own deployment pipeline, monitoring, and governance; the Fallacies-of-Distributed-Computing become real concerns that must be explicitly managed

The decision criterion: Not trend-driven. The right question is: Do different parts of my system genuinely require different architecture characteristics?

  • If components all need roughly the same characteristic profile → distribution adds unnecessary complexity
  • If they have fundamentally different requirements → distribution enables targeted optimization a monolith cannot provide

Why This Matters

Understanding the relationship between architecture style and characteristic scope prevents two anti-patterns:

  1. Inappropriate Distribution: Adopting distributed architectures when uniform characteristics would suffice—accepting complexity without benefit
  2. Forced Uniformity: Forcing a monolith to serve wildly different characteristic needs, leading to over-engineering or compromised functionality

The Granularity-of-Architecture-Characteristics directly influences this decision—fine-grained requirements suggest distribution; coarse-grained uniform requirements suggest monolithic approaches.

Sources

Note

This note was researched and drafted with AI. How these notes are written →