Chapter 7 Flashcards — Scope of Architectural Characteristics
flashcards fsa architectural-characteristics quantum scope
What is an architectural quantum?
?
An architectural quantum is an independently deployable artifact with high functional cohesion, high static coupling, and synchronous dynamic coupling. It is the proper unit of scope for applying architectural characteristics.
What are the three defining properties of an architectural quantum?
?
- Independently deployable — has its own deployment boundary and can be deployed without coordinating with other quanta. 2. High functional cohesion — serves a unified business purpose. 3. Synchronous dynamic coupling — elements that communicate synchronously at runtime share operational characteristics.
What is static coupling in the context of architectural quanta?
?
Static coupling refers to compile-time or build-time dependencies — shared libraries, shared database schemas, shared data models. Components with high static coupling must be deployed together or managed through careful versioning. High static coupling is a binding force that keeps components in the same quantum.
What is dynamic coupling and how do its two forms differ?
?
Dynamic coupling is runtime dependency between components. Synchronous dynamic coupling (REST, gRPC) requires both parties to be available simultaneously, merging their operational characteristics. Asynchronous dynamic coupling (message queues, event streams) allows independent operation, creating a quantum boundary.
Why does synchronous communication between two services effectively merge their quanta?
?
Because both services must be available simultaneously, their availability multiplies (compounding failure risk), and they must scale together to handle peak load. From an operational characteristics perspective, they behave as a single unit — one merged quantum.
If three services each have 99.9% availability and communicate synchronously in a chain, what is the composite availability?
?
99.7%. Availability of a synchronous chain is the product: 0.999 × 0.999 × 0.999 ≈ 0.997. Each additional synchronous hop reduces the composite availability of the entire chain.
How does asynchronous communication create a quantum boundary?
?
Asynchronous communication (via message queues or event streams) decouples runtime availability — the producer can operate even if the consumer is temporarily down. This allows each side to have independent scaling policies and availability SLAs, making them separate quanta.
How many quanta does a traditional monolithic architecture have?
?
A monolithic architecture has one quantum. All components share the same deployment unit, the same database, and must be deployed, scaled, and operated together. The entire system has a single set of architectural characteristics.
How many quanta does a microservices architecture have?
?
A microservices architecture has N quanta — one per service (ideally). Each service is independently deployable with its own data store, allowing each to have distinct operational characteristics tuned to its specific business capability.
What is a distributed monolith and why is it an antipattern?
?
A distributed monolith is a multi-service deployment where services are tightly coupled via synchronous calls and a shared database. It carries the operational complexity of microservices with none of the benefits — it is effectively a single quantum wearing multiple deployment disguises.
What is the first step in scoping architectural characteristics for a new system?
?
Identify distinct operational profiles — walk through the business capabilities and ask which ones have genuinely different scalability, availability, consistency, or performance requirements. Capabilities with similar profiles belong in the same quantum; distinct profiles become separate quanta candidates.
What is “characteristics inflation” as an antipattern?
?
Characteristics inflation is declaring that every part of the system requires the same demanding operational characteristics (e.g., five-nines availability, unlimited horizontal scalability) regardless of actual business need. It inflates cost and architectural complexity without proportional benefit.
Why does a shared database collapse multiple intended quanta into one?
?
A shared database creates high static coupling — all services that share the schema are bound at the deployment and data layer. The database becomes the actual operational unit; independent deployment and scaling of the services is undermined, effectively merging all services into a single quantum.
In the Going Green kata, why is Data Ingestion treated as a separate quantum from Analytics Processing?
?
Data Ingestion requires high availability (must always collect data) and high scalability (variable input volume), while Analytics Processing is batch-oriented and computationally intensive. Their operational profiles differ, so they are decoupled via an async message stream — making them separate quanta that can fail and scale independently.
What cloud service pattern best enforces asynchronous quantum boundaries?
?
An event bus (e.g., AWS SNS/SQS, GCP Pub/Sub, Azure Service Bus) between services creates explicit async boundaries. The bus absorbs load variations and decouples availability requirements, allowing each connected service to operate as an independent quantum.
What is quantum sprawl and how should it be prevented?
?
Quantum sprawl is over-decomposing a system into too many fine-grained quanta such that the operational overhead (deployment pipelines, monitoring, network calls) exceeds the benefit. Prevention: extract quanta only where business capabilities have genuinely distinct operational profiles — not for its own sake.
What does “independently deployable” mean in the quantum definition?
?
Independently deployable means the quantum has its own deployment pipeline and can be deployed, upgraded, rolled back, and scaled without coordinating with other quanta. It is a distinct runtime artifact — a container image, a JAR, a serverless function group — not just a logical module.
What does “high functional cohesion” mean in the quantum definition?
?
High functional cohesion means the quantum contains code that serves a unified business purpose — a domain slice rather than a technical slice. It is the architectural-level application of the Single Responsibility Principle: the quantum does one business thing well.
For the Going Green kata, how many quanta were identified and what were they?
?
Five quanta: (1) Data Ingestion — high availability, high scalability, eventual consistency; (2) Analytics Processing — batch, compute-intensive, eventual consistency; (3) Reporting — high availability, read-heavy; (4) Alerting — low latency, strong consistency; (5) User Management — moderate availability, strong consistency.
How does quantum thinking change when designing for cloud-native environments?
?
Cloud environments provide the infrastructure (containers, auto-scaling groups, managed databases, event buses) to operationalize per-quantum scaling policies, availability targets, and monitoring. But this only works if the architecture is correctly decomposed — a shared database or synchronous chain in a cloud deployment collapses the quanta just as it would on-premises.
What is the “synchronous chain antipattern”?
?
The synchronous chain antipattern is building a deep chain of synchronous service calls (A → B → C → D → E) where each hop compounds failure probability and merges all services into a single effective quantum. This negates the benefits of distributed deployment while adding latency and complexity.
How does the number of distinct operational characteristic profiles inform architecture style selection?
?
The number of distinct profiles is the minimum number of quanta needed. If all business capabilities share the same operational requirements, a monolith (one quantum) is appropriate. If capabilities have 3–5 distinct profiles, a coarse-grained services approach is suitable. Many distinct profiles suggest microservices.
What is the relationship between architectural quantum and architectural style?
?
Architectural style determines quantum count: monolith = 1 quantum; SOA = few quanta; microservices = N quanta. Conversely, the number of quanta needed (derived from operational profiles) should inform the choice of architectural style — not the other way around.
Why should cross-quantum communication default to asynchronous?
?
Synchronous cross-quantum communication merges the quanta — both services must be available simultaneously and scale together. Asynchronous communication preserves quantum independence: each service can fail, scale, and deploy independently. The default should be async; sync should be justified explicitly.
Total Cards: 24
Estimated Review Time: 20–25 minutes
Priority: MEDIUM
Last Updated: 2026-05-29