> Tech > Comment réduire votre facture Azure ?

Comment réduire votre facture Azure ?

Tech - Par Arnaud Morvillier - Publié le 05 décembre 2022

Je n’apprendrai à personne que le mode de consommation du Cloud Computing est basé sur la consommation de vos ressources, ce qu'on appelle le Pay As You Go (PAYG), c’est d’ailleurs l’un de ses avantages.

Comment réduire votre facture Azure ?

L’une des bonnes pratiques avant de déployer dans le Cloud, est évidemment d’estimer les coûts des ressources que vous allez déployer, tout simplement pour avoir une idée approximative, de ce qu’elles vous coûteront. Le problème c’est que l’estimation est rarement réalisée.

Pour certaines entreprises, les coûts explosent et il peut être difficile de savoir par où commencer pour tenter d’inverser la tendance.

Il n’est pas rare, également, que certaines d’entre elles, après une mauvaise expérience sur l’aspect financier, décident de tourner le dos au Cloud public, l’estimant trop cher.

D’autres vont définir des règles strictes, et parfois trop strictes, qui vont à l’encontre de l’innovation, ce qui peut pénaliser le quotidien des équipes Innovation et R&D.

Pour éviter cette situation, voyons ensemble, les leviers qui vous permettront de réduire votre facture Azure, grâce à l’implémentation de principes FinOps, qui est la contraction de Finance et Opération.

La Fondation FinOps définit le FinOps comme « une discipline et une pratique culturelle de gestion financière dans le Cloud en évolution qui permet aux organisations d’obtenir une valeur commerciale maximale en aidant les équipes d’ingénierie, de finance, de technologie et d’affaires à collaborer sur des décisions de dépenses basées sur les données ».

Comme tout fournisseur Cloud, Azure propose plusieurs services et solutions afin de réduire votre emprunte financière, et faire en sorte que les coûts associés à vos ressources ne soient plus un frein à l’adoption du Cloud.

Azure Calculator

Je l’évoquais en préambule, pour éviter les mauvaises surprises et découvrir le coût des ressources déployées, à la réception de votre facture, l’une des bonnes pratiques est d’estimer à l’avance vos coûts.

Alors je vous vois venir, une estimation reste une estimation, mais cela peut vous donner un ordre d’idée sur le budget d’une application ou d’un projet.

Imaginons que le business souhaite déployer un nouveau service permettant de commander des plats à emporter. Evidemment une fois que vous avez récolté les différents éléments, comme les besoins, les contraintes techniques, légales, et financières, vous pouvez passer à la phase de définition de votre architecture. Une fois définie, il sera temps de l’estimer, car il est fort à parier que le business ne vous donnera pas un chèque en blanc.

C’est à ce moment précis que Azure Calculator prend tout son intérêt.

Pour estimer le coût de vos services, il suffit de les sélectionner dans la liste et de saisir leur configuration que vous envisagez.

Evidemment plusieurs paramètres entrent en considération pour l’estimation, et certains ne sont pas faciles à établir comme le trafic entrant/sortant au niveau de votre application, la bande passante, ou le stockage nécessaire, mais on ne souhaite pas avoir un montant précis, ce qui est impossible à obtenir, mais un ordre de grandeur.

N’hésitez pas à vous faire accompagner d’un Architecte Cloud, qui aura défini la solution, pour vous rapprocher le plus possible d’une estimation cohérente.

Et comme le disait Léonard de Vinci : « Ne pas prévoir, c’est déjà gémir».

Supprimer les ressources non utilisées/orphelines

Un autre moyen de réduire simplement votre facture, est de supprimer les ressources que vous n’utilisez pas.

Gardez en tête que vous êtes facturé même lorsque vous n’utilisez pas un service. Il faut donc faire la chasse aux ressources non utilisées.

Alors au premier abord cela parait simple, lorsque vous avez une équipe réduite qui déploie les ressources, mais imaginez, lorsque vous êtes dans une grande organisation avec des dizaines, voire des centaines de personnes qui déploient des ressources quotidiennement, là, cela devient un vrai casse-tête.

Une autre bonne pratique à mettre en place sur Azure est de tagger vos ressources. Les tags permettent d’ajouter des informations sous forme de clés/valeurs, afin d’identifier par exemple, le propriétaire d’une ressource, la personne qui l’a déployée, ou bien encore le projet auquel est rattachée cette ressource.

A défaut de savoir si la ressource est encore utilisée, vous pourrez, à minima, vous rapprocher du propriétaire de la ressource ou de celui qui l’a déployée afin d’obtenir les informations nécessaires, et voir si vous pouvez faire du ménage.

Pensez à également supprimer les différentes ressources orphelines.

Par ressources orphelines, j’entends celles qui ne sont attachées à aucun service mais pour lesquelles vous êtes toujours facturés. Cela peut être des disques de VMs, des adresses IPs publiques, ou encore des App Services Plan, qui vous sont facturés bien que ces ressources ne soient plus utilisées.

Voici par exemple la commande pour lister les disques durs non associés :
Get-AzDisk | where-object {$_.Diskstate -eq ‘Unattached’}

Ou encore la commande pour lister les adresses IPs publiques non associées à une ressource :
Get-AzPublicIpAddress | Where-Object {$_.IpConfiguration -eq $null}

Il peut être intéressant de réaliser un script, qui s’exécute périodiquement pour supprimer ces ressources inutilisées.

Arrêt et démarrage de vos VMs

Pour celles et ceux qui utilisent des VMs, l’une des solutions assez simples à mettre en place pour réduire votre facture est l’arrêt et le démarrage de vos ressources.

Si on fait un parallèle avec votre électricité, surtout en ces périodes plus que compliquées, lorsque vous n’êtes pas chez vous, vous éteignez vos lampes, et bien c’est pareil avec Azure et le Cloud en général.

Alors vous allez me répondre, oui mais je fais comment avec mes VMs de Production ?

Et bien justement, notre cible n’est pas forcément l’environnement de Production mais les autres, comme l’environnement de Développement, de Recette, d’UAT, de Staging, … Il est à peu près certain que les VMs de ces environnements n’ont pas à être allumées en permanence, on peut donc envisager de les arrêter la nuit et même le weekend. Et mine de rien, ce sont des coûts non négligeables que vous pouvez éliminer.

Bien entendu, il est possible d’arrêter et redémarrer les VMs de manière automatique, soit directement au niveau de la VM pour l’arrêt avec l’option Auto-Shutdown. Evidemment, le démarrage peut aussi s’automatiser un compte Automation, au travers de modèles qui se basent sur les fameux tags, réduisant considérablement vos efforts.

Dimensionner correctement vos ressources

Vous n’êtes pas sans savoir, que sur de nombreux services Azure, le prix est en partie calculé, en fonction de la quantité de ressources attribuées comme le calcul, le réseau, et le stockage. Ainsi, plus il y a de ressources, plus le prix est élevé.

Il faut donc être vigilant pour dimensionner correctement vos ressources, en fonction du service, ou des besoins que vous avez.

Il est ainsi, inutile, de provisionner 8vCPU et 16Go de Mémoire pour héberger un serveur Web sur une VM, ou bien prévoir un cache de 26Go de mémoire pour un Azure Cache for Redis, si vous n’avez que 4Go de données à stocker !

Prenons un nouvel exemple concret, je travaille à 10km de chez moi. J’ai le choix entre une petite voiture électrique, et un gros 4×4 diesel, évidemment j’opte pour la petite voiture car c’est elle qui semble la plus adaptée à mon besoin.

Sur Azure c’est pareil, dimensionnez vos ressources en fonction de leur utilisation.
Vous pouvez évidemment, prévoir une marge supplémentaire qui sera utilisée lors de pics supplémentaires de charges de travail.

Versions de types d’instance de VMs

Azure vous propose, également, différents types d’instances de VM comme l’usage général, la mémoire optimisée, le calcul haute performance pour ne citer qu’eux, avec leurs déclinaisons selon les ressources dont vous avez besoin, en fonction de vos charges de travail.

Mais ce n’est pas tout. Nous parlons de Cloud Computing avec Azure, les services proposés sont hébergés sur des serveurs physiques. Ces serveurs physiques sont disposés en racks, et ces racks sont stockés dans les Datacenter de Microsoft. Et comme tout matériel physique, il faut évidemment le maintenir, mais aussi le remplacer en cas de pannes.

Et bien sachez que lorsque les équipes Microsoft ajoutent du matériel ou remplacent le matériel obsolète ou défectueux, ce nouveau matériel est en général plus puissant, et plus accessible financièrement que celui installé précédemment. (Evidemment, cela vaut lors de périodes économiques stables, pas comme aujourd’hui avec un contexte de guerre en Europe de l’Est, mais aussi avec la pénurie de composants électriques, ou l’explosion des prix liés à l’énergie comme c’est le cas en ce moment).

C’est ainsi qu’apparaissent de nouvelles versions de types d’instance, suffixées en v2, v3, v4, v5, et bien en période normale, les versions les plus récentes offres des tarifs plus intéressants que les anciennes.

Et ce n’est pas tout car vous pouvez également trouver de temps à autres des types d’instances en Promo sur une période de temps limitée qui sont en général sur du matériel qui sera décommissionné.

Azure VM Spot

Microsoft propose aussi, d’utiliser la capacité de calcul inutilisée à un instant T, pour réaliser des économies pouvant aller jusqu’à 90% des prix publics sur les VMs, avec la fonctionnalité Azure VM Spot.

Comment cela fonctionne exactement ?

Il arrive par moment, que l’infrastructure d’Azure ne soit pas complètement utilisée, et plutôt que de voir son infrastructure non utilisée, Microsoft a décidé de proposer cette puissance de calcul à un prix inférieur.

Je vois déjà pointer une question sur le bout de vos lèvres « Qu’est-ce qui se passe quand Azure a de nouveau besoin de cette puissance de calcul ? »

C’est simple, en fonction de la configuration que vous aurez définie, soit votre VM s’arrête, soit elle est supprimée.

Sachez que vous pouvez même définir un prix plancher, en dessous du prix public, que vous êtes prêt à payer. Une fois ce prix atteint, soit votre VM s’arrête, soit elle est supprimée.
Si vous envisagez d’utiliser cette option, vous pouvez vous aider de Azure Resource Graph qui vous permettra d’obtenir l’historique des prix lors des 90 derniers jours et les taux d’éviction au cours des 28 derniers jours et ainsi vous aider à définir ce prix.

Alors vous l’aurez compris, les VMs Spots, ne peuvent pas être utilisées pour tous types de scénarii, et encore moins pour les environnements critiques ou de production.

En revanche, elles s’appliquent parfaitement aux cas d’usage des charges de travail capables de gérer les interruptions, comme les travaux de traitement par lots, les environnements de développement, de tests, entre autres.

Une notification 30 secondes avant l’éviction de votre VM, est envoyée au système afin de le prévenir et anticiper l’arrêt ou la suppression de celle-ci.

La fonctionnalité, Azure VM Spot, s’applique aux VMs Linux, Windows, ainsi qu’au service Virtual Machine Scale Set (VMSS).

Le prix varie en fonction des régions

Autre facteur qui interfère sur le prix d’un service, c’est la région dans laquelle il est déployé.
Mais comment cela s’explique ?

Le prix d’un service est évidemment calculé sur le coût du matériel sur lequel il s’exécute, mais d’autres paramètres rentrent en considération comme :

  • Le coût du travail du pays où est implanté le Datacenter
  • Le coût de l’énergie qui permet le fonctionnement du Datacenter

Mais d’autres éléments peuvent influer sur le prix, comme :

  • Les aides financières accordées par certains pays pour favoriser l’implantation
  • Le contexte économique national, ou mondial
  • Mais aussi la stabilité géopolitique d’une région

Alors évidemment ce facteur ne doit pas être celui qui définit la région dans laquelle vous allez déployer votre application, mais au moins maintenance vous savez qu’un service n’a pas le même coût si il est déployé aux US ou au Brésil.

Téléchargez cette ressource

Guide de Threat Intelligence contextuelle

Guide de Threat Intelligence contextuelle

Ce guide facilitera l’adoption d’une Threat Intelligence - renseignement sur les cybermenaces, cyberintelligence - adaptée au "contexte", il fournit des indicateurs de performance clés (KPI) pour progresser d' une posture défensive vers une approche centrée sur l’anticipation stratégique

Les plus consultés sur iTPro.fr

A lire aussi sur le site

À la une de la chaîne Tech