Qu'est-ce qu'AWS Lambda ? - AWS Lambda

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Qu'est-ce qu'AWS Lambda ?

AWS Lambda est un service informatique qui vous permet d'exécuter un code sans demander la mise en service ou la gestion des serveurs.

Lambda exécute le code sur une infrastructure informatique à haute disponibilité et effectue toute l'administration des ressources informatiques, y compris la maintenance des serveurs et du système d'exploitation, l'allocation et la mise à l'échelle automatique des capacités, ainsi que la mise à l'échelle automatique et la journalisation. Avec Lambda, il vous suffit de fournir votre code dans l'une des exécutions de langage prises en charge par Lambda.

Vous organisez votre code en fonctions Lambda. Le service Lambda n'exécute votre fonction qu'en cas de besoin et se met à l'échelle automatiquement. Vous payez uniquement le temps de calcul que vous utilisez. Vous n'exposez aucuns frais quand votre code n'est pas exécuté. Pour plus d’informations, consultez Tarification d’AWS Lambda.

Astuce

Pour apprendre à créer des solutions sans serveur, consultez le Guide du développeur sans serveur.

Cas d'utilisation de Lambda

Lambda est un service de calcul idéal pour les scénarios d'application qui doivent augmenter la capacité rapidement, et la réduire à zéro lorsqu'elle n'est pas demandée. Par exemple, vous pouvez utiliser Lambda pour :

  • Traitement de fichiers : utilisez Amazon Simple Storage Service (Amazon S3) pour déclencher le traitement des données Lambda en temps réel après un chargement.

  • Traitement des flux : utilisez Lambda et Amazon Kinesis pour traiter des données de flux en temps réel pour le suivi de l'activité des applications, le traitement des ordres de transaction, l'analyse du flux de clics, le nettoyage des données, le filtrage des journaux, l'indexation, l'analyse des réseaux sociaux, la télémétrie des données des appareils de l'Internet des objets (IoT) et les métriques.

  • Applications Web : associez Lambda à d'autres services AWS pour créer de puissantes applications Web qui se mettent automatiquement à l'échelle et s'exécutent dans une configuration hautement disponible dans plusieurs centres de données.

  • Backends IoT : créez des backends sans serveur à l'aide de Lambda pour gérer les demandes d'API Web, mobiles, IoT et tierces.

  • Backends mobiles : créez des backends à l'aide de Lambda et d'Amazon API Gateway pour authentifier et traiter les demandes d'API. Utilisez AWS Amplify pour intégrer facilement à vos frontends iOS, Android, Web et React Native.

Lorsque vous utilisez Lambda, vous n'êtes responsable que de votre code. Lambda gère le parc d'instances de calcul qui assure l'équilibre des ressources de mémoire, de CPU, de réseau et autres nécessaire pour exécuter votre code. Étant donné que Lambda gère ces ressources, vous ne pouvez ni vous connecter à des instances de calcul, ni personnaliser le système d'exploitation sur les runtimes fournis.

Lambda accomplit des activités opérationnelles et d'administration en votre nom, dont la gestion de la capacité, la surveillance et la journalisation de vos fonctions Lambda.

Si vous avez besoin de gérer vos ressources de calcul, AWS propose d'autres services de calcul à prendre en compte, tels que :

  • AWS App Runner crée et déploie automatiquement des applications web conteneurisées, équilibre la charge du trafic avec chiffrement, évolue pour répondre à vos besoins en matière de trafic et permet de configurer la manière dont les services sont accessibles et communiquent avec d'autres applications AWS dans un Amazon VPC privé.

  • AWS Fargate avec Amazon ECS exécute des conteneurs sans avoir à allouer, configurer ou mettre à l'échelle des clusters de machines virtuelles.

  • Amazon EC2 vous permet de personnaliser le système d'exploitation, les paramètres réseau et de sécurité, ainsi que l'ensemble de la pile de logiciels. Vous gérez le provisionnement des capacités, la surveillance de l'état de santé et des performances du parc, ainsi que l'utilisation des zones de disponibilité pour la tolérance aux pannes.

Fonctions principales

Les fonctions clés suivantes vous aident à développer des applications Lambda évolutives, sécurisées et facilement extensibles :

Configuration des options de fonction

Configurez votre fonction Lambda à l'aide de la console ou d'AWS CLI.

Variables d'environnement

Utilisez des variables d'environnement pour ajuster le comportement de votre fonction sans mettre à jour le code.

Versions

Gérez le déploiement de vos fonctions avec des versions, afin que, par exemple, une nouvelle fonction puisse être utilisée pour les tests bêta sans affecter les utilisateurs de la version de production stable.

Images de conteneur

Créez une image de conteneur pour une fonction Lambda en utilisant une image de base fournie par AWS ou une image de base alternative afin que vous puissiez réutiliser votre outillage de conteneur existant ou déployer des charges de travail plus importantes qui reposent sur des dépendances assez importantes, comme le machine learning.

Couches

Empaquetez les bibliothèques et autres dépendances pour réduire la taille des archives de déploiement et rendre plus rapide le déploiement de votre code.

Extensions Lambda

Complétez vos fonctions Lambda avec des outils de surveillance, d'observabilité, de sécurité et de gouvernance.

URL de fonctions

Ajoutez un point de terminaison HTTP(S) dédié à votre fonction Lambda.

Streaming des réponses

Configurez les URL de vos fonctions Lambda pour renvoyer en continu les charges utiles de réponse aux clients à partir des fonctions Node.js, afin d'améliorer les performances du temps au premier octet (TTFB) ou de renvoyer des charges utiles plus importantes.

Contrôles de simultanéité et de mise à l'échelle

Contrôlez avec précision la mise à l'échelle et la réactivité de vos applications de production.

Signature de code

Vérifiez que seuls les développeurs approuvés publient du code non modifié et fiable dans vos fonctions Lambda

Réseaux privés

Créez un réseau privé pour les ressources telles que les bases de données, les instances de mémoire cache ou les services internes.

Accès au système de fichiers

Configurez une fonction pour monter un système de fichiers Amazon Elastic File System (Amazon EFS) dans un répertoire local, afin que le code de votre fonction puisse accéder à des ressources partagées et les modifier en toute sécurité et à des niveaux de simultanéité élevés.

Lambda SnapStart pour Java

Améliorez les performances de démarrage pour les exécutions Java jusqu'à 10 fois sans coût supplémentaire, généralement sans modification du code de votre fonction.