Prix ​​et coĂ»ts sans serveur: AWS Lambda

Bonjour, Habr! J'essaie d'améliorer les traductions et je serai heureux de vos critiques.
(Remarque: les prix sont exacts en août 2018)

AWS Lambda propose 263 articles avec des Ă©tiquettes de prix uniques. Par exemple, ils peuvent ĂȘtre appelĂ©s «Accelerated InterRegion Inbound en utilisant des emplacements pĂ©riphĂ©riques en dehors des États-Unis, de l'Europe ou du Japon, de l'UE (Paris) Ă  l'UE (Londres)», et existent dans chacune des 17 rĂ©gions. Au total, ce sont 4 471 postes individuels qui peuvent vous ĂȘtre facturĂ©s lorsque vous terminez Lambda.

De plus, il y a 635 035 postes pour le service EC2, 12 261 pour Route53 et 15 283 pour la passerelle API. Au total, Amazon Web Services propose plus d'un million de tarifs individuels pour divers services. Leur politique de prix est si complexe qu'il existe toute une API juste pour vérifier les prix. Avec cela, j'ai obtenu ces chiffres (bien que Lambda ne soit pas inclus dans le calculateur de prix).

Les prix Lambda sont trĂšs simples: tout d'abord, le niveau gratuit pour le premier million de demandes est utilisĂ©, suivi d'un prix de 0,20 $ pour chaque million de demandes ultĂ©rieures, plus 0,00001667 $ pour les Go-secondes de «temps de calcul» utilisĂ©es au cours du mois, au-delĂ  de ce qui coĂ»te Gateway API (3,50 $ par million de requĂȘtes) pour envoyer des requĂȘtes HTTP Ă  Lambda. Vous serez Ă©galement facturĂ© pour tout transfert de donnĂ©es de votre Lambda (0,09 $ par Go), ainsi que pour toute requĂȘte vers Dynamo DB.

Qu'est-ce que le «temps de calcul»?


Nous avons constaté que 0,00001667 $ est payé par Go-seconde de temps de calcul Lambda. Gb-second est une unité un peu étrange, vous ne trouvez pas? Cela peut signifier le nombre de secondes lorsque vous utilisez 1 Go de mémoire, mais en fait, c'est le nombre de secondes lorsque les calculs ont été effectués, multiplié par le nombre de Go alloué pour ces calculs.

Pour ceux qui n'aiment pas les microcentres comme unité de mesure, j'ai rassemblé les chiffres dans un diagramme qui montre combien de mémoire et de temps processeur vous obtenez pour 1-6 dollars par million de demandes:

image

Amazon publie des prix qui n'incluent pas de frais de base de 0,20 $, mais je l'ai inclus dans mes calculs.

Et qu'est-ce qu'une milliseconde de temps processeur? Le calcul en millisecondes sur Apple II reprĂ©sentait 3 000 cycles de processeur. Sur mon ordinateur portable Intel i7, c'est 4 millions de cycles. Dans le cas d'Amazon, ils augmentent la vitesse du processeur en fonction de la quantitĂ© de mĂ©moire que vous utilisez. En d'autres termes, votre performance est la mĂ©moire * temps de cycle CPU , oĂč le temps de cycle CPU diminue, proportionnellement Ă  la mĂ©moire utilisĂ©e. Cette accĂ©lĂ©ration du processeur se poursuit jusqu'Ă  Ă©puisement des ressources d'un cƓur de processeur, aprĂšs quoi vous disposez des ressources du deuxiĂšme cƓur, qui peuvent ĂȘtre utiles ou pas du tout utilisĂ©es, selon la construction de votre application.

Avec ces détails à l'esprit, j'ai ajusté le graphique pour montrer combien de temps CPU réel vous obtenez. Je me suis concentré sur les processeurs de serveur habituels que nous avons utilisés dans les tests comparatifs.

image

Comme vous pouvez le voir sur le diagramme, peu importe que vous exĂ©cutiez Lambda Ă  partir de 1024 Mo pendant 100 ms ou de 128 Mo pour 800 ms, vous obtenez le mĂȘme nombre de calculs et payez le mĂȘme. Plus de 1024 Mo, vous obtenez les performances d'un cƓur de processeur et commencez Ă  recevoir la puissance du second cƓur (si votre application est multithread et peut l'utiliser).

Arrondi


De plus, le temps processeur est arrondi Ă  la centaine de ms prĂšs, ce qui signifie que mĂȘme un lambda simple qui renvoie l'heure actuelle dans nos tests nous coĂ»te 0,41 $ / million d'appels. Bien sĂ»r, votre Lambda fonctionnera rarement le nombre exact de millisecondes qui est un multiple de 100. Plus souvent, vous utiliserez une certaine quantitĂ© de ms qu'Amazon arrondira pour calculer combien vous paierez. Étant donnĂ© qu'ils sont toujours arrondis, cela signifie que vous paierez en moyenne 50 ms de CPU pour chaque appel:

image

Passerelle API


AWS Lambda peut effectuer diverses tĂąches dans Amazon. Mais tout d'abord, ils nous intĂ©ressent pour crĂ©er des applications web sans serveur. Et Ă  cette fin, lambda ne peut pas ĂȘtre utilisĂ© directement, car il a besoin d'une sorte de serveur HTTP capable de convertir la demande en API Lambda d'appel. La façon la plus simple de procĂ©der consiste Ă  utiliser l'API Amazon Gateway.

Le coĂ»t d'API Gateway est de 3,50 $ par million de demandes, ce qui dĂ©passe souvent le coĂ»t de Lambda lui-mĂȘme. Voici notre graphique ci-dessus, mais ajustĂ© pour API Gateway:
image

Vous remarquerez que les lignes de 1, 2 et 3 dollars ont disparu du graphique. Le minimum absolu est de 3,91 $ / million de requĂȘtes, en supposant que votre Lambda consomme trĂšs peu de CPU.
Vous devrez également payer pour le trafic et des frais horaires supplémentaires si vous souhaitez utiliser la mise en cache.

Route 53


Amazon Route53 DNS n'est pas non plus gratuit. Dans le premier milliard de requĂȘtes, le coĂ»t est de 0,40 $ par million de requĂȘtes DNS. Cela porte notre coĂ»t minimum total Ă  4,31 $ / million.

Plus de dépenses


Le calcul de tous les coĂ»ts peut ĂȘtre fastidieux. Les journaux CloudWatch coĂ»tent 0,50 $ par Go. Dans le mĂȘme temps, 0,09 $ par Go de trafic affectera considĂ©rablement le compte.

Lambda @ Edge


Amazon offre un moyen d'exécuter du code via le service Cloudfront CDN. Les coûts constants et variables sont trois fois plus élevés que les Lambda conventionnels.

Pour utiliser Lambda @ Edge pour les requĂȘtes HTTPS, vous devez d'abord acheter Cloudfront pour 1 $ / million de requĂȘtes. Vous payez Ă©galement pour la bande passante, qui peut facilement devenir le principal poste de dĂ©penses. Si votre site prend 1 Mo, vous finirez par payer jusqu'Ă  85 $ / million pour la bande passante Cloudfront uniquement, ou 250 $ pour des rĂ©gions comme l'AmĂ©rique du Sud. Plus 20 $ / million de demandes supplĂ©mentaires qui doivent ĂȘtre retournĂ©es Ă  l'expĂ©diteur.

Voici combien vous devez finalement payer uniquement pour les calculs Lambda @ Edge:

image

Source: https://habr.com/ru/post/fr481664/


All Articles