Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

Optimisation des coûts chez les hyperscalers : l'avantage Azure

By Luca SerpietriApr 10, 20257 min read

Cette page est également disponible en English, Deutsch, Español, Italiano, 日本語 et Português.

Quelles bonnes pratiques d'optimisation des coûts sont communes à Azure, AWS et GCP, et comment Azure se démarque-t-il pour faire économiser ses clients ?

Photo de Łukasz Łada sur Unsplash

D'où l'idée : commencer par partager les stratégies communes à tous les hyperscalers, puis se pencher sur l'un d'eux pour en détailler les spécificités.

Dans cet article, nous entamons notre exploration de l'optimisation des coûts sur Azure, en partant des bonnes pratiques valables chez les trois grands : AWS, GCP et Azure. Nous nous attarderons ensuite sur trois fonctionnalités propres à Azure qui demandent un effort minime aux clients tout en générant des économies potentiellement considérables.

Les trois grands : des points communs en matière d'optimisation

Si les équipes d'AWS, GCP et Azure consacrent du temps et de l'argent à mettre en avant les différences entre leurs services, certains principes d'optimisation des coûts s'appliquent à toutes ces plateformes. Après tout, l'adoption du cloud n'est pas seulement portée par les fonctionnalités et les capacités, mais aussi par l'efficacité, et les clients ont clairement exprimé ces dernières années leur souhait de gagner en visibilité sur leurs coûts et de disposer de davantage de leviers pour les réduire.

La FinOps Foundation, par exemple, promeut une approche relativement standardisée pour analyser les coûts cloud et traquer les inefficacités. Si leur travail vous intéresse, jetez un œil à https://www.finops.org/

Mais ne nous égarons pas. Que vous abordiez votre toute première migration vers le cloud ou que vous y opériez depuis l'époque de SimpleDB, voici 3 grands principes d'optimisation des coûts qui s'appliquent indifféremment à AWS, GCP et Azure.

1\. Le right-sizing des instances

Le right-sizing est un classique du cloud : s'assurer que les clients utilisent des ressources adaptées à leurs besoins, ni plus, ni moins. Comme pour la grande majorité des choix dans le cloud (et dans la vie), la taille de votre ressource (qu'il s'agisse d'une instance de base de données managée, d'un conteneur, d'un pod, d'une VM, d'un système de fichiers, etc.) résulte d'un compromis entre vos besoins actuels, vos besoins futurs et la rapidité avec laquelle vous en aurez besoin.

Tous les hyperscalers croisent les données de facturation avec des métriques opérationnelles (utilisation réseau, mémoire ou CPU pour les instances, par exemple) pour justifier la réduction de la taille d'une ressource, voire sa suppression complète, et estimer les économies à la clé.

Azure ne se prive pas de partager ses recommandations à travers Azure Advisor qui, à l'image de Compute Optimizer chez AWS et de Recommender chez GCP, propose des pistes pour right-sizer vos ressources ou supprimer celles qui sont inactives.

Ne faites pas l'impasse sur ces recommandations : vous seriez surpris du nombre de ressources qui pourraient être supprimées. Plus loin dans cet article, nous explorerons d'autres capacités offertes par Azure, alors restez avec nous.

2\. Les réservations

Le prépaiement de ressources de calcul sur une durée d'engagement fixe permet de réduire significativement les coûts, et ce sur tous les clouds. Chez tous les hyperscalers, ce mode d'achat est disponible pour un large éventail de services (Compute, Storage, bases de données…). L'exercice peut paraître intimidant, mais c'est le moyen le plus rapide d'économiser sur le cloud : aucun changement de configuration, aucune ré-architecture, juste quelques clics et le prix unitaire de votre ressource chute drastiquement.

Azure propose une API Reservation Recommendation et expose des recommandations au niveau de la souscription via Azure Advisor. Toutefois, si vous souhaitez consulter les recommandations couvrant l'ensemble de votre périmètre de facturation (ce qui est conseillé pour maximiser l'utilisation de vos réservations), la mise à disposition est un peu maladroite : dans le portail Azure, allez dans Reservations > Add, et vous y trouverez tous les services concernés ainsi que les recommandations associées.

Personnellement, je trouve les portails AWS et GCP plus pratiques, puisqu'ils centralisent les recommandations de réservation pour les services éligibles en un seul endroit, sans avoir à naviguer dans les menus. Mais ne nous attardons pas sur l'esthétique : l'essentiel est d'analyser ces recommandations et d'appliquer celles qui correspondent à votre cas d'usage le plus rapidement possible. https://azure.microsoft.com/en-us/pricing/offers/savings-plan-compute

3\. Les instances Spot

Si vous exécutez des workloads tolérants aux interruptions (environnements de test et bacs à sable, traitements par lots, traitements asynchrones), les trois plateformes proposent des instances Spot. L'idée centrale repose sur la capacité excédentaire dont disposent les hyperscalers dans leurs data centers : plutôt que de la laisser dormir, ils la mettent à disposition des clients avec une remise importante. Chez AWS et Azure, les clients peuvent même fixer un prix maximum qu'ils sont prêts à payer pour ces VMs, ce qui leur offre une bien meilleure maîtrise de leurs coûts.

Imaginons une demande accrue de capacité dans une Availability Zone. Le prix Spot grimpe alors et peut dépasser le seuil fixé par le client. Le fournisseur cloud déclenche dans ce cas le processus d'éviction, c'est-à-dire l'arrêt de la VM. Le client a alors le choix : conserver la VM et ses disques (et continuer à payer pour ces derniers) en attendant que le prix redescende, ou tout simplement la supprimer pour mettre fin à toute facturation.

Azure propose des Spot Virtual Machines qui prennent en charge la définition d'un prix maximum et le comportement d'éviction. À noter toutefois que les machines de la série B et les tailles promo ne sont pas prises en charge. Les clients peuvent même déployer des Virtual Machine Scale Sets pour Spot VMs, combinant ainsi les SpotVMs avec une mise à l'échelle automatisée, ce qui réduit encore le risque de mauvaises surprises sur la facture liées à un scaling excessif.

En quoi Azure se démarque

Nous avons abordé quelques approches d'optimisation cloud valables chez tous les hyperscalers, mais qu'en est-il des spécificités d'Azure ? La plateforme offre-t-elle des avantages uniques que nous pourrions exploiter pour faire baisser nos coûts encore davantage ?

1\. Azure Hybrid Benefit : jouez la carte BYOL

Les clients de DoiT déboursent chaque mois des millions de dollars en frais de licences Windows lorsqu'ils exécutent des workloads Windows sur AWS ou GCP. En revanche, ceux qui disposent déjà d'un contrat de licence Windows avec Software Assurance peuvent tirer parti de l'Azure Hybrid Benefit : ce dispositif leur permet de réutiliser leurs licences on-premises existantes pour Windows Server, Microsoft SQL Server et certains produits Linux dans le cadre de déploiements cloud.

Je sais, le sujet n'est pas le plus palpitant au monde, mais il est important de souligner que ce programme permet aux clients de réutiliser efficacement leurs licences on-premises pour leurs ressources Azure, avec à la clé une remise considérable. Si AWS et GCP ont conclu des accords avec Microsoft pour permettre aux clients d'apporter leurs propres licences lorsqu'ils utilisent des produits Microsoft sur leurs clouds, l'Azure Hybrid Benefit fait baisser le coût total de manière nettement plus marquée (parfois jusqu'à 85 %). Pour en savoir plus, cliquez ici

2\. La tarification Dev/Test

Dans une démarche unique, Azure propose une tarification spéciale pour les environnements hors production (tarification Dev/Test) via ses programmes Enterprise Agreement. Nous avons vu plus haut comment les Spot VMs peuvent réduire les coûts des environnements de test, mais cette stratégie se limite en pratique aux VMs Azure. La tarification Dev/Test couvre, elle, un large éventail de services, dont SQL Database et App Service, ce qui réduit significativement le TCO des environnements de test. Si votre équipe utilise des abonnements Azure DevOps ou MSDN, veillez à provisionner vos VMs et services dans la formule Dev/Test lorsque c'est possible.

3\. Activez le Dynamic Scaling pour Azure Cosmos DB

Voilà un changement qui a peut-être échappé à votre vigilance, surtout si vous utilisez Azure Cosmos DB depuis longtemps. Depuis septembre 2024, Microsoft a modifié la façon dont Cosmos DB met à l'échelle ses bases de données en introduisant le Dynamic Scaling.

Auparavant, le scaling était déclenché par la région ou la partition la plus active : un comportement qui semblait satisfaisant en surface, mais qui, lorsque la charge de votre base est inégalement répartie — une région ou une partition étant nettement plus sollicitée que les autres — entraînait des montées en charge inutiles et coûteuses.

Désormais, Microsoft facture les bases de données multi-régions région par région, et non plus en se basant sur la région la plus active. Mieux encore, le scaling s'opère par partition, ce qui permet aux clients d'obtenir une facturation plus précise, alignée sur leurs usages réels.

Conseil pratique : si votre compte Azure CosmosDB a été créé après le 25 septembre 2024, vous n'avez rien à faire, la fonctionnalité est activée par défaut. Pour les comptes créés avant cette date, vous pouvez l'activer en suivant les instructions disponibles ici.

Maintenant que nous avons passé en revue les bonnes pratiques communes à AWS, GCP et Azure ainsi que quelques atouts propres à Azure pour rentabiliser nos investissements cloud, quelle est la prochaine étape ? Contacter DoiT, bien sûr, sur doit.com/services 😊