Technical Architecture Decision Making
Architectural choices — monolith, modular monolith, or microservices — have consequences for deployment, scaling, team structure, and complexity that are hard to reverse later. An Architecture Decision Record (ADR) makes such a choice explicit and traceable: a clear context, the decision itself, and its consequences, so the trade-off can be defended later, both to other engineers and to non-technical stakeholders.
Starting Points
- Newman, S. (2019). Monolith to Microservices: Evolutionary Patterns to Transform Your Monolith. O'Reilly.
- Architecture and design patterns
Key Points
- You write an ADR with a clear context, decision, and consequences section.
- You compare monolith, modular monolith, and microservices against a given context (team size, scale, deadline, complexity).
- You justify an architectural choice using structured argumentation, not just preference.
- You identify the trade-offs of the chosen architecture — what is gained, what is given up.
- You explain the same architectural decision differently for a technical audience versus a non-technical one.