tadata
Retour à l'accueil

Stratégies de Migration : quitter le legacy sans tout casser

#architecture#migration#legacy#modernization

Chaque organisation mature possède des systèmes legacy. La question n'est jamais de savoir s'il faut moderniser mais comment le faire sans arrêter la livraison de valeur métier. Le cimetière des réécritures "big bang" échouées est vaste. Les stratégies incrémentales gagnent.

Comparaison des patterns de migration

PatternApprocheRisqueDuréeTaille équipeRollback
Strangler FigRemplacer pièce par pièce derrière une façadeFaibleLong (mois-années)Petite-MoyennePar composant
Branch by AbstractionAbstraire les interfaces, échanger les implem.Faible-MoyenMoyenMoyennePar abstraction
Parallel RunAncien et nouveau en simultané, comparerMoyenMoyenGrandeInstantané (garder l'ancien)
Big Bang RewriteTout remplacer d'un coupTrès élevéLongGrandeTout ou rien
Lift and ShiftDéplacer tel quel vers nouvelle infraFaibleCourtPetiteFacile

Matrice d'évaluation des risques

Facteur de risqueFaible (1)Moyen (2)Élevé (3)
Complexité des donnéesSchémas simples, peu de relationsSchémas modérés, couplage partielSchémas complexes, références croisées
Nombre d'intégrations0-3 systèmes en aval4-10 systèmes en aval10+ systèmes en aval
Connaissance du domaineBien documenté, équipe connaîtDocs partielles, savoir tribalPas de docs, équipe originale partie
Criticité métierOutil interneSupport du revenuCritique revenu, SLA lié
Couverture de tests> 70%30-70%< 30% ou inconnue
Volume de données< 10Go10Go-1To> 1To
Contraintes réglementairesAucunePiste d'audit nécessaireCertification conformité requise

Score : 7-10 = Strangler Fig ou Lift-and-Shift, 11-16 = Branch by Abstraction ou Parallel Run, 17-21 = commencer par une phase d'évaluation.

Le piège de la parité fonctionnelle

Effort ▲
       │                          ╱ "Encore une fonctionnalité"
       │                        ╱   avant de pouvoir basculer
       │                      ╱
       │                    ╱        ← Zone piège : le legacy
       │                  ╱            continue d'évoluer
       │                ╱
       │         ●────╱── Bascule prévue (ratée)
       │       ╱
       │     ╱
       │   ╱
       │ ╱
       └──────────────────────────────────────────► Temps

  Solution : Définir un ensemble de fonctionnalités GELÉ.
  Les nouvelles fonctionnalités vont uniquement au nouveau système.

Principes clés

Migrer les données en dernier. Déplacez le routage et le calcul d'abord. La migration de données est l'étape la plus risquée et la plus irréversible.

Mesurer la parité, ne pas la ressentir. Définissez des critères quantitatifs : latence P99, taux d'erreur, débit. "Ça semble marcher" n'est pas un critère de migration.

Budgéter la longue traîne. Les derniers 10% de la migration prennent 50% de l'effort. Les cas limites et comportements non documentés vivent dans cette traîne.

Ressources

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.