Share:

Vous pensez que vos fonctions Lambda ont le temps de réaction d’un félin? Alors ceci devrait vous intéresser. AWS Lambda est un outil merveilleux pour toutes les entreprises qui ont pris le virage du serverless, vous pouvez exécuter du code sans provisionner ou gérer des serveurs, et vous ne payez que ce que vous utilisez. Depuis le lancement de AWS Lambda en 2014, AWS vous facture pour le nombre de fois où votre code est déclenché (requêtes) et pour le temps d’exécution de votre code, arrondi aux 100 ms les plus proches (durée).

À partir d’aujourd’hui (01/12/2020), AWS arrondi la durée à la milliseconde la plus proche, sans temps d’exécution minimum.

Avec cette nouvelle tarification, vous allez payer moins la plupart du temps, mais cela sera plus visible lorsque vous avez des fonctions dont le temps d’exécution est bien inférieur à 100 ms, comme le backend qu’utilisent une API par exemple.

Examinons une application Web simple. Dans les journaux Amazon CloudWatch, pour chaque appel, il existe une ligne REPORT.

Avec une granularité de facturation de 1 ms qui devient:

Mon application n’a pas beaucoup de trafic, alors faisons un scénario de production simple. Disons que j’ai 100 000 utilisateurs pour une application Web / mobile. Je m’attends à ce que chaque utilisateur appelle cette fonction via l’application Web / mobile environ 100 fois par jour. La durée de ces invocations est en moyenne de 28 ms. Chaque mois, je devrais m’attendre à:

100 000 utilisateurs * 100 appels * 30 jours = 300 millions d’appels.
Estimons les coûts dans la région Paris. Pour simplifier, je n’envisage pas le niveau gratuit Lambda.

Les frais de demande mensuels Lambda restent inchangés:

300 millions d’appels * 0,60 USD par million de demandes = 84 USD
À cela, je dois ajouter des frais de calcul basés sur la durée.

Les frais de calcul mensuels Lambda avec l’ancien prix arrondi de 100 ms auraient été:

300 millions d’appels * 100 ms * 1 Go de mémoire * 0,0000166667 USD pour chaque Go-seconde = 500 USD
Avec la nouvelle granularité de facturation de 1 ms, les coûts de durée sont:

300 millions d’appels * 28 ms * 1 Go de mémoire * 0,0000166667 USD pour chaque Go-seconde = 140 USD
Pour ce scénario, les coûts globaux, y compris les frais de demande et de calcul, sont beaucoup moins chers (140 USD) qu’auparavant (500 USD).

Avec cette tarification, il y a désormais plus d’incitation à optimiser la durée des fonctions même si elle est déjà bien en dessous de 100ms. Vos efforts d’ingénierie peuvent réduire encore plus les coûts.

This post was originally available on Medium on 01/12/2020.