AWS Lambda est un service de calcul sans serveur qui exécute votre code en réponse à des événements et gère automatiquement les ressources de calcul sous-jacentes pour vous. Vous pouvez utiliser AWS Lambda pour étendre les autres services AWS avec une logique personnalisée ou créer vos propres services dorsaux qui opèrent selon le dimensionnement, la performance et la sécurité d'AWS. AWS Lambda peut exécuter automatiquement un code en réponse à plusieurs événements, tels que les requêtes HTTP via l'Amazon API Gateway, les modifications d'objets dans des buckets (compartiments) Amazon S3, les mises à jour de tables dans Amazon DynamoDB ou les transitions d'états dans AWS Step Functions.

Lambda exécute votre code sur une infrastructure de calcul à haute disponibilité et effectue toute l'administration des ressources de calcul, y compris la maintenance du serveur et du système d'exploitation, le dimensionnement des capacités et la mise à l'échelle automatique, le déploiement du code et des correctifs de sécurité, ainsi que la surveillance et la journalisation du code. Il vous suffit de fournir le code.


PAC-Q4_House-Ads_Lambda_2up

Présentation des fonctions d'AWS Lambda

Le code que vous exécutez sur AWS Lambda s'appelle une « fonction Lambda ». Après la création de votre fonction Lambda, elle est toujours prête à fonctionner dès que vous la lancez, comme pour une formule de feuille de calcul. Chaque fonction inclut votre code ainsi que certaines informations de configuration associées, notamment le nom de la fonction et les exigences de ressource. Les fonctions Lambda sont « sans état », sans affinité avec l'infrastructure sous-jacente, Lambda peut donc lancer rapidement autant de copies de la fonction que nécessaire pour s'adapter au taux d'événements entrants.

Après le chargement de votre code sur AWS Lambda, vous pouvez associer votre fonction à des ressources AWS spécifiques (par ex, un compartiment Amazon S3, un tableau Amazon DynamoDB, un flux Amazon Kinesis ou une notification Amazon SNS en particulier). Ensuite, lorsque la ressource changera, Lambda exécutera votre fonction et gérera les ressources de calcul selon les besoins afin de satisfaire les requêtes entrantes.

Fonctions produits clés

Etendez les autres services AWS avec une logique personnalisée

AWS Lambda vous permet d'ajouter une logique personnalisée aux ressources AWS comme les compartiments Amazon S3 et les tableaux Amazon DynamoDB, facilitant l'application du calcul aux données lors de leur entrée ou leur déplacement dans le cloud.

Il est facile de démarrer avec AWS Lambda. Vous créez d'abord votre fonction en téléchargeant votre code (ou en le créant directement dans la console Lambda) et en choisissant la mémoire, le laps de temps et le rôle AWS Identity and Access Management (IAM). Ensuite, vous indiquez la ressource AWS pour déclencher la fonction, soit un compartiment Amazon S3, un tableau Amazon DynamoDB ou un flux Amazon Kinesis. Lorsque la ressource change, Lambda exécute votre fonction, puis lance et gère les ressources de calcul selon les besoins, afin de satisfaire les requêtes entrantes.

Créer des services dorsaux personnalisés

Vous pouvez utiliser AWS Lambda pour créer de nouveaux services dorsaux pour vos applications, que vous pouvez ensuite déclencher à la demande à l'aide de l'API Lambda ou des points de terminaison d'API personnalisés créés à l'aide d'Amazon API Gateway. En utilisant Lambda pour traiter des événements personnalisés au lieu de servir ceux-ci sur le client, vous pouvez éviter les variations de la plateforme client, réduire la consommation de la batterie et faciliter les mises à jour.

Apportez votre propre code

Avec AWS Lambda, inutile d'apprendre un nouveau langage, outil ou framework. Vous pouvez utiliser n'importe quelle bibliothèque tierce et même des bibliothèques natives. Vous pouvez également conditionner n'importe quel code (frameworks, SDK, bibliothèques et bien plus encore) en tant que couche Lambda, et gérer et partager facilement celui-ci dans des fonctions multiples. Lambda prend en charge le code issu de Java, Go, PowerShell, Node.js, C#, Python et Ruby et fournit une API d'environnement d'exécution qui vous permet d'utiliser n'importe quels langages de programmation supplémentaires pour éditer vos fonctions

Automatisation complète de l'administration

AWS Lambda gère toute l'infrastructure pour exécuter votre code sur une infrastructure à haute disponibilité et tolérante aux pannes, ce qui vous permet de vous libérer pour vous concentrer sur la création de services dorsaux différenciés. Avec Lambda, vous n'avez jamais à mettre à jour le système d'exploitation sous-jacent lors de la sortie d'un correctif ni à vous inquiéter du redimensionnement ou de l'ajout de nouveaux serveurs lorsque votre utilisation s'accroît. AWS Lambda déploie votre code, s'occupe de tout l'aspect administratif, de la maintenance et des correctifs de sécurité en toute transparence et fournit une journalisation intégrée et une surveillance via Amazon CloudWatch.

Tolérance aux pannes intégrée

Lambda intègre un système de tolérance aux pannes. AWS Lambda maintient la capacité de calcul sur plusieurs zones de disponibilité au sein de chaque région. Vous bénéficiez ainsi d'une protection renforcée de votre code face aux défaillances d'ordinateurs spécifiques ou de l'ensemble de votre centre de données. AWS Lambda et les fonctions s'exécutant sur le service fournissent des performances opérationnelles prévisibles et fiables. AWS Lambda est conçu pour fournir une haute disponibilité, à la fois pour le service lui-même et pour les fonctions qu'il gère. Il n'y a ni fenêtres de maintenance ni arrêts programmés.

Mise à l'échelle automatique

AWS Lambda invoque votre code uniquement lorsque cela est nécessaire et se dimensionne automatiquement pour prendre en charge le taux de requêtes entrantes sans que vous ayez à configurer quoi que ce soit. Il n'y a aucune limite quant au nombre de requêtes que votre code peut gérer. AWS Lambda commence généralement à exécuter votre code dans les quelques millisecondes suivant un événement et, puisque Lambda se dimensionne automatiquement, la performance reste constamment élevée au fur et à mesure que le nombre d'événements augmente. Votre code étant sans état, Lambda peut démarrer autant d'instances que nécessaire de celui-ci sans longs délais de déploiement et sans délai de configuration.

Se connecter à des bases de données relationnelles

Utilisez Amazon RDS Proxy pour tirer parti des groupes de connexions entièrement gérés pour les bases de données relationnelles. RDS Proxy gère efficacement des milliers de connexions simultanées à des bases de données relationnelles, ce qui facilite la création d'applications sans serveur hautement évolutives, sécurisées et basées sur Lambda qui doivent interagir avec des bases de données relationnelles. RDS Proxy offre actuellement un support pour MySQL et Aurora. Vous pouvez utiliser RDS Proxy pour vos applications sans serveur via la console Amazon RDS ou via la console AWS Lambda.

Contrôle précis des performances

Avec la simultanéité allouée, vous contrôlez mieux les performances de votre application sans serveur. Lorsqu'elle est activée, la simultanéité allouée conserve les fonctions initialisées et hyper-prêtes à réagir en millisecondes à deux chiffres. La simultanéité allouée est idéale pour toute application créée avec AWS Lambda qui a besoin d'un plus grand contrôle sur le temps de démarrage des fonctions. Vous pouvez facilement configurer le niveau de simultanéité approprié dont votre application a besoin. Vous pouvez augmenter le niveau de simultanéité pendant les périodes de forte demande. Vous pouvez aussi diminuer ce niveau ou désactiver totalement la simultanéité lorsque la demande diminue. Aucune modification de votre code n'est nécessaire pour tirer parti de la simultanéité allouée. La simultanéité allouée est un moyen efficace d'obtenir des performances constantes pour les applications sensibles à la latence, sans avoir à gérer les ressources de calcul.

Exécutez du code en réponse aux requêtes Amazon CloudFront

Grâce à Lambda@Edge, AWS Lambda peut exécuter votre code aux emplacements AWS internationaux en réponse aux événements Amazon CloudFront, tels que les demandes de contenu adressées aux serveurs et utilisateurs d'origine ou provenant de ceux-ci. Vous pouvez ainsi fournir plus facilement du contenu plus riche et personnalisé à vos utilisateurs finaux, le tout avec une faible latence. En savoir plus »

Orchestration de fonctions multiples

Il est possible de coordonner plusieurs fonctions AWS Lambda pour des tâches complexes ou au long cours en créant des flux de travail avec AWS Step Functions. Step Functions vous permet de définir des flux de travail pour déclencher une collection de fonctions Lambda grâce à des étapes séquentielles, parallèles, de filiale et de gestion des erreurs. Avec Step Functions et Lambda, vous pouvez créer des processus à états et au long cours pour les applications et les backends.

Modèle de sécurité intégré

AWS Lambda permet à votre code d'accéder en toute sécurité aux autres services AWS via son kit SDK AWS intégré et son intégration à AWS Identity and Access Management (IAM). AWS Lambda exécute votre code au sein d'un VPC par défaut. Vous pouvez également configurer AWS Lambda pour accéder à des ressources dans votre propre VPC, afin d'exploiter les groupes de sécurité personnalisés et les listes de contrôle d'accès réseau et permettre à vos fonctions Lambda d'accéder à des ressources dans un VPC.

AWS Lambda est conforme à SOC, HIPAA, PCI, ISO. Pour en savoir plus sur la préparation à la conformité et à la certification Lambda, consultez l'intégralité des services concernés.

Vous ne payez que ce que vous utilisez.

Avec AWS Lambda, vous payez pour la durée d'exécution plutôt que par unité de serveur. Lorsque vous utilisez les fonctions Lambda, vous ne payez que pour les requêtes servies et le temps de calcul requis pour exécuter votre code. La facturation est calculée par tranches de 100 millisecondes, ce qui permet de passer automatiquement et de manière simple et rentable de quelques requêtes par jour à plusieurs milliers par seconde. Avec la simultanéité allouée, vous payez pour le montant de la simultanéité que vous configurez et pour la période de temps pendant laquelle vous la configurez. Lorsque la simultanéité allouée est activée pour votre fonction et que vous l'exécutez, vous payez également pour les demandes et la durée d'exécution. Pour en savoir plus sur la tarification, veuillez visiter la page consacrée à la tarification d'AWS Lambda.

Modèle de ressources flexible

Vous choisissez la quantité de mémoire que vous souhaitez allouer à vos fonctions et AWS Lambda alloue proportionnellement la puissance du CPU, la largeur de bande de réseau et les E/S sur disque.

En savoir plus sur la tarification AWS Lambda

Visiter la page de tarification
Prêt à vous lancer ?
S'inscrire
D'autres questions ?
Contactez-nous