The parallel run pattern is a migration pattern that runs legacy and replacement subsystems against the same input while using only one subsystem's output until the replacement is verified.
The parallel run pattern reduces migration risk by running a legacy subsystem and its replacement against the same input. Only one subsystem’s output serves users until the replacement has been verified. section 12.4.2
A parallel run typically involves these decisions:
Run both subsystems simultaneously while processing identical inputs. section 12.4.2
Compare and refine the replacement using real-world scenarios while retaining the legacy output as a fallback. section 12.4.2
Switch production output to the replacement after verification, then decommission the legacy subsystem and end the parallel run. section 12.4.2
Zalando returns migration
Zalando used parallel running to extract returns capability from a monolith into a new microservice, switching endpoints over one by one rather than making a single big-bang change. section 12.4.2
How Architecture Modernization: Socio-technical alignment of software, strategy, and structure covers it
How deep it goes
Explains the execution sequence from shared inputs through verification, output switching, fallback, and legacy decommissioning.
Examples
Uses Zalando’s returns extraction, new microservices, and endpoint-by-endpoint switching as its concrete example.
What it assumes
Assumes identifiable legacy and replacement subsystems that can process the same input and have separately usable outputs.
What you can do after
Operate/configure a staged migration with shared inputs, verified replacement outputs, controlled cutover, and a temporary fallback.
How it connects
Connects migration patterns with legacy systems, modernization, microservices, monoliths, and fallback strategies.
First-Party Data ActivationAn implementation approach in which legacy and replacement systems operate simultaneously for comparison, validation, or continuity.
brownfield environmentused by · A brownfield environment is an established technology landscape whose systems, infrastructure, data, processes, or dependencies must be retained, integrated, modernized, or changed.
greenfield environmentcontrasts with · A greenfield environment is a development context for creating a new system without constraints imposed by an existing implementation or infrastructure.
model comparisoncontrasts with · Model comparison is the systematic evaluation of two or more models under defined conditions and criteria to assess their relative performance or behavior.
This explainer was generated by Manning's knowledge graph from the text of Architecture Modernization: Socio-technical alignment of software, strategy, and structure. The section links point to the parts of the book it draws on.