TCO et ROI d'une migration cloud : la méthode qui résiste au comité d'investissement
FinOps & Coûts

TCO et ROI d'une migration cloud : la méthode qui résiste au comité d'investissement

10 octobre 20267 min de lectureFinOpsTCOROI

Construire un business case de migration cloud qui résiste à la réalité : baseline on-premise complète, modélisation honnête de la cible, coûts one-off, VAN/TRI et mesure post-migration.

Presque toutes les migrations cloud démarrent avec un slide qui annonce « 30 % d'économies ». Dix-huit mois plus tard, la direction financière regarde une facture cloud supérieure au coût de l'ancien datacenter et personne n'arrive à expliquer où le business case a dérapé. Le problème vient rarement du cloud lui-même : il vient du modèle. Un calcul de TCO et de ROI crédible n'est pas un exercice de tableur réalisé une fois pour débloquer un budget, c'est un artefact d'ingénierie que l'on versionne, que l'on challenge et que l'on remesure.

Pourquoi la plupart des business cases cloud sont faux

Trois erreurs systématiques reviennent lorsqu'on audite un dossier de migration :

  • Une baseline on-premise incomplète. On compte l'amortissement du matériel, mais pas la surface au sol, l'énergie, le temps de l'équipe stockage, le site de secours utilisé à 5 % ou les régularisations de licences.
  • Une cible cloud chiffrée en lift-and-shift iso-périmètre. On dimensionne les VM cloud sur les specs crête de serveurs physiques achetés il y a cinq ans, puis on s'étonne du résultat. Évidemment : on paie au tarif à la demande une machine taillée pour le pic de 2019.
  • Des coûts de migration traités comme une variable d'ajustement. Équipes projet, double run, transfert de données, remédiation applicative, formation et baisse de productivité pendant la bascule peuvent dominer la première année.

Une quatrième erreur, plus subtile : ne compter que des coûts. Une migration à coût constant qui fait passer le lead time de six semaines à deux jours a un ROI énorme — il n'apparaît simplement pas sur la ligne infrastructure.

Construire une baseline on-premise défendable

La baseline doit couvrir un cycle économique complet, typiquement cinq ans, car c'est l'horizon de renouvellement du matériel que l'on évite. Plus court, cela flatte le statu quo. À inclure :

CatégorieCe qu'il faut compterOubli fréquent
Matériel compute & stockageAmortissement, contrats de maintenance, capacité de réserveLe sur-provisionnement (souvent 50 à 70 % d'inutilisé)
DatacenterBaies, énergie, climatisation, sécurité physiqueRefacturations internes qui masquent le coût réel
RéseauLiens WAN, load balancers, firewalls, MPLSLiens qui disparaissent après migration
LicencesHyperviseur, OS, bases de données, sauvegarde, supervisionLicences au socket dont le modèle change en cloud
Ressources humainesExploitation, patching, incidents matériels, capacity planningTemps perdu par les équipes applicatives à attendre un environnement
Risque & continuitéSite de secours, assurance, coût d'indisponibilitéLe coût d'une heure d'interruption, chiffré

Le chiffre pour lequel il faut se battre, c'est le taux d'utilisation réel. Extrayez-le de vCenter, de Prometheus ou de l'API de l'hyperviseur sur au moins 90 jours : p95 CPU et mémoire par workload, pas des moyennes. Ce jeu de données conditionne à la fois la crédibilité de la baseline et le rightsizing de la cible.

Modéliser le coût cible dans le cloud

Modélisez la cible sous forme de scénarios, pas d'un chiffre unique. Au minimum : rehost à l'identique, rehost avec rightsizing et engagements, replatform (bases managées, conteneurs, serverless là où c'est pertinent). Présentez les trois : c'est la comparaison qui rend la recommandation crédible.

Les lignes régulièrement oubliées côté cloud :

  • Egress et trafic inter-AZ. Des microservices bavards répartis sur plusieurs zones génèrent un coût récurrent bien réel. Les acteurs européens souverains ont souvent des conditions d'egress plus favorables que les hyperscalers : à modéliser explicitement si vous comparez OVHcloud ou Scaleway à AWS ou Azure.
  • L'observabilité. L'ingestion de logs et de métriques facturée au Go peut devenir l'un des premiers postes d'une plateforme verbeuse. Budgétez-la dès le départ.
  • Sauvegardes, snapshots et réplication cross-région. Peu cher au Go, cher à l'échelle de la rétention.
  • Le support, généralement un pourcentage de la dépense.
  • La prime du managé. Un PostgreSQL managé coûte plus cher qu'une VM avec PostgreSQL — et remplace une partie de la charge d'un DBA. Modélisez les deux côtés de l'arbitrage.
  • Les environnements hors production. C'est là que l'élasticité paie le plus : modélisez l'extinction planifiée et comptez l'économie.

Côté économies, soyez explicite sur les leviers que vous vous engagez réellement à actionner : rightsizing sur p95 mesuré, Savings Plans ou instances réservées sur le socle stable, Spot pour le batch et la CI, tiering de stockage, extinction du hors-production en dehors des heures ouvrées. Un business case qui suppose des engagements sans nommer le responsable de leur achat relève de la fiction.

Les coûts de migration : la colonne que personne n'aime

Ce sont eux qui rendent la première année négative et qui donnent du sens au délai de retour sur investissement :

  • Discovery et cartographie des dépendances
  • Effort de remédiation et de refactoring applicatif, par vague
  • Double run : les deux environnements vivants, parfois plusieurs mois
  • Transfert et réplication initiale des données
  • Construction de la landing zone : réseau, IAM, IaC, CI/CD, observabilité
  • Formation, certifications, prestations externes
  • Décommissionnement, sortie d'actifs — et coût contractuel de sortie des baux ou contrats d'hébergement

Ce dernier point est décisif. S'il reste trois ans de contrat datacenter non résiliable, les économies ne commencent pas à la migration mais à la fin du contrat. Modélisez-le honnêtement : la migration peut rester justifiée sur des critères d'agilité.

Du TCO au ROI : l'arithmétique qui convainc une DAF

Le TCO est une comparaison de coûts. Le ROI est une décision d'investissement. La finance attendra une valeur actuelle nette, un taux de rentabilité interne et un délai de récupération, avec actualisation des flux au coût du capital de l'entreprise.

# Chiffres purement illustratifs — à remplacer par les vôtres
TAUX_ACTUALISATION = 0.08

# Année 0 = investissement migration, années 1-5 = bénéfice net annuel
# (coût on-prem évité - coût de run cloud - contrats résiduels)
flux = [-1_800_000, 250_000, 620_000, 760_000, 790_000, 810_000]

def van(taux, flux):
    return sum(cf / (1 + taux) ** t for t, cf in enumerate(flux))

def tri(flux, bas=-0.9, haut=3.0):
    for _ in range(200):
        milieu = (bas + haut) / 2
        if van(milieu, flux) > 0:
            bas = milieu
        else:
            haut = milieu
    return (bas + haut) / 2

def payback(flux):
    cumul = 0.0
    for annee, cf in enumerate(flux):
        precedent = cumul
        cumul += cf
        if precedent < 0 <= cumul:
            return annee - 1 + abs(precedent) / cf
    return None

print(f"VAN     : {van(TAUX_ACTUALISATION, flux):,.0f}")
print(f"TRI     : {tri(flux):.1%}")
print(f"Payback : {payback(flux):.1f} ans")

Exécutez ce calcul comme une analyse de sensibilité, pas comme une estimation ponctuelle. Faites varier trois paramètres : le rightsizing réellement capté (quelle part de l'économie théorique vous obtenez vraiment), la croissance des workloads et le glissement du projet. Si la VAN reste positive avec la moitié du rightsizing et six mois de retard, votre dossier est robuste. Si elle ne tient que dans le scénario optimiste, vous avez un argumentaire commercial.

La valeur que personne ne met dans le tableur

Le coût d'infrastructure est la partie la moins intéressante d'un business case cloud. Les composantes qui dominent généralement la VAN sont plus difficiles à quantifier mais bien réelles :

  • Le time to market. Un provisionnement d'environnement qui passe de semaines à minutes : mesurez-le avec le lead time DORA avant/après.
  • Le capex évité et le risque de capacité. Plus d'achat pour un pic qui n'arrivera peut-être jamais.
  • La disponibilité. Multi-AZ et bascule automatisée face à un PRA mono-site jamais testé de bout en bout.
  • Le recentrage des équipes. Des heures réaffectées du firmware vers le produit.
  • La conformité. Pour des données régulées ou sensibles, un fournisseur européen ou qualifié SecNumCloud peut supprimer une charge d'audit entière — ou, à l'inverse, ajouter des contraintes à chiffrer.

Quantifiez ces éléments de façon conservatrice et écrivez l'hypothèse en clair à côté du chiffre. Une DAF acceptera « nous supposons que 20 % des 3 ETP affectés à la maintenance matérielle sont redéployés » bien plus facilement qu'un multiplicateur de productivité non justifié.

Mesurer le ROI après la migration

Un business case que personne ne vérifie ne vaut rien. Mettez en place dès la première vague :

  • Une politique de tagging et de showback appliquée dans l'IaC — application, environnement, centre de coût, propriétaire. Une ressource non taguée doit faire échouer le pipeline, pas générer un mail trimestriel.
  • Une métrique d'unit economics — coût par commande, par client, par 1000 appels d'API. La dépense absolue croît avec l'activité ; seul le coût unitaire est un signal d'efficacité honnête.
  • Une revue d'écart trimestrielle entre le réalisé et le modèle, avec explication écrite des différences.
  • La couverture et l'utilisation des engagements suivies comme un KPI avec un responsable nommé.

En pratique, l'écart entre économies modélisées et économies réelles vient presque toujours des mêmes endroits : rightsizing jamais exécuté après le lift-and-shift, hors-production laissé allumé 24/7, volumes et snapshots orphelins, ingestion de logs non budgétée. Les quatre sont détectables en un mois après la bascule si la plateforme est correctement instrumentée.

Une approche pragmatique

Construisez le modèle en trois passes. Une estimation d'ordre de grandeur en deux semaines pour décider si la question mérite d'être posée. Un modèle détaillé par vague une fois les données de discovery disponibles, avec scénarios et sensibilité. Puis un modèle vivant, mis à jour chaque trimestre avec la consommation réelle, qui devient votre référentiel FinOps plutôt qu'un document archivé après le comité.

Le livrable qui compte n'est pas le pourcentage d'économies. C'est un modèle dont les hypothèses sont explicites, testables et portées par quelqu'un — un modèle qui vous dira, six mois plus tard, si vous êtes dans la trajectoire et quel levier actionner si ce n'est pas le cas.

← Retour au blog