Skip to main content

Style Selection Lab

Retrieval Prompts

  1. List the seven mainstream architecture styles covered in this module and name their one-sentence signature.
  2. State the three use-case filters that narrow style choice fastest (request vs transform, sync vs async, hot-slice scale or not).
  3. Name the six defining properties of microservices and the six disqualifiers for adopting them.
  4. State the six taxes microservices impose.
  5. 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:

  1. "We are modernizing the stack, so we are moving to microservices."
  2. "Our monolith is slow. We will split it into services to make it faster."
  3. "We can share the database across our microservices to keep things simple."
  4. "We use Kafka, so our architecture is event-driven."
  5. "Each service has one REST endpoint. We are very granular."
  6. "We started with microservices because we will need them eventually."

Mini Application

For each scenario, produce a style-selection decision record (6 lines):

  1. Internal expense-reimbursement tool. 50 employees, CRUD, audit-trail required, one part-time engineer, one-year roadmap.
  2. High-frequency bidding service. 70k requests/sec, <50ms p99, in-memory working set 8GB, elastic for 5-minute peaks.
  3. Nightly log-enrichment and dashboard pipeline. 200GB/day, append-only, idempotent stages, one data team.
  4. Consumer ecommerce platform. 60 engineers, 12 teams, 8 clearly bounded contexts, 500 orders/sec peak, cross-team deploy coordination is the #1 pain point.
  5. Weekly payroll calculator. Runs once a week for 4 hours, must be correct, integrates with 3 external systems, 2 engineers.
  6. 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.