Style Selection Lab
Retrieval Prompts
- List the seven mainstream architecture styles covered in this module and name their one-sentence signature.
- State the three use-case filters that narrow style choice fastest (request vs transform, sync vs async, hot-slice scale or not).
- Name the six defining properties of microservices and the six disqualifiers for adopting them.
- State the six taxes microservices impose.
- List the eight fallacies of distributed computing in any order.
Compare and Distinguish
Separate these pairs clearly in writing (2 sentences each):
- layered vs modular monolith -- both single-deployment; where does the boundary live?
- modular monolith vs service-based -- same data, different deploy; who draws the line?
- service-based vs microservices -- same word, different bet; three concrete differences.
- event-driven broker vs mediator -- which is choreography and which orchestration; failure mode of each.
- microservices vs distributed monolith -- how do you tell them apart in a hallway?
- hybrid architecture vs "indecision" -- why are hybrids often the right answer?
Common Mistake Check
For each statement, identify the error in 2 sentences:
- "We are modernizing the stack, so we are moving to microservices."
- "Our monolith is slow. We will split it into services to make it faster."
- "We can share the database across our microservices to keep things simple."
- "We use Kafka, so our architecture is event-driven."
- "Each service has one REST endpoint. We are very granular."
- "We started with microservices because we will need them eventually."
Mini Application
For each scenario, produce a style-selection decision record (6 lines):
- Internal expense-reimbursement tool. 50 employees, CRUD, audit-trail required, one part-time engineer, one-year roadmap.
- High-frequency bidding service. 70k requests/sec, <50ms p99, in-memory working set 8GB, elastic for 5-minute peaks.
- Nightly log-enrichment and dashboard pipeline. 200GB/day, append-only, idempotent stages, one data team.
- Consumer ecommerce platform. 60 engineers, 12 teams, 8 clearly bounded contexts, 500 orders/sec peak, cross-team deploy coordination is the #1 pain point.
- Weekly payroll calculator. Runs once a week for 4 hours, must be correct, integrates with 3 external systems, 2 engineers.
- Live-streaming ingest. 10k concurrent streams, real-time transcode, occasional traffic spikes, 15 engineers.
For each:
- top 3 characteristics
- chosen style
- one alternative rejected and why
- one fallacy or tax you priced in
Evidence Check
- You picked a style different from microservices for at least two scenarios and can defend the choice.
- You picked a style different from modular monolith for at least two scenarios and can defend the choice.
- You can explain why "we want to modernize" is not an acceptable reason to change style.
- At least one of your decisions is a hybrid.
This page is complete only if someone reading your six decision records could reproduce each choice without your help.
Integrated Style-Selection Cases
Add these two cases to the lab.
Case A: Online Course Platform
Courses, lessons, enrollments, submissions, grading, and instructor dashboards must ship in six weeks with one team.
- choose a starting style
- name the top three characteristics
- identify what would force a style change later
Case B: Restaurant Operations Platform
Reservations, table assignment, kitchen order status, payment, and manager reporting have different peak loads and failure tolerance.
- choose a starting style
- decide whether events belong in the first version
- write one tradeoff note comparing modular monolith, service-based architecture, and microservices
Evidence check: each case must include at least one client/server or web-architecture walkthrough from UI action to persistence.