C’est une question qu’on voit remonter régulièrement et on ne va pas se mentir il y a rarement consensus sur ce sujet. Je vais essayer d’y répondre aujourd’hui au travers d’un petit article, en me basant sur plusieurs années d’expérience dans le cloud et classique dans des entreprises allant de la petite startup au groupe multinational.
Une vision idéalisée et magique du cloud
Souvent je vois des entreprises qui pensent que le cloud va magiquement résoudre tous leurs problèmes et leur faisant bien sûr faire un maximum d’économie, bref un classique. Le cloud n’est pas magique et on reviendra sûrement là-dessus dans un autre article, je n’aborderai d’ailleurs pas d’autre sujet que le coût dans cet article.
Ce sont souvent ces mêmes personnes qui vont se contenter de basculer leurs machines en mode lift and shift sur le cloud, ce qui va leur offrir une belle surprise sur la facture en fin de mois. Ce qui se traduira souvent par conclusion hâtive du type : « On m’a menti le cloud coûte plus cher et n’apporte rien ».
Alors pourquoi utilise-t-on le cloud ?
Un des évènements qui a fait le succès du cloud, sous entendu publique c’est tout simplement le DevOps et ses besoins de flexibilité et de rapidité. Dans beaucoup d’entreprises, il faut comprendre que pour avoir une machine de test applicatif, il fallait parfois attendre des mois, ce qui pour beaucoup parait inimaginable. Le cloud a apporté cette promesse de quasi-instantanéité. Faire tout plus rapidement.
Rapidement le cloud lui-même a évolué pour ne plus proposer de simples machines virtuelles sans grande plus-value (Iaas), mais de véritables services managés. On est passé de devoir installer un serveur MySQL sur une machine virtuelle à demander un cluster MySQL déjà prêt à l’emploi avec les backups ( sauvegardes ?) et la redondance interdatacenter intégrés en 2 commandes.
On a donc commencé à sous-traité une grosse partie de la gestion d’infrastructure, la partie physique et les couches bases de la partie système à des fournisseurs externes.
Mais j’y gagne ou j’y perds ?
Tout d’abord il faut calculer les coûts, pour le cloud public c’est assez simple en soi pour le coût final, le fournisseur cloud vous donne une facture qui est le coût final. Pour ce qui est le coup de l’autogestion, c’est bien plus complexe.
Toute personne qui a déjà connu de la gestion de datacenter sait très bien ce que cela implique. Au-delà des factures de location, électricité, interconnexion, il faut gérer un tas d’autre sujets comme le refroidissement, la sécurité physique et incendie et j’en passe. Derrière tout ça il faut prévoir des équipes qui vont pour la plupart faire du 24/24 ou de l’astreinte. Une fois que notre bâtiment est géré il faut gérer le matériel, achat, renouvellement, panne, mise en place, dé-commissionnement. Là encore c’est souvent des équipes entières.
Calculer ce coût est très complexe, surtout si on veut le prendre en compte entièrement avec les frais transverses, recrutement, management, etc. Bref une horreur à calculer qui revient souvent très cher.
Certains d’entre vous doivent se dire que la majorité du temps les entreprises se contentent de louer des baies, ce qui simplifie toute la gestion physique. Pour le coup je suis plutôt d’accord avec vous, mais comme je le disais quand on choisit un cloud comme AWS on profite d’une grosse partie d’innovation. Je pense notamment à des services très poussés et efficaces comme IAM, qui a représente un gros coûts pour le mettre en place sur une gestion classique.
Du coup le cloud c’est moins cher ?
J’aimerais que la réalité soit aussi simple, dans la réalité ça dépends de beaucoup de paramètres dont certains ne sont pas simples à appréhender. J’en prends pour exemple les exercices de calcul de coût sur le cloud public qui ressemble plus à des valeurs au doigt mouillé que des valeurs absolues.
Selon votre infrastructure et votre optimisation de l’utilisation du cloud cela peut varier du tout au tout. Par exemple pour héberger un simple Wordpress qui fonctionne sur deux machines, un cloud provider ne vous permettras surement pas de réduire votre facture, surtout si vous vous contentez de le déployer telle quelle. Par contre un chatbot qui utilise des services de type serverless peut souvent permettre de faire des réductions de coût comparer à une approche classique.
Il ne faut pas aussi oublier que dans une grande organisation le FinOps reste un rôle important pour maitriser vos coûts. Car le cloud étant très flexible il est très rapide de déployer des clusters ou autres systèmes surdimensionnés, là où la commande d’un serveur physique surdimensionné n’aurait surement pas passé la comptabilité.
Bref, comme toujours soyez pragmatique, adaptez-vous et réfléchissez à la manière d’aller sur le cloud, ne faites pas des lifts and shift au risque de ne pas profiter des avantages du cloud autre qu’une belle facture.
Head photo by Michael Longmire on Unsplash