Module 1: Architecture Fundamentals & Quality: Worked Examples
Example 1: Turn “Fast and Reliable” Into Testable Scenarios
Problem. A checkout service must be “fast, scalable, and reliable.” Those adjectives cannot drive a design or acceptance test.
Wrong attempt. Select microservices and a cache because both sound scalable. No workload, failure, or measurable response has been defined.
Correct reasoning. Write quality-attribute scenarios:
- Under 800 requests/second with the normal product mix, 99% of checkout reads complete within 250 ms over a 15-minute window.
- If one availability-zone instance disappears during peak load, successful checkouts remain above 99.9% and capacity recovers within 90 seconds.
- A pricing-rule change can be deployed and rolled back without changing the order service or losing in-flight requests.
Now architecture decisions can be traced to stimuli, environments, responses, and measures.
Transfer question. Add a security scenario that constrains both detection and response time.
Example 2: Resolve a Quality Tradeoff
Encrypting every internal payload with a remote key service improves key control but adds latency and a new dependency. The decision is not “security versus performance.” Compare alternatives—local envelope encryption, cached data keys, batching, or selective field encryption—against threat model, latency budget, rotation, and outage behavior.
Evidence. Record measurements and the residual risk; do not call the option “best” without a stated context.
Example 3: Draw Views for Different Questions
A single box diagram cannot simultaneously explain runtime calls, deployment isolation, code ownership, and data movement. Produce a context view for external actors, a container/component view for responsibilities, and a deployment view for failure boundaries. Every box must have a responsibility; every arrow must name a protocol or dependency.
Completion Standard
- Write six measurable quality scenarios across at least four attributes.
- Defend one tradeoff with evidence and rejected alternatives.
- Produce complementary views whose claims do not contradict each other.