Making an architected platform decomposable
Dual-run the foundation; migrate the top layer by domain. Slice horizontally, not vertically.
The problem set out in Archetypes is that a layered platform cannot be sliced vertically: any domain you try to move drags shared silver and conformed dimensions with it. The way round it is to stop trying to slice vertically and slice horizontally instead.
Dual-run the foundation; migrate the top layer by domain.
The pattern has three moves:
Build bronze and silver on the target and run them in parallel with the source. Both platforms ingest, both platforms transform, both hold the same foundation. Nothing has cut over yet and no user has been affected. This is the expensive part and it buys you the thing you need: a complete, validated foundation on the new platform with the old one still standing.
Reconcile the two foundations continuously, not once. Running them side by side is only useful if you are comparing them. This period is where you find the undocumented behaviour, the subtle transformation differences and the data quality assumptions nobody wrote down — and you find them with no business exposure, which is exactly when you want to find them.
Then build new gold layers on the target and migrate users to them, domain by domain. Because gold is derived and consumer-facing, it does decompose along business lines even when silver does not. One domain’s presentation layer can be built, validated and released to its users while every other domain continues to be served by the old platform. The blast radius is one consumer group at a time.
What this achieves is a genuine wave migration on a platform that could not otherwise support one. The cross-domain dependency lives in the foundation, so you duplicate the foundation and cut over above it.
It is not free. You are paying for two platforms and two sets of pipelines for the duration, which is the cost discussed under dual running. You are also accepting that the foundation cutover — the moment the old bronze and silver are switched off — is still a single event, just a much smaller and better-rehearsed one by the time you reach it, because every consumer already reads from the new gold.
A caution on the gold rebuild: this is a rebuild, not a migration. The new gold layer is new code against a new platform, and it will not reproduce the old one exactly unless you make it. That is usually an opportunity — it is the natural moment to fix definitions and retire what nobody reads — but it has to be a decision, not a surprise. Set the reconciliation expectation with each domain’s business owner before you build, not when they first compare a number.
