Software Architecture: Layers, Services and Their Trade-offs · seed 1 · A4, ink-friendly. The answer key prints on its own page for grown-ups.

Choices that are costly to reverse

Computing · Software Engineering · ages 21-22
Name ______________________   Date ____________
  1. In the shop example, what did the split buy the teams?

    • Independent deployment of each service
    • Fewer computers to run
    • Checkout tests that run themselves
  2. Which of these counts as an architecture choice?

    • The name of a local variable
    • Where state lives in the system
    • The color of a button
  3. Architecture choices stay cheap to reverse after building.

    Circle one:   True   False

  4. Checkout calls three services and payments fails. What follows?

    • The failure stays hidden forever
    • The whole checkout can stall
    • Stock ships twice as fast
  5. A layered design keeps parts ordered. What price does it charge?

    • Free network calls
    • Automatic consistency
    • Extra steps between parts
  6. What must a networked design handle that one program avoids?

    • Keeping data consistent across parts
    • Naming local variables
    • Picking button colors
  7. A teammate defends a split by calling services modern. What is missing?

    • A new logo for each service
    • The growth problem the split fixes
    • More meetings about tools
  8. Orders grow fast while stock barely changes. Where is the split?

    • Inside the stock code at random lines
    • By cutting every function apart
    • Between orders and the rest, so orders scale alone
LightMySky · lightmysky.comW1-mt_uz_OkFgysJ-s1

Answer key

For grown-ups. Fold this page away before handing over the rest.

Choices that are costly to reverse W1-mt_uz_OkFgysJ-s1

  1. Independent deployment of each service · Each team can ship its own service alone after the split.
  2. Where state lives in the system · Architecture is about splits, links, and state, which are costly to move later.
  3. False · Like walls after building, they turn costly once built.
  4. The whole checkout can stall · A failure in one service can stall the rest of the checkout.
  5. Extra steps between parts · Layers order the parts but every request crosses more steps.
  6. Keeping data consistent across parts · Separate parts must agree on shared data, which one program gets for free.
  7. The growth problem the split fixes · A boundary needs the growth it serves, not a fashion word.
  8. Between orders and the rest, so orders scale alone · Split where the load grows apart, so orders scale without dragging stock.
Worksheet · LightMySky