La puissance de calcul (compute) est à la base du Cloud. La performance des services Cloud AWS n’est plus à démontrer : Amazon fournit des produits de grandes qualités, adaptés aux besoins de la plupart des entreprises, sans distinctions de secteur ou de taille.
Comme souvent, ce qui interpelle dans les services Cloud, c’est le flou entourant le modèle de facturation. Voici un article complet pour vous permettre de mieux comprendre la tarification des produits compute AWS. Nous allons évoquer les produits les uns après les autres pour vous proposer une vision à 360° des spécificités tarifaires d’AWS.
Pour vous permettre de naviguer plus simplement, voici le sommaire de cet article :
1 – La tarification d’Amazon EC2
2 – La tarification d’AWS Lambda
3 – La tarification d’Amazon ECS
4 – La tarification d’Amazon ECR
5 – La tarification d’Amazon EKS
6 – La tarification d’Amazon Lightsail
7 – Les outils gratuits de la gamme compute AWS
1 – La tarification d’Amazon EC2
Amazon EC2 est un des produits phares de l’offre AWS. Amazon EC2 est un service de machine virtuelle permettant aux entreprises de bénéficier d’une puissance de calcul sécurisée et flexible, le tout avec une simplicité déconcertante et une instantanéité propre aux services Cloud.
Paradoxalement, la tarification d’Amazon EC2 est beaucoup moins fluide que ce que promet AWS. Essayons d’y voir plus clair.
Les instances EC2 sont disponibles selon les 4 grands modèles de facturation AWS :
La facturation à la demande
C’est le B-A-BA de la tarification AWS : vous payez uniquement ce que vous consommez, en temps réel. Simple et efficace. Enfin, en principe. Ce serait vraiment simple si la tarification n’était pas si variable. Les critères de variabilité principaux : le système d’exploitation, la configuration technique de l’instance (le nombre de vCPU, les Go de RAM, le type de stockage…) et la région de déploiement.
La (très) large gamme d’instances proposées permet de couvrir un champ d’application quasi infini. Vous pouvez opter pour des instances plutôt orientées calcul, ou plutôt orientées stockage, machine learning, etc…
La facturation « on-demand » est adaptée aux équipes de développement à la recherche d’une vraie flexibilité, aux applications générant des pics de trafic difficilement anticipables ou des workloads ne pouvant pas être interrompus de manière fortuite.
La réservation d’instances
La réservation d’instances AWS EC2 est une pratique bien connue des utilisateurs d’AWS. Comme nous vous l’avons déjà présenté dans cet article, la réservation d’instances vous permet d’anticiper votre consommation de ressources Cloud et de bénéficier de réductions très intéressantes sur votre facturation. L’engagement porte sur 1 ou 3 ans et vous bénéficiez d’un tarif pouvant aller jusqu’à -75% par rapport au prix initial (en théorie, évidemment).
Les instances EC2 réservées sont adaptées aux utilisations très linéaires et aux utilisateurs ayant besoin d’une vraie stabilité sur le moyen ou long terme. L’intérêt est essentiellement d’établir une projection dans le temps, d’établir un budget plus précis et de réduire l’impact de la variabilité des dépenses sur votre facture AWS.
Les Saving Plans
À l’instar des instances réservées, les Saving Plans sont un moyen efficace d’anticiper votre budget Cloud et de limiter l’incertitude liée à une trop grande variabilité des dépenses. Concrètement, les Saving Plans s’apparentent à de la réservation d’instances améliorée. Le plus ? La flexibilité supplémentaire vis-à-vis des familles d’instances, de la taille, de l’OS ou de la région. Concrètement, si vous consommez actuellement des Instances Réservées, nous vous conseillons de migrer progressivement vers les Saving Plans.
Comme les instances réservées, les Saving Plans permettent de réserver de la puissance de calcul à l’avance, pour la même durée : 1 ou 3 ans. Les réductions sont équivalentes et vous permettent d’économiser jusqu’à 72% par rapport aux instances on-demand.
Si vous souhaitez en savoir plus sur comment introduire les Saving Plans dans votre stratégie Cloud, nous vous avons préparer quelques conseils sur cet article.
Les instances Spot
Les instances Spot EC2 permettent aux utilisateurs d’AWS de profiter de la puissance de calcul non utilisée dans le Cloud AWS. C’est une sorte de recyclage du « compute » disponible. L’avantage des instances Spot, c’est les pourcentages de réduction incomparables avec les autres types de facturation. Profitez de discount pouvant aller jusqu’à -90% par rapport aux tarifs on-demand.
A noter cependant que les instances Spot ne sont pas adaptées à toutes les utilisations. Elles sont réservées aux applications ayant des périodes de début et de fin flexibles, aux utilisateurs ayant des besoins urgents pour une grande part de capacité de calcul additionnel et pour les applications statiques et tolérantes aux pannes. Exemple : l’entrainement d’un modèle de Machine Learning est un bon cas d’usage.
Les instances dédiées
Les instances dédiées permettent aux utilisateurs AWS de profiter d’un hardware propre et dédié aux performances de l’application concernée. Concrètement, c’est un serveur EC2 physique réservé à votre propre utilisation. Une réduction des coûts est possible via l’utilisation de vos licences logiciels existantes (Windows Server, SQL Server, SUSE Linux Enterprise Server). Vous pouvez à la fois profiter des instances dédiées en facturation à la demande ou via le système de réservation.
2 – La tarification d’Amazon Lambda
AWS Lambda fait également partie des services les plus utilisés par les développeurs web consommateurs du Cloud AWS. Pour ceux qui ne connaissent pas ce service, et pour faire assez simple, AWS Lambda vous permet de déployer du code sans se soucier de la gestion des serveurs (modèle serverless). L’avantage de Lambda, c’est donc avant tout la flexibilité et la fluidité apportée aux équipes de développement.
D’un point de vue tarification, AWS Lambda repose uniquement sur le paiement à l’usage. Vous payez uniquement en fonction de l’utilisation que vous faites du service. À noter : l’offre « Free Tier » d’AWS vous permet de bénéficier de 1 millions de requêtes offertes. De quoi prendre découvrir le service sereinement. Deux éléments entrent en compte dans la facturation AWS Lambda : le nombre de requêtes et la durée d’exécution du code.
1 – Le nombre de requêtes effectuées sur vos fonctions
Une requête correspond à une notification d’événement ou un appel de demande sur la fonction.
Le prix par requête varie en fonction des régions, mais il n’existe que peu de variantes. Toutes les régions USA, Canada, UE, Asie-Pacifique et Amérique du Sud sont calqués sur un prix similaire. Seuls les régions Asie-Pacifique (Hong-Kong) et Moyen Orient (Bahrein) sont calquées sur un pricing plus élevé.
2 – La durée d’exécution du code
La durée est calculée à partir du moment où l’exécution se
lance, jusqu’au moment où elle se termine, arrondi à 100ms prés.
La tarification de la durée varie en fonction de la quantité de mémoire que vous attribuez à votre fonction et de la région dans laquelle vous déployez votre fonction. Evidemment, libre à vous de définir vos besoins et d’analyser le budget nécessaire au déploiement d’une votre instance AWS Lambda.
Finalement, cette tarification vous offre la possibilité d’optimiser votre stratégie en fonction de vos besoins. Nous vous conseillons de calculer le meilleur rapport besoin/prix en prenant en compte ces deux aspects : est-il plus intéressant pour vous de regrouper vos fonctions en augmentant la durée d’exécution, ou à l’inverse, de diviser vos requêtes au maximum pour vous permettre de réduire l’impact de la durée sur votre facturation.
Le cas de la simultanéité allouée
AWS Lambda offre désormais une option supplémentaire : la simultanéité allouée. Concrètement, AWS offre la possibilité de réserver des environnements d’exécution prêts à être lancés pour optimiser les temps de réponse de vos fonctions hébergées dans le Cloud. En effet, les fonctions Lambda nécessitent un certain temps de préchauffage, qui peut parfois poser des problèmes de latence pour certains utilisateurs. Nous évoquions d’ailleurs le sujet dans un article complet que vous trouverez juste ici !
Évidemment, ce n’est pas offert par la maison. La simultanéité allouée est facturée en fonction de la capacité réservée et de la durée pour laquelle vous la configurez. Fort logiquement, vous payez également pour les requêtes et la durée, sur le modèle que l’on vous a présenté ci-dessus. En plus de toute cela, le prix de cette simultanéité allouée varie en fonction des régions, avec beaucoup plus de flexibilité que pour les instances Lambda classiques. Difficile de s’y retrouver, n’est-ce pas ?
Si on récapitule, cela ajoute donc une ligne supplémentaire à votre facture. Intéressant, si vous en avez réellement besoin. Essentiellement pour les utilisateurs ayant besoin d’une réactivité optimale pour l’expérience de leurs utilisateurs, donc. Pour les autres, nul besoin de rajouter du flou à un service déjà bien difficile à cerner.
Les transferts de données
Comment souvent dans le Cloud, les transferts de données sont facturés. Rien de bien surprenant pour AWS Lambda, qui reprend le système de base des data transfers AWS : les transferts de données entrants sont gratuits, idem pour les transferts de données entre deux services de la même région. Les transferts de données sortants sont facturés en fonction d’un taux défini par AWS et variable selon les régions.
A noter que les transferts de données entre les services
Amazon S3, Amazon SQS, Amazon DynamoDB, Amazon Kinesis , Amazon Glacier, Amazon
ECR, Amazon SES, Amazon SNS ou Amazon Simple DB et les fonctions Amazon Lambda,
au cœur de la même région AWS, sont gratuits.
Enfin, pour finir de vous convaincre de la complexité de la facturation Lambda, notez qu’il est possible de faire face à des coûts supplémentaires, liés à l’utilisation d’autres services AWS (ex : besoin de stockage AWS S3). Dans ce cas, des frais complémentaires peuvent apparaître sur votre facture et il sera nécessaire de les prendre en compte en amont.
3 – La tarification d’Amazon ECS
Le service Amazon ECS (Elastic Container Service) permet l’orchestration de conteneurs. Ce service permet l’exécution, l’arrêt et la gestion simplifiée de conteneurs Docker dans un cluster. Il est notamment compatible avec AWS Fargate, le service de calcul serverless. Cela permet donc d’éviter le provisionnement et la gestion des serveurs et de simplifier le travail des développeurs.
La tarification d’Amazon ECS est bien spécifique et repose sur deux modèles : le modèle de type lancement Fargate et le modèle de type lancement EC2. Chacun de ces modèles de facturation dépend en réalité du service associé.
3.A – Le modèle de type lancement Fargate
Avec ce modèle de lancement via Fargate, la facturation dépend de la quantité de vCPU sélectionnée et de la mémoire utilisée par l’application exécutée en conteneurs. Le vCPU et la mémoire sont calculés dés lors que les images du conteneur sont extraites, et ce jusqu’à la fin de la tâche (arrondi à la seconde près). Vous n’avez pas la possibilité de définir une quantité de vCPU ou de mémoire de manière précise : Fargate fait son propre calcul en fonction de votre demande.
3.B – Le modèle de type lancement Amazon EC2
Avec le modèle de lancement via Amazon EC2, vous n’avez aucuns frais supplémentaires à engager. Vous payez simplement les instances EC2 sur le principe de la tarification AWS EC2, ou le stockage EBS, de manière classique. Vous pouvez donc profiter de la réservation d’instances, des instances spots, des Saving Plans ou des instances dédiées propres à Amazon EC2.
Il est également possible de déployer Amazon ECS dans un Outpost. Vous serez heureux de noter que la tarification est exactement la même pour que pour un lancement via EC2. Soulagés ?
4 – La tarification d’Amazon ECR
Amazon ECR (Elastic Container Registry) est un service permettant aux développeurs de stocker, gérer et déployer des images de conteneur Docker en toute simplicité afin de gagner du temps. Concrètement, c’est une solution utile pour déployer des conteneurs Docker rapidement et efficacement. Une sorte de grande bibliothèque de conteneurs.
En matière de tarification, Amazon ECR est plutôt avantageux car il est disponible sans frais initiaux, ni engagement. Vous payez uniquement la quantité de données stockées et le volume de données transférées vers Internet.
Les frais de stockage s’élèvent à 0.10$ par Go et par mois. Un prix fixe, pour une fois. Les transferts de données entrantes sont gratuits. Les transferts de données sortantes sont facturés avec un prix variable en fonction des régions. À noter que le prix varie simplement dans les régions Asie-Pacifique, Moyen-Orient et Amérique du Sud. Les prix dans les régions USA, Europe et Canada sont les mêmes.
Il est également important de noter qu’Amazon ECR propose un niveau gratuit aux nouveaux clients. Pendant un an, après votre inscription, vous pouvez bénéficier de 500 Mo de stockage offerts par mois. Une offre qui aidera la plupart d’entre vous à y voir plus clair.
5 – La tarification d’Amazon EKS
Amazon EKS (Elastic Kubernetes Service) est un produit assez proche d’Amazon ECS, dédié à l’orchestration et au déploiement de containers. Il est adapté aux applications sensibles et critiques, avec des hauts besoins en sécurité, fiabilité et évolutivité.
La tarification repose, pour une fois, sur un principe assez simple : vous payez 0.010$ par heure pour chaque cluster Amazon EKS créé. AWS EKS est exécutable via Amazon EC2 et AWS Fargate. La tarification dépend donc de la tarification relative à ces deux services :
- Amazon Fargate : vous payez uniquement les vCPU et la mémoire utilisée, à partir du moment où vous commencez à télécharger votre image de conteneur Kubernetes
- Amazon EC2 : vous payez vos instances en fonction du mode de facturation sélectionné (on-demand, instances réservées, Saving Plans, instances spot ou instances dédiées), sans oublier le coût du stockage
6 – La tarification d’Amazon Lightsail
Amazon Lightsail est un service simplifié permettant aux développeurs de se concentrer sur le code en oubliant la facture. Belle promesse non ?
Effectivement, c’est un fait : la tarification est réellement simplifiée. Vous choisissez votre environnement Linux ou Windows, puis une des configurations préformatées par Amazon. Chaque configuration vous coûte un prix défini par un forfait fixe, rien de plus simple. On aimerait que tout soit si intuitif. Bien évidemment, Amazon Lightsail est un service bien moins flexible en matière de configuration et il n’est donc pas adapté à toutes les utilisations. En effet, Amazon Lightsail est une offre très standardisée.
Attention, une particularité peut tout de même subsister : les transferts de données dépassant le taux indiqué dans votre forfait entraineront des frais de dépassement.
7 – Les outils gratuits liés à la puissance calcul AWS
Dans la gamme « compute », Amazon Web Services propose plusieurs services gratuits fonctionnant avec l’aide des services de référence de la gamme, comme Amazon EC2, AWS Fargate ou AWS Lambda par exemple.
AWS Batch
AWS Batch est un outil permettant aux utilisateurs AWS d’exécuter des centaines de milliers de tâches de calcul par lot sur AWS. C’est un service qui a l’avantage d’être totalement géré et intégré dans Amazon, ce qui vous évite de passer par un logiciel tiers ou des solutions Open Source. AWS Batch n’inclut aucuns frais supplémentaires : vous ne payez que les instances EC2 ou les fonctions Lambda que vous utilisez lors de vos déploiements par lots.
AWS Elastic Beanstalk
AWS Elastic Beanstalk vous permet de déployer et mettre à l’échelle des applications ou services web développés sur Java, .NET, PHP, Node.js, Python, Ruby, Go et Docker, sur des serveurs de type Apache, Nginx, Passenger et IIS. Ce service vous offre une grande rapidité d’exécution et une vraie simplicité de déploiement. Comme pour AWS Batch, AWS Elastic Beanstalk est disponible sans frais supplémentaires.
AWS Image Builder
Enfin, AWS Image Builder est un service vous permettant de simplifier la création, la maintenance, la validation, le partage et le déploiement d’images Linux ou Windows Server pour leur exécution sur Amazon EC2. Sur le même principe que les deux services précédemment citées, AWS Image Builder n’induit aucuns frais complémentaires.
Conclusion
Difficile de s’y retrouver, n’est-ce pas ? Nous espérons tout de même que cet article vous a aidé à mieux comprendre la tarification de la gamme Compute sur AWS. Etant donné qu’il est difficile de retenir toutes ces informations en une seule lecture, nous vous conseillons de conserver ce référentiel dans vos favoris, afin de le consulter dès que vous souhaitez en savoir plus sur la tarification d’un des produits de la gamme Compute AWS. Pour résumer, voici un tableau des différentes informations essentielles à retenir pour chaque service évoqué au cours de l’article :
Si vous souhaitez aller plus loin, nous avons réalisé plusieurs articles sur les grandes familles de produits AWS.
1 – Comment fonctionne la tarification AWS ?
2 – La tarification du stockage chez AWS