Chapter 19 — Choosing the Appropriate Architecture Style
Core ideas — the decision process
- Determine whether monolithic or distributed is warranted (driven by whether different parts need different architecture characteristics → back to the quantum, Chapter 7).
- Determine where data should live (shared vs. isolated).
- Determine the communication style (synchronous vs. asynchronous) between services.
- Inputs to the decision: the prioritized architecture characteristics (Ch. 4–5), the domain/partitioning, data architecture, and organizational factors (team topology, Conway’s Law).
- There is no universally correct style — architecture is context- and time-bound; today’s right answer can be wrong in three years (hence evolutionary architecture + fitness functions).
Trade-offs to argue
This chapter is the trade-off chapter. Practice mapping a prioritized characteristics list to a style using the star-rating comparison table you built across Part II.