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 que AWS Lambda?
AWS Lambda est un service de calcul sans serveur. Avec Lambda, vous pouvez exécuter du code sans avoir à provisionner ni à gérer des serveurs. Lambda gère automatiquement l'infrastructure sous-jacente, y compris la maintenance des serveurs, le provisionnement des capacités, le dimensionnement et l'application de correctifs, afin que vous puissiez vous concentrer sur la logique de votre application.
Lambda fournit trois primitives de calcul, chacune conçue pour différents modèles de charge de travail :
-
Fonctions d'événements Lambda : exécutez du code en réponse à des événements ou à des appels d'API sans gérer de serveurs. Vous écrivez une fonction de gestionnaire, vous la connectez à un déclencheur (API Gateway, Amazon S3, Amazon SQS et plus de 200 AWS autres services) EventBridge, et Lambda l'exécute. Chaque appel s'exécute indépendamment, sans état partagé, et s'adapte horizontalement à la demande. Lambda gère les environnements d'exécution, le dimensionnement, le routage et la tolérance aux pannes.
-
Lambda Web Functions : exécutez des applications Web et des backends d'API en tant que serveurs HTTP. Votre Node.js code écoute sur un port et gère directement les requêtes HTTP, à l'aide de frameworks Web tels que ExpressHono, ou React Router sans adaptateurs. Chaque environnement d'exécution répond à plusieurs demandes simultanées. Lambda fournit un point de terminaison HTTPS, adapte votre application en fonction du trafic (y compris jusqu'à zéro) et peut la répliquer. Régions AWS
-
Lambda MicroVMS : environnements informatiques isolés dotés d'un démarrage quasi instantané et d'une durée de vie totale allant jusqu'à 8 heures (y compris le temps de fonctionnement et le temps de suspension). Conçu pour les charges de travail nécessitant un environnement informatique dédié à chaque utilisateur ou à chaque tâche. Lambda gère l'isolation, la capacité et le réseau. Votre application utilise les API Lambda MicroVMS et les points de terminaison HTTPS pour connecter chacun user/job à son environnement informatique.
Note
Event Functions est le nom du type de fonction Lambda d'origine qui exécute votre code en réponse à des événements et à des appels d'API. Le nom distingue ce type de fonction des fonctions Web Lambda et des microVM Lambda, et la console Lambda l'appelle fonction d'événement. La ressource sous-jacente reste inchangée : les opérations d'API (telles que CreateFunction etInvoke), les AWS SDK, la AWS CLI, le type de AWS::Lambda::Function ressource et les ARN continuent d'utiliser des fonctions. Vous n'avez donc pas besoin de modifier le code, les modèles d'infrastructure ou les autorisations IAM.
Pour de plus amples informations sur la tarification, veuillez consulter AWS Lambda Pricing
Comparaison des primitives de calcul Lambda
Les fonctions d'événement Lambda, les fonctions Web Lambda et les microVM Lambda partagent une base commune sans serveur :
-
Aucune gestion de serveur : AWS gère l'infrastructure sous-jacente, les correctifs d'instance et la capacité.
-
Pay-per-use facturation — Aucun engagement initial. Vous ne payez que pour les ressources utilisées.
-
Réseau géré : tous les trois fournissent un accès réseau entrant et sortant géré par des services.
-
Virtualisation Firecracker : VM-level isolation entre les charges de travail.
Bien qu'ils partagent cette base, ils répondent à différents cas d'utilisation :
| Fonctions d'événement Lambda | Fonctions Web Lambda | MicroVM Lambda | |
|---|---|---|---|
| Idéal pour | Request-response ou charges de travail basées sur des événements (API, traitement des données, automatisation) | Applications Web et backends d'API qui servent directement le trafic HTTP | Environnements persistants exécutant du code utilisateur ou AI-produced non fiable |
| Modèle de programmation | Gestionnaire de fonctions invoqué dans un environnement d'exécution pris en charge | Serveur HTTP qui écoute sur un port, à l'aide de frameworks Web standard | N'importe quelle application : exécutez vos propres fichiers binaires, écoutez les ports, utilisez les fonctionnalités du système d'exploitation Linux |
| Durée | Jusqu'à 15 minutes par appel par défaut ; jusqu'à 90 minutes par appel asynchrone ou par appel de mappage des sources d'événements sur les instances gérées Lambda ; flux de travail en plusieurs étapes d'une durée maximale d'un an avec Lambda Durable Functions | Jusqu'à 15 minutes par requête HTTP (30 secondes par défaut) | Jusqu'à 8 heures par session ; suspension et reprise d'une session à l'autre |
| Environnement d'exécution | Service-provided environnements d'exécution des langues ; prise en charge des environnements d'exécution fournis par le client | Environnements d'exécution Service-provided Node.js | Customer-provided Images de microVM |
| Réseau entrant | Invocations directes ou intégrations de sources d'événements aux services AWS | Service-provided Point de terminaison HTTPS avec TLS ; routage optionnel basé sur la latence entre Régions AWS | Accès entrant à n'importe quel port à l'aide des protocoles OSI de couche 7 |
| Simultanéité | Une demande par environnement d'exécution à la fois par défaut ; plusieurs demandes simultanées par environnement d'exécution pour les instances gérées Lambda | Plusieurs demandes simultanées par environnement d'exécution | Plusieurs connexions simultanées par microVM |
| État de l'environnement | Les environnements d'exécution peuvent être réutilisés (démarrages à chaud), mais l'état peut ne pas persister entre les invocations | Les environnements d'exécution peuvent être réutilisés (démarrages à chaud), mais l'état peut ne pas persister entre les invocations | État de la mémoire et du disque préservé lors de la suspension ; restauré lors de la reprise |
| Dimensionnement | Automatique : Lambda crée et détruit des environnements d'exécution en réponse au trafic | Automatique : Lambda crée et détruit des environnements d'exécution en réponse au trafic, en redimensionnant jusqu'à zéro en cas d'inactivité | Developer-controlled — vous créez, suspendez, reprenez et résiliez des microVM via l'API |
| Cycle de vie | Entièrement géré par Lambda | Entièrement géré par Lambda | Developer-controlled; politiques d'inactivité facultatives pour la suspension et la reprise automatiques |
| Tarification | Per-request + GB-seconds du temps d'exécution | Par demande, plus le temps processeur actif (facturé par incréments de 1 ms) et la mémoire pendant la durée de vie de chaque environnement d'exécution | Per-second de calcul en cours d'exécution + stockage de snapshots en cas de suspension |