Le coût du Cloud entre mystification et réalité

Afin de faire suite à mon article La sécurité du Cloud entre mystification et réalité voici le second opus sur un sujet tout aussi passionnant, le prix des Cloud Publics.

L’un des axes marketing fort des Cloud Providers est, sans nul doute, l’économie réalisée vis-à-vis de l’on-premises. Nous pouvons prendre en exemple Veolia qui, sur ses applications de gestion clients, a divisé ses coûts d’infrastructure par 10.

D’un autre côté, nous avons des témoignages selon lesquels :

  • le Cloud serait plus coûteux ;
  • le pricing des Providers est bien trop technique ;
  • il n’est pas possible de prédire un budget sur le long terme ;
  • ou encore le pay-as-you-go est une arnaque commerciale.

Pourquoi une telle différence d'opinion ? Le Cloud est-il réellement moins cher ? Et comment prédire et optimiser son budget ? Autant de questions auxquelles je vais essayer de répondre.

Notions de base

Dans le but de rendre cet article plus accessible, je me permets de rappeler quelques notions technico-commerciales utilisées dans cet article.

CAPEX

Les dépenses d’investissement, aussi appelées CAPEX, couvrent les sommes utilisées pour l’achat des centres de données, des serveurs et autres équipements réseaux.
Nous pouvons comparer l’achat d’une voiture à une dépense d'investissement et le leasing à une dépense d’exploitation tout comme les révisions.
Les dépenses d’investissement sont facilement prévisibles et estimables car non soumises à une variation d’utilisation fréquente. Vous imaginez bien que dans le cas du Cloud, les CAPEX sont beaucoup plus bas.

OPEX

Les OPEX ou dépenses d’exploitation vont concerner les salaires de vos experts mais aussi les dépenses liées à l’utilisation du Cloud. Dans notre cas, c’est ici que nous allons essayer de faire des économies.

Une bonne optimisation de l’utilisation du Cloud vous garantira à la fois des CAPEX et OPEX bas.

Pay-as-you-go

pay-as-you-go

Avec le système du pay-as-you-go, vous ne payez que pour les services dont vous avez besoin, tant que vous continuez à les utiliser et ce, sans contrat à long terme ou gestion de licence complexe. La tarification est similaire à celle de services comme l'eau courante ou l'électricité. Vous ne payez que les services que vous utilisez, et si vous cessez de vous en servir, aucun coût additionnel ou frais de résiliation ne vous sera facturé.

La révolution financière du Cloud, une affaire bien complexe

Une question d’argent

Alors que la majorité des DSI sont des centres de coûts, Amazon a transformé la sienne en centre de profits. L'infrastructure est devenue une offre de services, avec sa propre gestion des coûts. Cette gestion est cependant parfois complexe comme nous le verrons.

Les changements

Avec cette transformation, l'aspect financier est devenu une préoccupation des architectes techniques, des SysOps et des développeurs. L’action de chacun a un impact direct sur les dépenses d’exploitation. L'optimisation doit être omniprésente. C'est pour cela qu’un nouveau métier, appelé FinOps, est né avec pour objectif le gain financier.

Le pricing des Cloud Providers

Une des premières remarques que l’on me fait quand je présente la console web AWS est : Mais où sont les prix ? Pas dans la console en tout cas, il faut aller sur la page de présentation du service, onglet prix pour connaître le tarif.
Quand nous avons une centaine de services, calculer le prix de son infrastructure devient rapidement ardu. Il faut de plus prendre en compte :

  • la gestion des types de facturation d’instances (on-demand, reserved, spot) ;
  • la facturation à la seconde ou au temps passé ;
  • la différence de tarif entre régions ;
  • la bande passante ;
  • le coût du support ;
  • etc ...

Azure s’est calé sur le modèle d’AWS et côté Google Cloud Platform (GCP), ce n’est pas beaucoup plus simple avec des pages de documentation pour savoir à combien nous reviennent les services.

Comprendre le mode de facturation des instances

Sur AWS, il existe 3 types de facturation pour les instances EC2 :

  • Réservée avec paiement initial complet ou partiel avec des mensualités ;
  • Paiement à l’utilisation divisible à la seconde ;
  • Le mode enchère (spot).

Il est également possible de réserver un serveur physique mais ce n’est pas du tout pensé microservices. AWS saura vous le rappeler sur votre facture !
Si vous souhaitez plus d’explications sur la facturation des EC2, vous pouvez cliquer sur ce lien.

Azure permet également de réserver des instances pour une durée de 1 ou 3 ans. Ceci permettrait selon Microsoft de réduire le prix jusqu’à 80%. Il est possible d’échanger ou d'annuler les réservations en fonction de l’évolution des besoins.

GCP offre moins de modes de facturation mais a l’avantage d'être un peu moins cher. Est-ce vraiment pour le même service vis-à-vis de la concurrence ? A vous de le découvrir dans un prochain article sur la performance du Cloud.
Le schéma ci-dessous, représente l’économie potentielle lié à l’utilisation de Google Cloud :

gcp-pricing

* 24 % de remises automatiques proportionnelles à une utilisation soutenue de nos services, 21 % de différence de prix catalogue, 15 % de recommandations relatives au dimensionnement

Comme vous avez pu le voir dans ce chapitre, encore une fois ce n’est pas simple. Il faut une réelle expertise pour ne pas se tromper.

Avant de commencer

Utiliser les comptes gratuits

GCP, AWS et Azure proposent tous les trois un compte “gratuit” pour une période de 12 mois. Autant en profiter pour se former et explorer les possibilités avant de se lancer tête baissée dans une migration.

Les formations et certifications

Une des postures à adopter lors du passage au Cloud est la formation pour tous. Qu’ils soient commerciaux, responsables techniques développeurs ou administrateurs systèmes, l’ensemble de vos équipes doit être sensibilisé à la gestion des coûts sur le Cloud. Je ne parle pas d’un cursus d’une semaine, mais au moins une journée pour comprendre les bases financières du Cloud et être capable d'anticiper une dépense. Ensuite, à vous de proposer des formations plus avancées aux personnes les plus stratégiques et les faire certifiers.
Faire passer les certifications à vos équipes est un gage de qualité et viendra valider les acquis de vos experts auprès de votre entreprise mais surtout des Cloud Providers..

aws-certifs

Amazon fournit pour son Cloud un portail partenaire (APN) qui propose des vidéos, des accréditations ou encore des formations plus poussées (données par des partenaires).
Demandez à votre personnel technique et commercial de passer les accréditations (attestation de compétences non certifiante) en phase avec leur métier. Il s’agit seulement de quelques heures de vidéo avec des QCM pour valider chaque chapitre.
Vous pouvez également, consulter le livre blanc Fonctionnement de la tarification AWS et le proposer comme ouvrage de référence.

gcp-certified azure-certified

Concernant les autres Cloud Providers :

  • Azure en partenariat avec Pluralsight offre du contenu de qualité et gratuit afin de démarrer dans le Cloud Azure ;
  • Google propose des formations en partenariat avec Coursera, leurs cours sont vraiment complets avec des cas d’études référencés.

Pour ces deux Cloud Providers vous pouvez bien sûr choisir de compléter vos connaissances avec une formation plus traditionnelle et passer les certifications.

AWS Academy

aws-academy

Ippon avec la AWS Academy permet dès septembre d’accélérer le processus d'apprentissage et de passer rapidement les certifications AWS. Les certifications sont indispensables si vous souhaitez optimiser vos infrastructures et espérer un niveau de partenariat avec AWS. Les certifications Solutions Architect sont les plus orientées gestion des coûts.

La réussite financière de vos infrastructures est de la responsabilité de l’intégralité de vos équipes, elles doivent être formées !

Demander l'aide des Cloud Providers

Les équipes des Cloud Providers peuvent vous aider à démarrer dans le Cloud en vous :

  • conseillant d’un point de vue technique et budgétaire ;
  • fournissant des estimations de coûts ;
  • offrant des crédits et des formations (offre Activate d’AWS) ;
  • proposant des partenaires.

Demander l’aide des partenaires

Faire appel à un partenaire, c’est un moyen de gagner du temps et de l’argent, en raccourcissant le Time to Market. Alors oui les experts du Cloud sont chers, mais croyez-moi à la fin de l’année, l’économie sera réelle. D’ailleurs Ippon est depuis avril AWS Advanced Partner et dispose de nombreux certifiés, grâce à son approche Cloud-first.

Préférez les profils FinOps et SecOps si votre but est l’optimisation et la sécurisation de votre budget.

Appréhender le budget prévisionnel des infrastructures Cloud

Comme nous l’avons remarqué les coûts sont difficiles à estimer et à optimiser. Il existe cependant quelques solutions qui vous permettront d’estimer une fourchette pour vos OPEX.

Exploiter les calculateurs

Si vous avez besoin d'une estimation, il existe des outils pouvant vous aider. Encore faut-il penser aux ressources secondaires (bande passantes, sauvegarde, temps d'utilisation, ...).

Voici les calculateurs des 3 Cloud Providers les plus en vogues :

Prévoir une marge

Vous n'êtes ni à l’abri d’une erreur, surtout si vous n’avez pas d’expérience avec le Cloud Public, ni à l’abri d’une augmentation du prix des services. Bien qu’Amazon réduit périodiquement le coût de ses services, il peut arriver que le prix d’un service augmente considérablement comme ce fût le cas des NAT Gateway.
Je vous conseille d’ajouter 20% aux prix évalués avec les calculateurs.

Choisir la bonne région

gcp-region

Les régions sont maintenant un concept utilisé sur tous les Clouds Publics. Les tarifs des services peuvent varier en fonction des régions. Il se peut aussi que vos services n’existent pas dans telle ou telle région. Veillez à choisir la bonne région quand vous estimez votre budget.

Ne pas prendre d’engagement

Surtout ne démarrez pas avec des instances réservées sur une ou plusieurs années ! Vous n’avez aucune garantie que votre applicatif soit en adéquation avec les instances réservées.
Dans le Cloud, on commence toujours par une architecture confortablement dimensionnée pour nos besoins initiaux et on optimise l’utilisation des ressources au fil des mois. Après 6 mois de production, nous pouvons envisager de réserver certaines instances.

Pensez également que prévoir, dans le budget, des instances stoppées le soir et le week-end est une bonne chose ; mais dans les faits ça ne sera probablement pas le cas les premiers mois. Il faut en effet le temps de développer et mettre en place une solution d'arrêt/démarrage. Sur AWS je vous conseil de taguer vos instances, de développer une Lambda et d’utiliser CloudWatch en mode événement pour déclencher la Lambda à heure prédéfinie.

Ne pas tenir compte des Free Tier

Les Free Tier ne sont disponibles que la première année. Les nouveaux comptes reliés au compte de facturation ne disposent plus du Free Tier passé cette date. Pour ne pas risquer une estimation trop basse, ne tenez pas compte des offres du compte gratuit. Pensez également à décocher l’option dans le calculateur.

Souscrire au support

Choisir un plan de support est fortement conseillé pour vos infrastructures de production. Son coût n’est pas négligeable mais les Cloud Providers ont tous leurs options des supports très similaires :

Ne pas oublier les taxes

Bien sûr le prix final se voit rajouter les taxes en vigueurs dans votre pays. Il faut donc anticiper ce coût supplémentaire. Pour les personnes soumises à la TVA penser à rajouter 20% de plus.

Faire appel à un architecte financier

Pour estimer son budget, il faut une personne habile à la fois avec les chiffres et à la fois avec la technique. Le découpage Ingénieur avant-ventes pour la partie budgétaire, architecte pour la partie technique n’est plus possible.

C’est à ce moment là que le FinOps, architecte financier du Cloud, rentre en jeu. Son rôle est aussi primordial lors des avant-ventes, et de deux manières:

  • Evangéliser le client au pay-as-you-go ;
  • Estimer au mieux le prix de l’infrastructure.

Concernant l’optimisation financière, le FinOps est le spécialiste du détail qui change tout.
Il a la capacité de proposer une architecture qui évolue avec la consommation.
En premier lieu, Il peut être moins coûteux de stocker certaines données sur un partage de fichiers (S3) plutôt que dans une base de données managée de type NoSQL (DynamoDB). Avec l’augmentation de l’utilisation le contraire pourra être vrai, ou vice versa. Il faut pouvoir s'adapter.

Vous l'aurez compris sans architecte financier, le Cloud risque d’être difficile à vendre à votre DSI ou à votre responsable des dépenses. Le gain réalisé en CAPEX va se voir annuler par des OPEX en forte hausse. Je vous conseille fortement, si vous débutez dans le Cloud ou si vous souhaitez optimiser vos coûts, de faire appel à un FinOps. Il peut réellement être le facteur manquant à une migration réussie !

Réduire la facture

Utiliser les outils d’optimisations

Amazon fournit un superbe outil, Trust Advisor, qui est pourtant encore méconnu d’un grand nombre. Il propose des conseils, des alertes et il est utilisable en mode API. Nous pouvons donc automatiser son utilisation afin de générer un rapport hebdomadaire.

trust-advisor

Malheureusement, aucun outil interne n’existe sur GCP et Azure. Vous pouvez utiliser Cloudyn qui est recommandé par Microsoft et fonctionne sur nos 3 Cloud Providers.
L’outil est gratuit pour Azure mais vous coûtera 1% de vos coûts annuels avec GCP.

cloudyn

Choisir les services managés

Les services managés sont facturés plus chers que de simples instances mais ils ont le gros avantage de supprimer le coût d’exploitation. En cas d’incident, ils sont capables d’automatiser la reprise d’activité et le plus souvent de l’éviter.
Au lieu de réveiller la personne d’astreinte, vous lirez un email le lendemain matin vous informant que le service a été repris sans période d’interruption. En considérant que vous avez respecté les bases d’une architecture en haute-disponibilité.

Par rapport aux bases de données managées, j’ai une anecdote assez parlante.
En discutant dernièrement avec un jeune diplômé, je me suis rendu compte qu’il ne comprenait pas le principe d'administrateur de bases de données (DBA).
J’en déduis :

  • dans un premier temps qu’il n’a pas suivi de cours Oracle ;
  • et que certains métiers sont en train, non pas de disparaître, mais de se transformer. Le DBA peut s’orienter vers le Big Data.

Les services managés permettent d’investir plus dans l'innovation en consacrant moins de temps à la maintenance opérationnelle.

Penser Serverless

Les infrastructures basées sur la virtualisation sont nettement moins onéreuses que celles basées sur les serveurs physiques. Dans le Cloud nous pouvons, encore, réaliser de belles économies. Mais pour aller encore plus loin dans le pay-as-you-go rien ne vaut le Serverless. AWS est largement en avance sur cette technologie et Google tarde à sortir une solution de même niveau.

Je vous conseille d’aller lire l’article de mon éminent collègue Steve Houël Les architectures Serverless et de regarder sa vidéo To be or not to be Serverless.

Pour information, AWS a annoncé la sortie de sa base de données managée Aurora en mode Serverless.

Le point sécurité

secure

N’oubliez pas que lorsque vous donnez un compte administrateur Cloud à une personne, c’est comme si vous lui donniez la carte bancaire de votre entreprise. Alors sécurisez vos infrastructures et faites appel à des profils SecOps !

Conclusion

Réussir financièrement sa migration dans le cloud n’est pas une tâche aisée. Il faut investir beaucoup de temps et parfois d’argent au début du projet pour qu’il soit un succès technique et financier. Les risques d’échec sont réels mais évitables si vous avez su vous entourer du bon partenaire et former vos équipes.

Parce que personne n’a la science infuse, il n’est pas nécessaire de partir d’une architecture parfaite, les améliorations viendront avec le temps. Et plus votre solution sera Cloud-native (orientée microservices et services managés) moins son prix sera élevé.

Il est probable qu’au début de votre migration vos OPEX explosent mais n'oubliez pas que le bénéfice sera réel sur le moyen et le long terme. Le FinOps vous garantira d’aller encore plus loin dans l’optimisation financière de vos architectures. Même si ce profil est rare, dégotez-le en y mettant le prix !