Le migrazioni di grandi dimensioni, nuovo database, nuovo framework, nuova piattaforma, sono ad alto rischio perché toccano tutto e non forniscono alcun valore visibile all'utente finché non sono completate. L'approccio sicuro è incrementale e reversibile, mai un passaggio immediato su larga scala. Si esegue la migrazione per sezioni che è possibile convalidare e ripristinare.
Perché è importante
1. Know WHY — a migration with no clear payoff isn't worth the risk.
2. Migrate INCREMENTALLY — never flip everything at once.
3. Run OLD and NEW in parallel — strangler-fig pattern.
4. Use feature flags / DUAL WRITES to shift traffic gradually.
5. VERIFY continuously — compare old vs. new outputs (shadow traffic).
6. Keep a ROLLBACK path at every step.
7. Clean up the old system only AFTER the new one is proven.
