3 ms·
100% - what I always do is start the new logic/system so it processes in parallel with the old one and at the same time backfill the old data into the new syste
by aledalgrande 7y ago
100% - what I always do is start the new logic/system so it processes in parallel with the old one and at the same time backfill the old data into the new system. When everything is proven working, feature flag to switch the new system as the main one, old one keeps running. After a period of quarantine, switch off the old system.
I don't understand the requirement of doing the "nuclear button" migration, except maybe a shortsighted way of trying to save costs.
- joshschreuder 7y agoWe do this too and I think it's a great approach. One thing I will say is you should try and decommission the old system as soon as feasible - running both has additional testing and development costs, particularly if for some reason you need to add new features to both. We generally aim to leave the old system toggled off for a release or two (allowing us to switch back in the case of a serious defect) and then rip all that old code out in the subsequent release.