Didacticiel AWS Lambda: Votre guide de l'informatique sans serveur Amazon

Ce didacticiel AWS Lambda décrit la plate-forme de calcul sans serveur d'AWS couvrant des détails sur la fonction Lambda, la source d'événement et la tarification Lambda avec un cas d'utilisation.

Tutoriel AWS Lambda

Aujourd'hui, nous allons parler d'AWS Lambda. AWS Lambda est un service de calcul proposé par Amazon. Vous devez être curieux car il existe plusieurs autres services de calcul d'AWS, tels que AWS EC2, AWS Elastic Beanstalk, AWS Opsworks, etc., alors pourquoi un autre service de calcul? Dans ce didacticiel AWS Lambda, vous découvrirez ce qu'est AWS Lambda, pourquoi il est utilisé et dans quels cas d'utilisation vous devez l'envisager.



Voyons comment Amazon définit AWS Lambda, puis nous allons approfondir les concepts clés, comprendre un cas d'utilisation avec une expérience pratique à la fin.



Calcul sans serveur Lambda - Tutoriel AWS Lambda

Qu'est-ce qu'AWS Lambda?

Amazon explique, AWS Lambda (& lambda) en tant que service de calcul `` sans serveur '', ce qui signifie que les développeurs n'ont pas à se soucier des ressources AWS à lancer, ou comment les géreront-ils, ils mettent simplement le code sur lambda et il s'exécute , c'est si simple! Cela vous aide à vous concentrer sur la compétence de base, c'est-à-dire la création d'applications ou le code.



Où utiliser AWS Lambda?

AWS Lambda exécute votre code backend, en gérant automatiquement les ressources AWS. Lorsque nous disons «gérer», cela inclut le lancement ou l'arrêt des instances, les bilans de santé, la mise à l'échelle automatique, la mise à jour ou la correction de nouvelles mises à jour, etc.

Alors, comment ça marche?

Le code que vous souhaitez que Lambda exécute est appelé Fonction Lambda . Maintenant, comme nous le savons, une fonction ne s'exécute que lorsqu'elle est appelée, non? Ici, Source de l'événement est l'entité qui déclenche une fonction Lambda, puis la tâche est exécutée.

Prenons un exemple pour le comprendre plus clairement.



Supposons que vous ayez une application pour le téléchargement d'images. Désormais, lorsque vous téléchargez une image, de nombreuses tâches sont nécessaires avant de la stocker, telles que le redimensionnement, l'application de filtres, la compression, etc.

Ainsi, cette tâche de téléchargement d'une image peut être définie comme un Source de l'événement ou le «déclencheur» qui appellera la fonction Lambda, puis toutes ces tâches peuvent être exécutées via la fonction Lambda.

Dans cet exemple, un développeur doit simplement définir la source de l'événement et télécharger le code.

Comprenons maintenant cet exemple avec de vraies ressources AWS,

Fig. Cas d'utilisation Lambda avec S3

Ici, nous téléchargerons des images sous forme d'objets dans un compartiment S3. Ce téléchargement d'une image dans le compartiment S3 deviendra une source d'événement ou le «déclencheur».

L'ensemble du processus, comme vous pouvez le voir dans le diagramme, est divisé en 5 étapes, comprenons chacune d'elles.

  1. L'utilisateur télécharge une image (objet) dans un compartiment source dans S3 auquel une notification est attachée, pour Lambda.
  2. La notification est lue par S3 et il décide où envoyer cette notification.
  3. S3 envoie la notification à Lambda, cette notification agit comme un appel d'appel de la fonction lambda.
  4. Le rôle d'exécution dans Lambda peut être défini en utilisant IAM (Identity and Access Management) pour donner l'autorisation d'accès aux ressources AWS, pour cet exemple ici, ce serait S3.
  5. Enfin, il appelle la fonction lambda souhaitée qui fonctionne sur l'objet qui a été téléchargé dans le compartiment S3.

Si vous résolviez traditionnellement ce scénario, parallèlement au développement, vous auriez embauché des personnes pour gérer les tâches suivantes:

  • Taille, fourniture et mise à l'échelle du groupe de serveurs
  • Gérer les mises à jour du système d'exploitation
  • Appliquer les correctifs de sécurité et
  • Surveillez toute cette infrastructure pour les performances et la disponibilité.

Cela aurait été une tâche coûteuse, fastidieuse et fastidieuse, c'est pourquoi le besoin d'AWS Lambda est justifié.AWS Lambda est compatible avec Node.JS, Python et Java, vous pouvez donc télécharger votre fichier dans un zip, définir une source d'événement et vous êtes prêt!

factorielle utilisant la récursivité en c

Vous pouvez en savoir plus sur S3 AWS ici pour une compréhension plus approfondie.

Nous savons maintenant -Comment fonctionne Lambda etQuelle biche Lambda s .

Now, comprenons-

  • Où utiliser Lambda?
  • À quoi sert Lambda, quepas d’autres services AWS Compute?

Si vous deviez concevoir une solution à un problème, vous devriez être en mesure d'identifier où utiliser Lambda, n'est-ce pas?

Ainsi, en tant qu'architecte, vous disposez des options suivantes pour exécuter une tâche:

qu'est-ce qu'un objet scanner
  • AWS EC2
  • AWS Elastic Beanstalk
  • AWS OpsWorks
  • AWS Lambda

Prenons l'exemple d'utilisation ci-dessus et comprenons pourquoi nous avons choisi Lambda pour le résoudre.

AWS OpsWorks et AWS ElasticBeanstalk sont utilisés pour déployer une application, notre cas d'utilisation est donc ne pas pour créer une application , mais pour exécuter un code back-end.

Alors pourquoi pas EC2?

Si vous deviez utiliser EC2, vous auriez à tout concevoir, c'est-à-dire équilibreur de charge, volumes EBS, piles de logiciels, etc. En lambda, vous n'avez à vous soucier de rien, insérez simplement votre code, et AWS gérera le reste!

Par exemple , dans EC2, vous installeriez les packages logiciels sur votre machine virtuelle qui prendraient en charge votre code, mais dans Lambda, vous n’avez à vous soucier d’aucune VM, insérez simplement du code brut et Lambda l’exécutera pour vous.

Mais, si votre code fonctionne pendant des heures et que vous vous attendez à un flux continu de requêtes, vous devriez probablement utiliser EC2, car l'architecture de Lambda est destinée à une charge de travail sporadique, dans laquelle il y aura des heures calmes et des pics. dans le pas. des demandes également.

Par exemple , en enregistrant l'activité de messagerie pour une petite entreprise, par exemple, verrait plus d'activité pendant la journée que la nuit, il pourrait également y avoir des jours où il y a moins d'e-mails à traiter, et parfois le monde entier pourrait commencer à vous envoyer des e-mails! Dans les deux cas, Lambda est à votre service.

Compte tenu de ce cas d'utilisation pour une grande entreprise de réseautage social, où les e-mails sont sans fin car elle a une énorme base d'utilisateurs, Lambda n'est peut-être pas le bon choix.

Vous pouvez en savoir plus sur EC2 AWS ici pour une compréhension plus approfondie.

Limitations d'AWS Lambda

Certaines limitations sont spécifiques au matériel et d’autres sont liées à l’architecture. Parlons-en toutes.

Limitations matérielles inclure la taille du disque, qui est limitée à 512 Mo, la mémoire peut varier entre 128 Mo et 1536 Mo. Ensuite, il y en a d'autres, tels que le délai d'exécution peut être maximisé à seulement 5 minutes, la charge utile du corps de votre requête ne peut pas dépasser 6 Mo et le corps de votre requête est de 128 Ko. La charge utile du corps de la requête est comme les données que vous envoyez avec une requête «GET» ou «PUT» dans HTTP, où le corps de la requête serait le type de requête, les en-têtes, etc.

En fait, il ne s'agit pas de limitations, mais des limites de conception qui ont été définies dans l'architecture de Lambda.Par conséquent, si votre cas d'utilisation ne correspond pas à ces limites, vous avez toujours les autres services de calcul AWS à votre disposition.

Nous avons expliqué dans ce didacticiel AWS Lambda que les tâches effectuées dans Lambda ne sont «pas» fastidieuses et fatigantes. Couvrons maintenant également la partie dépenses.

Tarification dans AWS Lambda

Comme la plupart des services AWS, AWS Lambda est également un service pay per use, ce qui signifie que vous ne payez que ce que vous utilisez, par conséquent, vous êtes facturé sur les paramètres suivants

  • Le nombre de demandes que vous apportez à votre fonction lambda
  • La durée pour lequel votre code s'exécute.

Demandes

  • Vous êtes facturé pour le nombre de requêtes que vous effectuez sur toutes vos fonctions lambda.
  • AWS Lambda compte une demande chaque fois qu'elle commence à s'exécuter en réponse à une source d'événement ou à un appel d'appel, y compris le test est appelé à partir de la console. Regardons maintenant les prix:
    • Le premier million de demandes, chaque mois, est gratuit.
    • 0,20 $ par million de demandes par la suite.

Durée

  • La durée est calculée à partir du moment où votre code commence à s'exécuter jusqu'au moment où il revient ou s'arrête, elle est arrondie aux 100 ms les plus proches.
  • Le prix dépend de la quantité de mémoire que vous allouez à votre fonction, vous êtes facturé 0,00001667 $ pour chaque Go-seconde utilisé.

* Source: site Web officiel AWS

Si vous avez atteint jusqu'ici, vous êtes tous prêts pour un Hands-on dans Lambda. Amusons-nous!

Pratique: AWS Lambda DIY

Créons une fonction Lambda qui enregistrera 'Un objet a été ajouté' une fois que vous avez ajouté un objet à un compartiment spécifique dans S3.

Étape 1: Dans AWS Management Console sous la section de calcul, sélectionnez AWS Lambda.

Étape 2: Dans AWS Lambda Console, cliquez sur «Créer une fonction Lambda».

Étape 3: Sur la page suivante, vous devez sélectionner un plan. Par exemple, nous sélectionnerons la fonction vide pour notre cas d'utilisation.

Étape 4: Sur la page suivante, vous allez (1) définir un déclencheur, puisque nous allons travailler sur S3, (2) sélectionner le déclencheur S3 puis (3) cliquer sur Suivant.

a un vs est un java

Étape 5: Sur la page de configuration, remplissez les détails. Vous pouvez mettre votre propre code ou copier le même code à partir de ce cas d'utilisation. Après cela, remplissez le gestionnaire et le rôle, laissez les paramètres avancés tels quels, à la fin, cliquez sur Suivant.

Étape 6: Sur la page suivante, passez en revue toutes les informations et cliquez sur «Créer une fonction».

Étape 7: Maintenant que nous avons créé la fonction pour le compartiment S3, au moment où vous ajoutez un fichier à votre compartiment S3, vous devriez obtenir un journal pour celui-ci dans CloudWatch, qui est un service de surveillance d'AWS.

Toutes nos félicitations!Vous avez exécuté avec succès la fonction Lambda.

J'espère que vous avez apprécié la plongée approfondie dans le didacticiel AWS Lambda. C'est l'un des domaines de connaissances les plus recherchés dans l'écosystème AWS pour des postes tels que Architecte de solutions, Ingénieur Cloud, Ingénieur DevOps. Voici une collection de pour vous aider à préparer votre prochain entretien d'embauche AWS.

Si vous avez trouvé ce didacticiel AWS Lambda pertinent, vous pouvez consulter le cours en direct d'Edureka et dirigé par un instructeur sur , co-créé par des professionnels de l'industrie.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires et nous vous recontacterons.