Qu'est-ce qu'AWS Lambda ? Fonction Lambda avec exemples
⚡ Résumé intelligent
AWS Lambda est une plateforme informatique sans serveur et pilotée par les événements. Amazon Des services Web qui exécutent votre code en réponse à des déclencheurs, gérant automatiquement le provisionnement, la mise à l'échelle et la gestion des serveurs afin que vous puissiez vous concentrer uniquement sur la logique métier.
Avant d'explorer AWS Lambda, il est utile de comprendre ce que signifie le concept de « sans serveur ».
Qu'est-ce que Serverless?
Le terme « sans serveur » désigne généralement les applications qui ne nécessitent aucun serveur et n'ont donc pas besoin d'être gérées par l'utilisateur.
Qu'est-ce qu'AWS Lambda?
AWS Lambda est une plate-forme informatique sans serveur basée sur les événements et fournie par Amazon faisant partie de Amazon Services Web. Vous n'avez donc pas à vous soucier des ressources AWS à déployer ni de leur gestion. Il vous suffit de placer le code sur Lambda, et il s'exécutera.
Dans AWS Lambda, le code est exécuté en fonction de la réponse aux événements des services AWS, tels que l'ajout ou la suppression de fichiers dans un compartiment S3, ou une requête HTTP provenant d'une source de données. Amazon Passerelle API et événements similaires. Cependant, Amazon Lambda ne peut être utilisé que pour exécuter des tâches en arrière-plan.
La fonction AWS Lambda vous aide à vous concentrer sur votre produit principal et votre logique métier au lieu de gérer le contrôle d'accès au système d'exploitation (OS), les correctifs du système d'exploitation, le dimensionnement approprié, le provisionnement, la mise à l'échelle, etc.
Comment fonctionne AWS Lambda ?
L'exemple AWS Lambda suivant avec diagramme explique le fonctionnement d'AWS Lambda en quelques étapes simples :
Étape 1 : Téléchargez d'abord votre code AWS Lambda dans n'importe quelle langue prise en charge par AWS Lambda. Java, PythonGo et C# font partie des langages pris en charge par la fonction AWS Lambda.
Étape 2 : Voici quelques services AWS qui vous permettent de déclencher AWS Lambda.
Étape 3 : AWS Lambda vous aide à télécharger du code et les détails de l'événement sur lequel il doit être déclenché.
Étape 4 : Exécute le code AWS Lambda lorsqu'il est déclenché par les services AWS.
Étape 5 : AWS ne facture que lorsque le code AWS Lambda s'exécute, et pas autrement.
Cela se produira dans les scénarios suivants :
- Télécharger des fichiers dans un compartiment S3
- Lorsqu'un point de terminaison HTTP GET/POST URL est frappé
- Pour ajouter, modifier et supprimer des tables Dynamo DB
- En cours de collecte de flux de données
- Notification push
- Hébergement de site internet
- Envoi d'e-mails
À noter: N'oubliez pas que vous ne serez facturé pour les services AWS que lorsque le code AWS Lambda s'exécutera ; sinon, vous n'aurez rien à payer.
Événements qui déclenchent AWS Lambda
Voici les événements qui seront déclenchés lorsque vous utiliserez AWS Lambda.
- Insertion, mise à jour et suppression de données dans une table Dynamo DB
- Pour inclure les notifications push dans SNS
- Pour rechercher l'historique des journaux dans CloudTrail
- Entrée dans un objet S3
- DynamoDB peut déclencher AWS Lambda chaque fois que des données sont ajoutées, modifiées et supprimées dans la table.
- Vous aide à planifier l'événement afin d'exécuter la tâche selon un calendrier régulier.
- Modifications apportées aux objets dans les compartiments S3
- Notifications envoyées depuis Amazon SRS.
- AWS Lambda peut être utilisé pour traiter les journaux CloudTrail.
- API Gateway vous permet de déclencher AWS Lambda sur les méthodes GET/POST.
AWS Lambda Concepts
Fonction: Une fonction est un programme ou un script qui s'exécute dans AWS Lambda. Lambda transmet les événements d'appel à votre fonction, qui traite un événement et renvoie sa réponse.
Temps d'exécution: L'environnement d'exécution permet aux fonctions écrites dans différents langages de s'exécuter sur le même environnement de base. Cela vous aide à configurer votre fonction dans l'environnement d'exécution. Il correspond également à votre sélection. langage de programmation.
Source de l'événement : Une source d'événement est un service AWS, tel que Amazon SNS ou un service personnalisé. Ce déclencheur permet à la fonction d'exécuter sa logique.
Couches Lambda : Les couches Lambda constituent un mécanisme de distribution important pour les bibliothèques, les environnements d'exécution personnalisés et d'autres dépendances de fonctions importantes. Ce composant AWS vous aide également à gérer le code de votre fonction de développement séparément du code immuable et des ressources qu'il utilise.
Flux de journaux : Le flux de journalisation vous permet d'annoter le code de votre fonction avec des instructions de journalisation personnalisées qui vous aident à analyser le flux d'exécution et les performances de vos fonctions AWS Lambda.
Comment utiliser AWS Lambda
Nous allons maintenant apprendre à utiliser AWS Lambda à l'aide d'un exemple :
Étape 1) Ouvrir AWS Lambda URL
Allez dans https://aws.amazon.com/lambda/ et commencez.
Étape 2) Créez un compte
Ensuite, créez un compte ou connectez-vous avec votre compte existant.
Étape 3) Modifiez le code et cliquez sur Exécuter
Sur la page Lambda suivante, modifiez le code et cliquez sur Exécuter.
Étape 4) Vérifier la sortie
Vous verrez le résultat.
AWS Lambda contre AWS EC2
Voici quelques différences majeures entre AWS Lambda et EC2.
| Paramètres | AWS Lambda | AWS EC2 |
| Définition | AWS Lambda est une plateforme en tant que service (PaaS). Il vous aide à exécuter et à exécuter votre code backend. | AWS EC2 est une infrastructure en tant que service (IaaS). Elle fournit des ressources informatiques virtualisées. |
| Souplesse | Il n'offre aucune flexibilité pour se connecter aux instances de calcul. Il vous permet de choisir un système d'exploitation ou un environnement d'exécution personnalisé. | Offre la possibilité de sélectionner diverses instances, systèmes d'exploitation personnalisés, correctifs de sécurité, réseaux, etc. |
| Processus d'installation | Vous devez sélectionner l'environnement dans lequel vous souhaitez exécuter le code et le transférer vers AWS Lambda. | Pour la première fois dans EC2, vous devez choisir le système d'exploitation et installer tous les logiciels requis puis pousser votre code dans EC2. |
| Restrictions environnementales | Elle est limitée à quelques langues. | Aucune restriction d'environnement. |
AWS Lambda VS AWS Elastic Beanstalk
Voici quelques différences majeures entre AWS Lambda et Elastic Beanstalk.
| Paramètres | AWS Élastique Beanstalk | AWS Lambda |
| Tâche principale | Déployez et gérez les applications sur AWS Cloud sans vous soucier de l'infrastructure qui exécute ces applications. | AWS Lambda sert à exécuter votre code backend. Vous ne pouvez pas l'utiliser pour déployer une application. |
| Sélection de ressources AWS | Cela vous donne la liberté de sélectionner les ressources AWS ; par exemple, vous pouvez choisir une instance EC2 optimale en fonction de votre application. | Vous ne pouvez pas sélectionner les ressources AWS, comme un type d'instance EC2 ; Lambda propose des ressources en fonction de votre charge de travail. |
| Type de système | C'est un système avec état. | C'est un système apatride. |
Cas d'utilisation d'AWS Lambda
AWS Lambda est utilisé pour un large éventail d'applications telles que :
- Vous aide avec Processus ETL
- Vous permet d'effectuer un traitement de fichiers en temps réel et un traitement de flux en temps réel
- Utiliser pour créer des applications Web
- Utiliser dans Amazon des produits comme Alexa Chatbots et Amazon Écho/Alexa
- Traitement des données (analyse de streaming en temps réel)
- Sauvegardes automatisées des tâches quotidiennes
- Infrastructures dorsales évolutives (applications mobiles, appareils IoT)
- Vous aide à exécuter la logique backend côté serveur
- Permet de filtrer et de transformer les données
Meilleures pratiques de la fonction Lambda
Voici quelques bonnes pratiques pour les fonctions AWS Lambda :
- Utilisez le bon « délai d’attente ».
- Utilisez les fonctions du stockage local de 500 Mo situé dans le dossier /temp.
- Réduisez au minimum l'utilisation du code de démarrage qui n'est pas directement lié au traitement de l'événement actuel.
- Vous devez utiliser la surveillance CloudWatch intégrée de vos fonctions Lambda pour afficher et optimiser les latences des requêtes.
Quand ne pas utiliser AWS Lambda
Voici les situations où Lambda n'est certainement pas une option idéale :
- Il n'est pas approprié d'utiliser AWS Lambda pour les progiciels ou les applications qui dépendent de l'appel à des fonctions sous-jacentes. Windows RPC.
- S'il est utilisé pour des applications logicielles personnalisées avec des accords de licence comme le traitement de documents MS-Office, Oracle bases de données, etc
- AWS Lambda ne doit pas être utilisé pour des processus matériels personnalisés tels que l'accélération GPU et l'affinité matérielle.
Avantages de l'utilisation d'AWS Lambda
Voici les avantages de l'utilisation d'AWS Lambda :
- AWS Lambda est un outil extrêmement flexible à utiliser.
- Il vous permet d'accorder l'accès aux ressources, y compris aux VPC.
- Auteur directement avec un WYSIWÉditeur YG dans la console.
- Vous pouvez l'utiliser comme plugin pour Eclipse et Visual Studio.
- Comme il s'agit d'une architecture sans serveur, vous n'avez pas à vous soucier de la gestion ou de la mise en service des serveurs.
- Vous n'avez pas besoin de configurer de Machine virtuelle.
- Aide les développeurs à exécuter et à exécuter la réponse du code aux événements sans construire d'infrastructure.
- Vous ne payez que le temps de calcul utilisé, et uniquement lorsque votre code s'exécute.
- Vous pouvez surveiller les performances de votre code en temps réel via CloudWatch.
- Il vous permet d'exécuter votre code sans avoir à provisionner ni à gérer aucun autre serveur.
- Permet d'exécuter le code uniquement lorsque cela est nécessaire.
- Vous pouvez le faire évoluer automatiquement pour traiter quelques requêtes par jour et même prendre en charge plus de milliers de requêtes par seconde.
- AWS Lambda peut être configuré à l'aide de minuteurs d'événements externes pour effectuer des tâches planifiées.
- La fonction Lambda dans AWS doit être configurée avec des événements et des minuteurs externes afin de pouvoir être utilisée pour la planification.
- Les fonctions Lambda sont sans état afin de pouvoir être mises à l'échelle rapidement.
- AWS Lambda est rapide et exécutera donc votre code en quelques millisecondes.
Limites d'AWS Lambda
Voici les inconvénients/inconvénients de l'utilisation d'AWS Lambda :
- L'outil AWS Lambda n'est pas adapté aux petits projets.
- AWS Lambda repose entièrement sur AWS pour son infrastructure ; vous ne pouvez donc pas installer de logiciel supplémentaire si votre code l'exige.
- L'exécution simultanée est limitée par défaut à 1 000 par région, et ce nombre peut être augmenté sur demande.
- Sa capacité de mémoire peut varier entre 128 Mo et 10 240 Mo.
- La demande d'événement ne doit pas dépasser 128 Ko.
- Les fonctions Lambda vous aident à écrire leurs journaux uniquement dans CloudWatch. C'est le seul outil qui vous permet de surveiller ou de dépanner vos fonctions.
- Son délai d'exécution est limité à 15 minutes.





