Skip to content
Ameen Abozaid
SRB-008

Architecture migration

  • 8 Lessons
  • 4.5 h practice (estimate)
On this page 9 topics

Overview

Topics

  • Strangler fig
  • branch by abstraction
  • dual-write risks

Learn first

4.5 h of practice (estimate)

Learning outcomes

  1. Apply the strangler fig pattern with routing at the edge and incremental capability extraction.
  2. Use branch by abstraction inside the legacy codebase.
  3. Explain dual-write risks and replace them with CDC, outbox, or a single writer.
  4. Plan data migration for an extracted service, including the cut-over of ownership.
  5. Define per-step rollback and measurable exit criteria.

Lessons

  1. 01Why big-bang rewrites fail
  2. 02The strangler fig
  3. 03Branch by abstraction
  4. 04Dual writes and their alternatives
  5. 05Moving data ownership
  6. 06Rollback and exit criteria
  7. 07Demo: extracting shipment tracking from the FulfillCo monolith
  8. 08Demo: catching a dual-write inconsistency in production data

Lab and exercises

Lab

SRB-008-LAB1 · Migration plan

Outcomes: 1, 2, 3, 4, 5 · Time: ~4.5 h

  1. Map the monolith's shipment tracking and carrier integration.
  2. Plan phases with routing, branch by abstraction, and data migration.
  3. Define rollback and measurable exit criteria per phase.
  4. Defend the plan to role-played FulfillCo teams.

Acceptance: no phase requires both systems to write the same data; rollback and metrics for every phase.

Exercises

IDOutcomeTask
SRB-008-EX011Argue against a proposed two-year rewrite of FulfillCo in five lines.
SRB-008-EX021Choose the first extraction candidate among shipment tracking, stock, and billing and justify.
SRB-008-EX032Sketch the interface and flag for branch by abstraction of carrier calls.
SRB-008-EX043A teammate proposes a temporary dual write. Write the objections and the alternative.
SRB-008-EX054Plan the data ownership cut-over for tracking history.
SRB-008-EX065Write exit criteria for the 50% traffic step.
Show solutions
  • EX01 Moving target, hidden behavior, no early value, hard to stop; propose strangler steps.
  • EX02 Shipment tracking: bounded, high value to Shop, lower risk than stock or billing.
  • EX03 CarrierGateway interface with legacy and remote implementations; flag per carrier.
  • EX04 Non-atomic, drift risk; use CDC or outbox with a single writer.
  • EX05 Backfill, one-way CDC sync, verify, switch writer behind a gate, reverse window, retire.
  • EX06 Error rate within 0.1% of legacy, zero unreconciled records for 7 days, rollback tested.

Workplace evidence: a strangler or extraction step you led into production.

Quiz

Outcomes: O1 strangler · O2 branch by abstraction · O3 dual writes · O4 data migration · O5 rollback and exit.

A self-check for you: nothing is graded, saved or sent anywhere. Choose an answer, then check it. You can try again as often as you like.

  1. 1The strangler pattern routes:O1
  2. 2Extract first:O1
  3. 3Big-bang rewrites fail partly because:O1
  4. 4Branch by abstraction uses:O2
  5. 5Dual writes cause:O3
  6. 6An alternative to dual writes is:O3
  7. 7During cut-over the number of writers is:O4
  8. 8Verification of migrated data uses:O4
  9. 9Each step needs:O5
  10. 10Legacy retirement should be:O5

Practical part

Migration plan defense: present the lab plan and answer challenges. Pass: 70% on the quiz and a plan with no shared-writer phase.

Common mistakes

Extracting the hardest piece first; no plan for retiring legacy code paths; dual writes "just for a while".

Assessment

Migration plan defense.

Workplace evidence

A strangler or extraction step you led into production.

Career relevance

Legacy modernization (ARC-010) and migration strategy (ARC-037).

Type to search levels, phases, modules and lessons.