Apprenons les principes de base d'AWS Lambda et comment exécuter une fonction étape par étape.

Introduction

Lorsque vous créez des applications, vous voulez qu'elles offrent une excellente expérience utilisateur. Pour que la magie opère, votre application a besoin d'un code backend qui s'exécute en réponse aux événements.

Mais pour gérer l'infrastructure pour héberger et exécuter le code backend, vous devez dimensionner, provisionner et mettre à l'échelle un tas de serveurs, gérer les mises à jour du système d'exploitation, appliquer des correctifs de sécurité, puis moniteur toute cette infrastructure pour la performance et la disponibilité.

Ne serait-il pas agréable de pouvoir se concentrer sur la création d'applications géniales sans avoir à se soucier de leur infrastructure ? C'est là qu'AWS Lambda entre en jeu.

What is AWS Lambda?

AWS Lambda est un service de calcul sans serveur qui vous permet d'exécuter votre code sans vous soucier de l'approvisionnement ou de la gestion d'un serveur. Vous pouvez exécuter votre application ou votre service de backend à l'aide d'AWS Lambda sans aucune administration. Il vous suffit de télécharger votre code sur Lambda, et il exécutera votre code, voire fera évoluer l'infrastructure avec une haute disponibilité.

Le code que vous exécutez sur AWS Lambda est appelé une fonction lambda. Actuellement, il prend en charge les langages de programmation suivants:

  • Java
  • Python
  • C#
  • Node.js
  • Go
  • PowerShell
  • Ruby

Il fournit également une API d'exécution qui peut être utilisée pour exécuter des fonctions écrites dans d'autres langages de programmation (natifs).

Pour travailler avec AWS Lambda, il n'y a qu'une seule condition préalable; vous devez avoir un compte sur AWS à partir duquel vous pouvez accéder à la console de gestion AWS.

Vous pouvez appeler Lambda est FaaS (Function-as-a-Service) par AWS.

AWS Lambda Features

Vous trouverez ci-dessous certaines des fonctionnalités importantes proposées par AWS Lambda:

  • AWS Lambda adapte facilement l'infrastructure sans aucune configuration supplémentaire. Cela réduit le travail opérationnel impliqué.
  • Il offre plusieurs options comme AWS S3, CloudWatch, DynamoDB, API Gateway, Kinesis, CodeCommit et bien d'autres pour déclencher un événement.
  • Vous n'avez pas besoin d'investir au départ. Vous ne payez que pour la mémoire utilisée par la fonction lambda et un coût minimal sur le nombre de requêtes donc rentable.
  • AWS Lambda est sécurisé. Il utilise AWS IAM pour définir tous les rôles et politiques de sécurité.
  • Il offre une tolérance aux pannes pour les services exécutant le code et la fonction. Vous n'avez pas à vous soucier de l'application en panne.

AWS Lambda Pricing

La tarification AWS Lambda dépend de la durée et de la mémoire utilisée par la fonction lambda que vous avez écrite. Le maximum que vous pouvez attribuer est de 3008 Mo de mémoire à une fonction lambda par incréments de 64 Mo. Vous trouverez ci-dessous un tableau de prix avec toutes les dalles de mémoire pendant 100 millisecondes.

Prix ​​AWS Lambda - Geekflare

How AWS Lambda Works?

aws lambda fonctionne - geekflare

  • Tout d'abord, vous créez une fonction et y ajoutez des informations de base, comme le langage de programmation à utiliser dans la fonction.
  • Ensuite, vous écrivez votre code sur l'éditeur lambda ou le téléchargez dans un langage de programmation pris en charge dans un fichier zip.
  • Une fois le code lambda téléchargé, le service gère toute la mise à l'échelle de la capacité, les correctifs et l'administration de l'infrastructure.
  • Pour exécuter le code, vous devez déclencher la fonction lambda avec un service AWS externe, qui peut appeler la fonction lambda. Par exemple, il peut s'agir d'un compartiment S3.
  • En quelques secondes, lambda sera prêt à déclencher votre fonction automatiquement lorsqu'un événement se produit. AWS Lambda exécute votre code lorsque l'événement déclencheur est appelé. Il provisionne gère et surveille les serveurs pour vous.
  • Si votre fonction nécessite beaucoup de puissance de traitement, elle choisira un type d'instance qui a plus de puissance de traitement et de RAM, ou bien si votre code lambda ne s'exécute que pendant deux secondes, elle sélectionnera l'instance la plus basse possible, ce qui économise votre argent et votre temps .

Voilà donc comment AWS Lambda fonctionne en interne. Laissez-moi vous montrer une démo sur AWS Lambda.

Creating AWS Lambda Function

Je vais créer un jeu très simple en utilisant la fonction lambda dans Node.js pour cet article. Je vais créer une fonction lambda pour lancer un dé, générer un nombre au hasard entre 1 et 6 et l'imprimer.

  • Accédez à la console de gestion AWS et dans le type de barre de recherche Lambda, cliquez sur Lambda.

lambda - geekflare

  • La fenêtre de fonction apparaîtra, cliquez sur Créer une fonction.

créer une fonction - geekflare

  • Vous obtiendrez différentes options pour créer une fonction avec leur explication. Puisque je le crée à partir de zéro, je vais sélectionner Auteur à partir de zéro.

auteur à partir de zéro - geekflare

  • Après cela, vous devez remplir certaines informations nécessaires pour cette fonction lambda. Entrez le nom de la fonction et sélectionnez la version Node.js que vous souhaitez utiliser pour cette fonction.
  • Vous devez également choisir un rôle d'exécution. Comme je n'ai aucun rôle existant défini dans mon compte AWS, je vais continuer et sélectionner créer une nouvelle option de rôle. Cliquez sur Créer une fonction.

Rollingdice - Geekflare

  • Vous recevrez un message de réussite indiquant que l'onction a été créée. Cliquez sur la fenêtre Designer pour la réduire.

fenêtre design - geekflare

  • Ensuite sera la fenêtre de code de fonction.
  • Mettez le code mentionné ci-dessous dans l'éditeur. Vous pouvez également télécharger le code à l'aide du fichier zip, mais j'utilise l'éditeur de code AWS interne.

code de fonction lambda - geekflare

  • C'est un code simple qui prend un nombre uniquement de 1 à 6 et utilise une fonction mathématique aléatoire pour générer un nombre au hasard et l'imprimer lorsque la fonction est appelée.
exports.handler = async (event) => {
const min = 1;
const max = 6;
const randomNum = Math.floor(Math.random() * (max - min + 1)) + min;
const out = 'Dice throw result is: ' + randomNum;
return out;
};
  • Cliquez maintenant sur le bouton Test dans le coin supérieur droit. Vous obtiendrez une fenêtre contextuelle pour configurer un événement de test, entrez un nom d'événement et cliquez sur configurer.

événement test

  • Cliquez maintenant sur Enregistrer, puis sur Test.

Dans le résultat de l'exécution, vous verrez la sortie de la logique de fonction que nous venons d'écrire. Il imprime - Le résultat du lancer de dés est 2.

tester

  • Faites défiler vers le haut et cliquez sur les résultats d'exécution détaillés pour obtenir le résumé complet de cette fonction lambda avec la sortie attendue. Des détails tels que le request-id, la durée, la durée facturée, les ressources configurées, etc. avec la sortie du journal sont également disponibles.

résultat de l'exécution

  • Cliquez sur l'onglet de surveillance pour visualiser le nuage watch logs et les performances de la fonction lambda sur une durée définie.

surveillance cloudwatch

  • Si vous entrez dans les journaux créés par CloudWatch, vous pouvez consulter les détails de ce qui s'est passé lors de l'exécution de la fonction lambda, qui a été surveillée par CloudWatch.

afficher les journaux cloudwatch - geekflare

Conclusion

Premiers pas avec Lambda c'est vraiment facile. Si votre application métier nécessite d'exécuter du code backend, vous pouvez envisager d'utiliser un plateforme sans serveur comme AWS Lambda.