Tech

Migrer en une seule fois ou de manière progressive : que choisir ?

Lorsqu’une migration technologique devient inévitable, une question revient systématiquement sur la table :

Faut-il tout basculer d’un coup, ou migrer progressivement ?

Sur le papier, la réponse semble simple.
Dans la réalité, ce choix conditionne :

  • la stabilité du produit,
  • l’impact sur les utilisateurs,
  • la capacité des équipes à tenir dans la durée,
  • et le niveau de risque accepté par l’entreprise.

Il n’existe pas de réponse universelle.
Mais il existe des contextes où certaines options deviennent objectivement plus risquées que d’autres.

Le point de départ : comprendre les contraintes réelles

Avant même de comparer les deux approches, il faut être lucide sur le contexte.

Dans la majorité des plateformes en production :

  • le produit est déjà largement utilisé,
  • les utilisateurs dépendent du service au quotidien,
  • la roadmap métier doit continuer à avancer,
  • la documentation est partielle,
  • et les équipes ne peuvent pas se permettre une longue période d’instabilité.

Autrement dit :
la migration doit se faire sans coupure de service, et souvent en parallèle de l’évolution du produit.

C’est ce cadre qui rend le choix structurant.

Option 1 – La migration en une seule fois (le « big bang »)

La migration en une seule fois consiste à :

  • reconstruire la plateforme sur une nouvelle stack,
  • puis basculer tous les utilisateurs à une date donnée.

Les avantages théoriques

  • une seule version en production,
  • pas de cohabitation entre ancien et nouveau système,
  • une vision projet plus simple à expliquer.

Les risques réels

En pratique, cette approche concentre les risques :

  • tout doit être terminé pour livrer,
  • la phase de recette est massive,
  • le jour J devient critique,
  • le rollback est souvent complexe, voire impossible.

Côté opérations, plusieurs problèmes apparaissent :

  • plusieurs dysfonctionnements peuvent survenir simultanément,
  • l’analyse des incidents est plus difficile,
  • la pression sur les équipes est maximale.

Côté projet, le risque est clair :

si quelque chose se passe mal, il se passe mal pour tout le monde, en même temps.

Dans des systèmes critiques ou fortement utilisés, ce scénario est rarement acceptable.

Option 2 – La migration progressive

La migration progressive consiste à :

  • livrer la nouvelle version par étapes,
  • limiter l’exposition au risque,
  • apprendre en avançant.

Elle peut prendre plusieurs formes :

  • par fonctionnalité,
  • par environnement,
  • par population d’utilisateurs,
  • ou par client, via des mécanismes de feature flags.

Les bénéfices majeurs

Cette approche permet :

  • de valider régulièrement les choix techniques,
  • de concentrer les efforts de test sur des périmètres précis,
  • d’isoler les dysfonctionnements,
  • de simplifier les opérations de rollback.

Côté projet, elle impose plus de rigueur :

  • une roadmap structurée en jalons,
  • une coordination dans la durée,
  • une gestion fine des déploiements.

Mais elle permet surtout de mitiger les risques au lieu de les concentrer.

Migrer progressivement, oui… mais comment ?

Migrer progressivement ne signifie pas bricoler.
Il existe des patterns éprouvés pour sécuriser ce type de démarche.

Le Strangler Fig Pattern

Ce pattern consiste à :

  • identifier un domaine fonctionnel relativement peu couplé,
  • le réimplémenter de manière isofonctionnelle,
  • rediriger progressivement le trafic vers cette nouvelle implémentation,
  • puis supprimer l’ancien code une fois la transition validée.

Les avantages sont clairs :

  • rollback possible à tout moment,
  • validation incrémentale,
  • décommissionnement maîtrisé du legacy.

C’est souvent le pattern le plus structurant pour faire évoluer un monolithe.

Le Parallel Run Pattern

Le Parallel Run consiste à :

  • exécuter l’ancienne et la nouvelle implémentation en parallèle,
  • comparer les résultats,
  • sans exposer la nouvelle version aux utilisateurs.

Concrètement :

  • les requêtes sont dupliquées,
  • seul l’ancien système répond aux utilisateurs,
  • la nouvelle implémentation est observée, mesurée, comparée.

Ce pattern permet :

  • de valider la cohérence fonctionnelle,
  • de mesurer les écarts,
  • de mettre en production sans prise de risque visible.

Il nécessite en revanche :

  • une bonne observabilité,
  • souvent la mise en place d’un proxy intermédiaire,
  • une capacité à analyser finement les métriques.

L’UI Composition Pattern

Côté frontend, la migration progressive passe souvent par une approche d’UI Composition :

  • plusieurs frontends cohabitent,
  • chacun est associé à un périmètre fonctionnel ou à des routes spécifiques,
  • le frontend devient un point d’orchestration.

Cette approche permet :

  • de déployer progressivement une refonte visuelle,
  • de limiter l’impact utilisateur,
  • d’éviter un rework massif du backend en une seule fois.

Pourquoi la migration progressive s’impose dans la plupart des cas

Lorsque :

  • le produit est déjà largement utilisé,
  • aucune coupure de service n’est tolérée,
  • la roadmap doit continuer,
  • et le risque business est élevé,

la migration progressive n’est pas une option de confort.
C’est une nécessité.

Elle permet :

  • de garder le contrôle,
  • d’apprendre en avançant,
  • de corriger avant que l’impact ne soit critique,
  • et de sécuriser la transformation dans la durée.

Conclusion

Migrer en une seule fois peut sembler plus simple sur le papier.
Migrer progressivement est presque toujours plus sûr dans la réalité.

Le vrai enjeu n’est pas de choisir la solution la plus élégante techniquement, mais celle qui :

  • respecte les contraintes du produit,
  • protège les utilisateurs,
  • et limite réellement le risque pour l’entreprise.

Dans un contexte de système critique, le big bang est un pari.
La migration progressive est une stratégie.

Partager cet article
Robin Komiwes
CTO

Nos publications similaires

Tech

Architecture : quand choisir un monolithe plutôt qu’une organisation par domaines ?

Robin Komiwes
Tech

Due diligence technique : les 12 points que nous auditons systématiquement

Robin Komiwes
Tech

Shadow IT, backlog obèse, specs mouvantes : que dit votre dette organisationnelle

Johann Josset

Vous avez un
produit en tête ?

Construisons-le ensemble.