Un des principes fondamentaux du Cloud est fonctionner, et de facturer, selon la consommation. Cela permet de payer un service uniquement quand celui-ci est utilisé. Associé à ce principe, une transparence des coûts est présente via une décomposition précise.
Néanmoins, la compréhension de la tarification et de la facturation d’Azure n’est pas chose aisée durant la mise en place des premières architectures, tant la granularité tarifaire peut s’avérer pleine de coûts combinés et de variantes possibles selon les scénarios.
Un premier article dédié à l’optimisation des coûts est déjà disponible sur ce blog juste ici. Ce second article est quant à lui dédié à la décomposition tarifaire d’une machine virtuelle, très utilisée sur Azure.
Comment fonctionne la politique tarifaire d’Azure ?
Azure propose deux méthodes de tarification, assez classiques chez tous les fournisseurs de Cloud :
- Paiement à la demande : aussi appelé PAYG (Pay-As-You-Go), cette méthode de facturation est sans engagement. Le décompte tarifaire commence selon les cas quand la ressource est créée ou allumée, et se termine quand la ressource est supprimée ou arrêtée.
- Engagement de durée : disponibles sur certaines ressources Azure, les engagements sur Azure sont généralement disponibles sur un ou trois ans avec un paiement unique en début d’engagement ou mensuellement. Durant cette durée, le coût de la ressource n’est plus facturé en PAYG, on profite alors d’un rabais très intéressant. L’annulation de l’engagement durant la période n’est pas toujours possible.
Il est possible de combiner les deux méthodes dans un seul environnement Azure sans difficulté.
Attention : un engagement ne couvre généralement pas l’ensemble des coûts d’une ressource Azure.
Quels sont les principaux types de coûts d’une ressource Azure ?
La liste des prix publics des ressources est accessible sur la Calculatrice de prix Azure.
Rien de telle qu’une vidéo pour comprendre comment celui-ci fonctionne :
Le coût d’une ressource Azure se décompose généralement en plusieurs types de coût. Par exemple, le stockage de données sur Azure générera les coûts suivants :
- Le volume de stockage : Mo, Go, To, …
- Le volume de transactions : lectures, écritures, …
- Le volume de données transitant par les réseaux : Mo, Go, To, …
- Les services additionnels : réplication, sauvegarde, sécurité, …
Dans cet article, nous allons nous intéresser aux machines virtuelles Azure et à quatre de ses principaux types de coûts :
- Le Calcul : le traitement de l’information nécessite un service capable d’effectuer des calculs. Azure considère couple processeur / mémoire comme un couple de calcul. On retrouve cet ensemble dans les machines virtuelles, les serveurs de base de données ou les services Web. Assez simplement, le coût du service calcul va dépendre de sa taille, donc de sa technologie, de son nombre de coeurs et de sa taille de mémoire.
- Le Stockage : Bien souvent, de l’information a besoin d’être stockée dans une architecture. Qu’elle soit utilisée par le service de calcul, mise à disposition pour des accès externes ou pour des besoins de sauvegarde, le stockage disposera généralement de 3 variables : taille (Go; To), débit (Mo/sec; Go/sec) et puissance transactionnelle (IOPS).
- Le Réseau : Une ressource Azure a besoin de communiquer avec des utilisateurs ou d’autres ressources IT. Par exemple, le réseau virtuel Azure est un moyen simple de faire communiquer des ressources Azure entre elles, une passerelle VPN ou ExpressRoute Azure sera un moyen facile et sécurisé d’établir une communication vers un environnement local. Comme pour le stockage, la tarification réseau repose sur des variables : taille de la bande passante et le volume de données en transition.
- La licence logicielle : Là encore, la ressource Azure sera souvent exploitée par un système d’exploitation et/ou logiciel, dont certains fonctionnent sous licence payante. Dans l’exemple des licences Microsoft, comme Windows Server ou SQL Server, la tarification Azure repose sur la taille du service de calcul, comme le nombre de coeurs des machines virtuelles. Il est aussi possible de réduire les coûts des licences en réutilisant, sous certaines conditions, des licences existantes.
La machine virtuelle Azure est le meilleur exemple car elle est présente dans de nombreux déploiements Cloud et comporte une variété de coûts Azure.
Tous les champs indiqués dans la Calculatrice de prix Azure ont un impact sur le prix, mais les trois champs entourés en rouge sont ajustables selon les besoins dans le temps :
Taille de l’instance de calcul :
Pas de mystère, plus une machine virtuelle dispose de coeurs et/ou de mémoire, plus son coût est élevé. Il est donc important de choisir une taille adaptée selon les besoins pour éviter des ralentissements ou une sous-utilisation.
Peut-on moduler la taille de la machine virtuelle selon les besoins ?
Il est envisageable de redimensionner la taille durant la nuit ou le week-end quand la période de calcul est plus faible, via le portail Azure ou même de l’automatiser grâce à un script.
Attention : un changement de taille engendre un repositionnement de la machine virtuelle par l’hyperviseur, donc un redémarrage systématique de l’OS.
Durée de fonctionnement :
Une fois créée, une machine virtuelle Azure oscille sur 3 différents statuts :
- Démarrée : fonctionnement normal et tarification des 4 coûts : calcul, stockage, réseau et licence.
- Arrêtée : machine virtuelle non accessible, tarification maintenue pour le calcul et le stockage.
- Arrêtée (Désallouée) : machine virtuelle non accessible, tarification maintenue pour le stockage.
Dans certains cas, l’arrêt complet de la machine virtuelle est donc une approche intéressante pour réduire les coûts. Imaginez un scénario où la machine virtuelle ne démarre qu’au moment où l’utilisateur en a besoin, par exemple durant les heures des jours de la semaine.
Important : à noter que le démarrage d’une machine virtuelle dépend aussi des ressources disponibles dans le datacenter Azure où elle se situe. Ce point de détail a pu être épineux, par le passé, pour certaines tailles de machines exotiques.
Engagement, ou pas :
Comme indiqué plus haut, deux méthodes de facturations sont disponibles sur Azure. Prendre un engagement sur une machine virtuelle est une méthode pratique pour diminuer les coûts quand l’utilisation de la ressource est en 24/7.
Comment fonctionne une instance réservée ?
Il faut voir une instance réservée Azure comme une place de parking, louée pour une durée d’un ou trois ans auprès de Microsoft :
L’instance réservée est une méthode d’engagement historique, elle a depuis été complétée avec le Plan d’économies, disponible depuis quelques mois :
Disque de stockage :
Le stockage de données est un élément indispensable pour une machine virtuelle Azure. Il s’agit d’un coût que l’on paye en permanence, même si la machine virtuelle est éteinte. La taille, la SLA et les performances des disques sont des vecteurs de coûts et donc d’économies potentielles.
Quatre niveaux de disque sont actuellement disponibles sure Azure :
- Standard HDD
- Standard SDD
- Premium SSD v1/v2
- Ultra disk
L’économie va alors dépendre des besoins : une taille de disque adaptée, des performances suffisantes vous permettrons de répondre au mieux à ces derniers et donc de réduire les coûts :
Quelques remarques :
- La taille du disque dépendra de la taille de l’image ou de la partition. Il n’est pas possible de choisir une taille plus petite que l’image.
- Certains niveaux de disques n’incluent pas les coûts liés au volume de transaction dans le prix de base. Il faut donc en tenir compte dans le calcul de coût du stockage.
- Le meilleur prix final, et donc la meilleure économie possible, peut reposer sur l’achat de disque plus cher pour ne pas payer un gros et coûteux volume de transactions.
- Le changement de niveau de disque est possible au démarrage de la machine virtuelle via le portail Azure ou avec la mise en place d’un script.
Le réseau :
Inutile de se le cacher, la tarification du réseau d’Azure n’est pas simple. Azure considère un transfert de données et son prix change en fonction de sa destination :
Interne à la région Azure : transfert de données entre deux ressources d’une même région Azure. Dans ce scénario, le coût du traffic est nul, pour la plupart des cas :
A noter que le peering de réseaux virtuels, d’une même région Azure ou non, n’est pas gratuit.
Entre deux régions Azure : certains architectures Cloud sont réparties sur plusieurs régions Azure afin de disposer les ressources au plus près des utilisateurs. Tous les mois, les 5 premiers gigas de transfert de données inter-région sont gratuits :
Vers le réseau internet : tous les mois, les 100 premiers gigas de transfert de données vers internet sont gratuits :
Comme pour toute ressource Azure mise en réseau, une machine virtuelle communique via 2 types de flux :
- Entrant : connexions entrantes, comme un accès RDP distant ou encore un service web accessible en local ou sur internet. Les flux réseaux entrants vers Azure ne génèrent pas de coûts.
- Sortant : connexions sortantes, comme un accès RDP distant ou lors d’un téléversement de fichiers. Les flux réseaux sortant d’Azure génèrent des coûts si la destination est en dehors du réseau Microsoft ou sur une autre région Azure.
Licences logicielles :
La majorité des machines virtuelles vont fonctionner sur Windows ou Linux. Bien souvent, un système d’exploitation nécessite de disposer d’une licence. Microsoft propose donc de payer cette licence uniquement quand la machine est démarrée.
Vous retrouvez ce détail personnalisable dans le Calculateur de prix Azure :
Deux facteurs existent sur le prix de la licence en PAYG :
- Le coût de licence va dépendre du nombre de coeurs.
- Un nombre d’heures moins important fera baisser le montant du coût de licence.
Qu’est-ce qu’Azure Hybrid Benefit ?
Azure Hybrid Benefit est un avantage en matière de licences qui vous permet de réduire considérablement les coûts d’exécution de vos charges de travail dans le cloud. Son fonctionnement consiste à vous autoriser à utiliser vos licences Windows Server et SQL Server compatibles sur Azure.
L’activation de cette fonction est faisable pendant ou après la création de la machine virtuelle en quelques clics :
Vous pouvez acheter des licences en souscription annuelle ou pluriannuelle. Les économies réalisées représentent des sommes non négligeables.
Enfin, il ne faudra pas oublier d’autres coûts annexes comme la sauvegarde de données, la sauvegarde de logs ou de métriques, ou encore la mise en place d’un service de reprise après sinistre, qui seront rattachés à différents services Azure.
Conclusion
La tarification d’un hébergeur Cloud peut sembler complexe, mais une prédiction des coûts est possible grâce à l’utilisation du Calculateur de prix Azure. La documentation Azure est aussi là pour mieux comprendre les différences entre les SKU et leurs politiques tarifaires.
Enfin, je conseille également un suivi de la consommation post-déploiement via le Gestionnaire des coûts Azure afin de comparer votre prévision avec la réalité, et donc d’améliorer vos estimations futures.