Les coûts dans le Cloud - Compte-rendu de la table ronde d’Arthur Andrieu à la Duck Conf 2021

Vous n’avez pas pu assister aux tables rondes de la Duck Conf et vous êtes curieux de savoir ce que vous avez raté ? Retrouvez le compte-rendu des échanges autour du Cloud !

Participants :

  • Arthur Andrieu
  • Meriem Berkane
  • Christian Fauré
  • Arnaud Jacob
  • Mathieu Poignant
  • Thomas Schersach

Compte-rendu :

Le Cloud est une des avancées majeures que notre industrie a pu connaître. C’est une lame de fond qui a rendu possibles beaucoup d’autres avancées, comme l’intelligence artificielle et le Big Data. Cette avancée, bien que porteuse de beaucoup d’opportunités (élasticité, résilience, accès à des ressources quasi infinies et quasi instantanées, etc.), provoque des changements profonds dans notre façon d’appréhender les ressources et leur gestion, mais aussi leurs coûts : le CapEx est échangé pour de l’OpEx. Si, dans les infrastructures traditionnelles, une logique capacitaire peut et doit être planifiée plusieurs semaines/mois à l’avance, il n’en est rien dans une logique Cloud, sous peine de perdre les opportunités de ce dernier. Les structures de coûts sont donc profondément différentes, et cela engendre très souvent de très grandes surprises lorsque les factures sont reçues.

L'objectif est d’évoquer ces changements afin d’appréhender ces nouveaux enjeux liés au Cloud et l’approche FinOps.

Le Move-to-Cloud : Comment migrer son application dans le Cloud, quels coûts sont à prendre en compte ?

Tout d’abord avant de migrer son application, il est nécessaire d’en faire une cartographie (caractéristiques, coûts de licences, dette technique, typologie) afin d’en observer les patterns d’architecture. Ainsi, chaque application entraîne une migration propre en fonction de sa typologie.

Il existe trois grands patterns de migration :

  • le lift-and-shift (aussi appelé ré-hébergement), qui consiste à déplacer une application vers une plateforme Cloud sans la remanier ;
  • la cloudification, qui nécessite souvent une transformation en profondeur de  l’application, afin qu’elle soit adaptée aux architectures Cloud;
  • le replatforming, solution intermédiaire qui consiste en l’adaptation des interfaces de l’application, afin de tirer parti de services du Cloud sans nécessité de réécriture complète.

Partir sur un pattern lift-and-shift revient souvent à manquer de profiter des opportunités du Cloud et de se réapproprier du fonctionnel, du produit, des équipes et de redonner de la valeur à ses applications.

La cloudification permet de bénéficier d’un gain au niveau du time-to-market et d’adapter son architecture à la demande. Les équipes gagnent de l’autonomie pour construire et déployer des nouveaux composants. Cela s’oppose aux architectures on-premise où l’on passe par des étapes de CapEx qui nécessitent de prévoir très longtemps à l’avance (et sont amorties avec le temps) et qui amputent les entreprises dans leur capacité à innover et à créer de nouvelles applications. De plus, le Cloud favorise également l’innovation et l’expérimentation (fail fast, fail cheap).

Au-delà du côté technique de la migration, il existe également un aspect humain qui représente un véritable enjeu de formation et de mise à niveau pour accueillir les nouveaux paradigmes du Cloud, ainsi que ses tenants et aboutissants.

Une attention particulière est à porter à l’aspect catalogue du Cloud qui fournit une surabondance de services nécessitant des compétences diverses. Ce coût humain est, d’ailleurs, souvent mal estimé ou mal maîtrisé.

Ainsi, dans le Cloud, chaque service ou presque possède ses propres méthodes de tarification, ce qui nécessite donc une compréhension de sa facturation. Les différents types de service (le compute, la donnée, le réseau) ne sont pas facturés de la même manière. Par exemple, le compute avec serveur et le serverless ont chacun leur propre complexité de tarification : le serverless correspond à une facturation à la demande et la gestion de la charge est directement gérée par les fournisseurs de Cloud.

La complexité des coûts dans le Cloud provient également de la différence avec les coûts traditionnels (coûts on-premise) : les acteurs mobilisés ne sont plus les mêmes car, dans le Cloud, les équipes sont directement responsables de leurs coûts alors que, dans une organisation traditionnelle, les coûts sont portés par les responsables des achats.

Malgré la lisibilité de la facturation (les Cloud providers sont en capacité de fournir une tarification extrêmement détaillée), la très grande complexité des environnements Cloud, due à la disparité des services proposés et à leurs types de facturation - et donc à la nature même du Cloud (élasticité, on demand) - requiert une démarche spécifique de gestion des coûts : FinOps.

L’approche FinOps où comment reprendre le contrôle sur les coûts :

Le FinOps se découpe en trois aspects :

  • savoir tirer le meilleur parti du Cloud, dépenser moins de ressources, mieux s’adapter au besoin et pour moins cher, en bénéficiant de réductions ;
  • donner la visibilité des coûts à tout le monde car, comme indiqué précédemment, ceux-ci sont portés par les équipes ;
  • avoir la capacité de revoir l’organisation et la structuration des coûts et des budgets.

Le FinOps a émergé car le Cloud offre une belle transparence sur les coûts et leurs origines, ainsi qu’une possibilité d’automatiser la gestion des coûts, de la superviser. Par conséquent, le FinOps demande une nouvelle discipline, une nouvelle rigueur pour “ranger sa chambre” dans le Cloud. Ainsi, le FinOps doit sensibiliser aux différents sujets du Cloud, notamment sur les services, et créer une co-responsabilité.

Tout d’abord, le contrôle des coûts doit être posé en amont et revient à poser des règles d’usages et d’utilisation (monitoring) afin d’être sûr d’utiliser vraiment ce dont on a besoin, tout en évoluant avec les variations des services et des méthodes de tarification que proposent les fournisseurs de Cloud.

Une stratégie de communication FinOps est également à prévoir : il convient d’accompagner les équipes et de leur expliquer l’origine de leurs coûts ainsi que les éventuelles erreurs qu’elles ont commises afin d’améliorer en permanence la pratique et la maturité du FinOps dans les équipes.

L’équipe d’experts FinOps permet de faire monter en compétences les équipes afin d’avoir une responsabilité individuelle, car la gestion des coûts est comme la sécurité : elle est l’affaire de tous.

De plus, le FinOps se pratique souvent avec des outils d’analyses corrélant les coûts d'infrastructures et le lien avec la valeur business et métier. La question de l’efficience doit être au centre du problème.

Finalement, le FinOps est dans le même état d’esprit que le DevOps. Le FinOps est la fonction de la finance qui se marie avec le produit répondant à la question “est-ce que le coût est en lien avec le produit que je génère et est-ce que ça le vaut également ?”. Le produit et sa valeur redeviennent le centre des préoccupations.

Take aways :

  • Il est important d’avoir le maximum de visibilité sur les applications : outillez-vous afin d’avoir cette visibilité (notamment avec une politique de tagging adaptée).
  • Optimisez vos applications pour le Cloud (cloudification).
  • Le FinOps est comme la sécurité : c’est l’affaire de tous.
  • L’optimisation des coûts dans le Cloud nécessite un investissement et une bonne compréhension des paradigmes du Cloud.