There is no best architecture
Lesson 2 ended with the requirements clear. Now the architect faces the real work, and the single most important idea in the whole discipline: there is no best architecture. There are only trade-offs.
Beginners look for the "right" design, as if architecture were a puzzle with one correct answer. It is not. Every meaningful architectural choice improves some qualities at the expense of others. You do not get more of everything; you decide what to prioritize and what to sacrifice, for this specific context.
A few classic tensions make it concrete:
- Performance vs cost. Faster usually means more infrastructure, caching, redundancy, all of which cost money.
- Security vs usability. More authentication steps and stricter controls protect the system and add friction for users.
- Consistency vs availability. In distributed systems, guaranteeing everyone sees the same data instantly can conflict with staying available during failures.
- Flexibility vs simplicity. A highly configurable, future-proof design is more complex to build, understand, and operate.
- Time-to-market vs robustness. Shipping fast often means cutting corners you must later repay.
The architect's job is not to escape these tensions, which is impossible, but to resolve them deliberately, in favour of the qualities that matter most for this system. For a bank, lean toward security and consistency even at the cost of speed and convenience. For a startup chasing a market, lean toward time-to-market even at the cost of robustness.
This is why the same architect designs different systems differently, and why "it depends" is not a dodge but the honest, correct answer. The whole craft is knowing what it depends on.

