Quand l'optimisation coûte plus qu'elle ne rapporte, empruntez la voie la plus simple vers des économies cloud.

Quand les stratégies d'optimisation des coûts cloud coûtent plus qu'elles ne rapportent : empruntez la voie la plus simple vers les économies
Malgré toute la scalabilité, la fiabilité et la flexibilité qu'offre le cloud public, rien n'est jamais vraiment gratuit. Les fournisseurs cloud comme Amazon Web Services et Google Cloud vous permettent d'utiliser et de payer la puissance de calcul et les services au fil de vos besoins, mais une utilisation purement à la demande engendre des coûts élevés. Passé un certain seuil, le recours au cloud public en mode on-demand devient prohibitif.
Plusieurs méthodes permettent de mieux maîtriser vos dépenses cloud : s'engager longtemps à l'avance sur des volumes d'utilisation ou des montants de dépense, ou exploiter les instances spot à des tarifs fortement remisés. Ces deux stratégies d'optimisation exigent toutefois du temps et des ressources pour être mises en œuvre correctement. La question n'est donc plus combien pouvez-vous économiser ?, mais plutôt le résultat justifie-t-il l'effort consenti ?
Examinons ces deux approches pour mieux comprendre ce que chacune implique et comment les optimiser afin que l'effort en vaille la peine pour votre organisation.
Engagements / réservations de compute
Le compute représentant en général plus de la moitié de votre facture cloud totale, optimiser ce poste aura sans doute l'impact le plus marqué sur vos dépenses globales. C'est pourquoi les fournisseurs cloud publics comme AWS proposent des remises substantielles en contrepartie d'une réservation ou d'un engagement anticipé sur votre consommation. Ces programmes d'engagement, connus sous le nom de Reserved Instances ou Savings Plans chez AWS, sont proposés sur un ou trois ans, les engagements de trois ans offrant naturellement les remises les plus importantes.
Tirer parti de ces opportunités d'économies suppose toutefois des prévisions très précises de votre consommation sur toute la durée de l'engagement. Si vous surdimensionnez et réservez plus de compute que nécessaire, vous gaspillerez de l'argent sur des workloads inutilisés (ce qui rappelle l'époque révolue des datacenters et des modèles de dépenses CapEx). À l'inverse, si vous sous-dimensionnez et avez besoin de davantage d'instances par la suite, vous devrez soit reprendre depuis le début le travail de prévision et de provisionnement pour un nouvel engagement, soit payer des tarifs nettement plus élevés pour des instances on-demand.
La situation se complique avec toutes les variables difficiles à intégrer aux conditions d'un engagement, par exemple :
- les modifications de code qui augmentent ou réduisent les besoins en compute d'une application ;
- le potentiel de succès ou de viralité de nouveaux produits et services ;
- les facteurs macroéconomiques comme l'inflation et les aléas des chaînes d'approvisionnement, incontrôlables mais susceptibles d'influer sur votre consommation cloud.
En général, les entreprises finissent par réserver autant que possible via des engagements de trois ans afin d'établir un socle minimum, puis ajoutent par-dessus des réservations d'un an selon les types de VM, tailles et régions spécifiques requis pour leurs applications.
Cela aboutit le plus souvent à un calendrier de remises en évolution permanente, dont les workloads cibles, les spécifications et les dates d'expiration doivent être suivis et gérés tout au long de l'année par au moins une personne dédiée — voire toute une équipe. Ces personnes doivent posséder une expertise cloud et savoir relier la consommation aux objectifs métier globaux. Et, naturellement, le coût de recrutement, de formation et de fidélisation d'une telle équipe spécialisée risque fort de rogner les économies réalisées.
Sans surprise, l'obstacle est de taille pour bon nombre d'organisations, en particulier les jeunes entreprises aux ressources limitées et tournées vers la croissance. La plupart des startups ne peuvent se permettre de détourner le temps et l'attention de leurs équipes DevOps déjà restreintes vers la gestion des engagements ; elles préfèrent se concentrer sur le développement et la croissance plutôt que sur la gestion des coûts et de la consommation.
Même les grandes entreprises, mieux dotées et plus matures sur le plan numérique, peinent parfois à suivre leur portefeuille d'engagements. Plus l'environnement cloud est complexe, plus la logistique de gestion devient ardue : les besoins en compute et les rythmes de consommation varient d'une équipe à l'autre, la responsabilité du provisionnement et du suivi de la consommation cloud peut changer, et les environnements se différencient davantage entre les équipes.
Plus l'environnement cloud est complexe, plus la logistique de gestion devient ardue.
Spot Instances
L'un des moyens les plus efficaces de réduire vos dépenses cloud sur AWS consiste à déployer des Spot Instances dès que possible. Avec des économies pouvant atteindre 90 % par rapport au tarif on-demand, cette méthode offre des remises encore supérieures aux engagements de trois ans, mais avec un bémol de taille : les Spot Instances sont vendues comme des offres de dernière minute sur des instances on-demand inutilisées (à l'image d'une boulangerie qui solde ses invendus en fin de journée), mais elles peuvent aussi être récupérées par le fournisseur cloud avec seulement deux minutes de préavis. Ce détail fait hésiter beaucoup d'entreprises à adopter les instances Spot, car dans l'arbitrage entre la disponibilité de vos applications et les économies, vous privilégierez sans doute la disponibilité.
Les Spot Instances peuvent être gérées sur AWS via des Auto Scaling Groups (ASG), mais leur déploiement exige une certaine flexibilité quant aux types d'instances et aux zones de disponibilité demandés, car il se peut qu'aucune ne corresponde à vos spécifications cibles. Les ASG doivent par ailleurs être configurés manuellement et ajustés régulièrement pour garantir que vos besoins en compute restent satisfaits sans interruption notable. Là encore, le processus est manuel et fastidieux, et une mauvaise configuration peut tout simplement empêcher le bon fonctionnement.
Malgré les limites évidentes des Spot Instances, plusieurs stratégies permettent d'optimiser leur utilisation. Le rééquilibrage de capacité, par exemple, contribue à maintenir la disponibilité (en s'appuyant sur les Instance Rebalance Recommendations d'AWS). Ce mécanisme envoie un signal préventif lorsqu'une Spot Instance est susceptible d'être interrompue, ce qui peut faire toute la différence par rapport à l'avertissement standard de deux minutes d'AWS — à condition d'avoir quelqu'un de disponible pour gérer le changement.
Le jeu en vaut-il la chandelle ?
La vérité, c'est qu'il n'existe aucune formule magique pour estimer le coût réel de la gestion de toutes ces stratégies d'optimisation. Tout dépend de la taille et de la complexité de votre environnement cloud, de vos objectifs métier actuels et futurs, ainsi que du niveau d'expertise dont vous disposez en interne. Par exemple, est-il moins coûteux de surengager légèrement à un tarif réduit que de sous-engager et de payer le tarif on-demand pour le reste ? Et si vous optez pour cette seconde option, quelle valeur accordez-vous à la flexibilité offerte, comparée aux économies supplémentaires qu'un engagement plus important permettrait ?
Pour aller plus loin : votre équipe est-elle en mesure de planifier et de gérer ces programmes, ou devrez-vous recruter de nouveaux profils dotés des compétences et de l'expertise requises ? Si oui, est-ce le meilleur usage de votre budget de fonctionnement, ou cet argent serait-il mieux investi dans le développement produit ou les stratégies go-to-market ?
Beaucoup d'entreprises estiment que toutes ces questions, et le temps passé à y répondre, n'en valent pas la peine. Difficile de leur donner tort, surtout quand on sait que les engagements longue durée se font souvent au détriment de la flexibilité d'ingénierie : de nouveaux projets ou fonctionnalités non prévus dans les prévisions initiales risquent d'être mis en attente jusqu'au provisionnement de nouvelles ressources. Êtes-vous prêt à voir votre roadmap produit contrainte par des décisions budgétaires prises il y a plus d'un an ?
Heureusement, des solutions alternatives apportent les économies recherchées sans monopoliser autant de temps et d'énergie de votre équipe infrastructure.
Êtes-vous prêt à voir votre roadmap produit contrainte par des décisions budgétaires prises il y a plus d'un an ?
DoiT Flexsave répond au défi de la gestion des engagements en automatisant la gestion des remises sur le compute. La solution s'appuie sur le machine learning pour surveiller en continu votre consommation cloud et identifier les instances de compute non couvertes par des engagements existants. Elle applique ensuite des tarifs remisés équivalents à un engagement d'un an sur les workloads concernés, comblant ainsi le déficit de couverture. Vous profitez de la flexibilité du on-demand sans craindre l'envolée des coûts d'infrastructure. Vous pouvez même souscrire autant d'engagements de trois ans que vous le souhaitez pour maximiser vos économies, et laisser Flexsave couvrir le reste.

De son côté, DoiT Spot Scaling vous permet d'exécuter vos workloads de manière fiable sur des AWS Spot Instances sans vous soucier des interruptions. En surveillant vos ASG de manière autonome, Spot Scaling recommande des configurations conformes aux meilleures pratiques et remplace les instances on-demand par des Spot Instances fortement remisées lorsque c'est pertinent, avec un repli sur le on-demand lorsque la capacité spot est nulle sur le marché. Mieux encore, Spot Scaling est la seule solution du marché qui vous permet de conserver l'intégralité de vos économies, sans prélever la moindre commission.

Pour en savoir plus sur les stratégies d'optimisation des coûts recommandées par DoiT, échangez dès aujourd'hui avec un expert, ou consultez notre récent ebook The Cost Conscious Cloud.