Services Web Amazon - Lambda

AWS Lambda est un service cloud réactif qui inspecte les actions au sein de l'application et répond en déployant les codes définis par l'utilisateur, appelés functions. Il gère automatiquement les ressources de calcul sur plusieurs zones de disponibilité et les met à l'échelle lorsque de nouvelles actions sont déclenchées.

AWS Lambda prend en charge le code écrit en Java, Python et Node.js, et le service peut lancer des processus dans des langages pris en charge par Amazon Linux (inclut Bash, Go et Ruby).

Voici quelques conseils recommandés lors de l'utilisation d'AWS Lambda.

  • Écrivez votre code de fonction Lambda dans un style sans état.

  • Ne déclarez jamais aucune variable de fonction en dehors de la portée du gestionnaire.

  • Assurez-vous d'avoir un ensemble de + rx permissions sur vos fichiers dans le fichier ZIP téléchargé pour vous assurer que Lambda peut exécuter le code en votre nom.

  • Supprimez les anciennes fonctions Lambda lorsqu'elles ne sont plus nécessaires.

Comment configurer AWS Lambda?

Suivez ces étapes pour configurer AWS Lambda pour la première fois.

Step 1 - Connectez-vous au compte AWS.

Step 2 - Sélectionnez Lambda dans la section Services AWS.

Step 3 - Sélectionnez un plan (facultatif) et cliquez sur le bouton Ignorer.

Step 4 - Fournissez les détails nécessaires pour créer un Lambda functioncomme indiqué dans la capture d'écran suivante et collez le code Node.js qui sera déclenché automatiquement chaque fois qu'un nouvel élément est ajouté dans DynamoDB. Sélectionnez toutes les autorisations requises.

Step 5 - Cliquez sur le bouton Suivant et vérifiez vos coordonnées.

Step 6 - Cliquez sur le bouton Créer une fonction.

Désormais, lorsque nous sélectionnons le service Lambda et que nous sélectionnons l'onglet Sources d'événements, il n'y aura aucun enregistrement. Ajoutez au moins une source à la fonction Lambda pour qu'elle fonctionne. Ici, nous y ajoutons DynamoDB Table.

Nous avons créé une table à l'aide de DynamoDB (nous en discuterons en détail dans le chapitre DynamoDB).

Step 7 - Sélectionnez l'onglet Flux et associez-le à la fonction Lambda.

Vous verrez cette entrée dans l'onglet Sources d'événements de la page Service Lambda.

Step 8- Ajoutez quelques entrées dans le tableau. Lorsque l'entrée est ajoutée et enregistrée, le service Lambda doit déclencher la fonction. Il peut être vérifié à l'aide des journaux Lambda.

Step 9- Pour afficher les journaux, sélectionnez le service Lambda et cliquez sur l'onglet Surveillance. Cliquez ensuite sur Afficher les journaux dans CloudWatch.

Avantages d'AWS Lambda

Voici quelques-uns des avantages de l'utilisation des tâches Lambda:

  • Les tâches Lambda n'ont pas besoin d'être enregistrées comme les types d'activité Amazon SWF.

  • Nous pouvons utiliser toutes les fonctions Lambda existantes que vous avez déjà définies dans les workflows.

  • Les fonctions Lambda sont appelées directement par Amazon SWF; il n'est pas nécessaire de concevoir un programme pour les implémenter et les exécuter.

  • Lambda nous fournit les métriques et les journaux pour suivre les exécutions de fonctions.

Limites AWS Lambda

Voici les trois types de limites Lambda.

Limite d'accélération

La limite de limitation est de 100 exécutions de fonctions Lambda simultanées par compte et est appliquée au total des exécutions simultanées sur toutes les fonctions d'une même région.

La formule pour calculer le nombre d'exécutions simultanées pour une fonction = (durée moyenne de l'exécution de la fonction) X (nombre de demandes ou d'événements traités par AWS Lambda).

Lorsque la limite d'accélération est atteinte, il renvoie une erreur d'étranglement ayant un code d'erreur 429. Après 15-30 minutes, vous pouvez recommencer à travailler. La limite d'accélération peut être augmentée en contactant le centre de support AWS.

Limite de ressources

Le tableau suivant présente la liste des limites de ressources pour une fonction Lambda.

Ressource Limite par défaut
Capacité du disque éphémère (espace "/ tmp") 512 Mo
Nombre de descripteurs de fichiers 1 024
Nombre de processus et de threads (total combiné) 1 024
Durée maximale d'exécution par requête 300 secondes
Appeler la taille de la charge utile du corps de la requête 6 Mo
Invoquer la taille de la charge utile du corps de réponse 6 Mo

Limite de service

Le tableau suivant présente la liste des limites de services pour le déploiement d'une fonction Lambda.

Article Limite par défaut
Taille du package de déploiement de la fonction Lambda (fichier .zip / .jar) 50 Mo
Taille du code / des dépendances que vous pouvez compresser dans un package de déploiement (taille zip / jar non compressé) 250 Mo
Taille totale de tous les packages de déploiement pouvant être téléchargés par région 1,5 Go
Nombre de sources d'événements uniques du type de source d'événements planifiés par compte 50
Nombre de fonctions Lambda uniques que vous pouvez connecter à chaque événement planifié 5

Pour la dernière mise à jour de la structure des limites et plus d'informations, visitez - https://docs.aws.amazon.com/lambda/latest/dg/limits.html/