Configurer AWS Lambda pour la production
Déployer des applications sur AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Ça fonctionnait en test
La fonction a réussi tous les tests
En production, elle expire et est limitée
Le code allait bien ; c'est la configuration qui clochait
Configuration Lambda clé en production
Mémoire
: fait aussi évoluer le CPU et le réseau
Délai d'expiration
: secondes max avant l'arrêt de la fonction
Stockage éphémère
: espace temporaire dans /tmp
Simultanéité
: nombre d'exécutions en parallèle
Dimensionnement de la mémoire et lien avec le CPU
Plus de mémoire =
plus de CPU proportionnel
Une fonction liée au CPU tourne plus vite avec plus de mémoire
Durée plus courte =
coût moindre
possible
Dimensionnez par des tests, pas à l'aveugle
Simultanéité : réservée vs provisionnée
Simultanéité réservée
Limite le nombre d'exécutions simultanées
Protège les systèmes en aval et les autres fonctions
Simultanéité provisionnée
Préchauffe des instances pour éviter les démarrages à froid
Pour les fonctions à faible latence, exposées aux utilisateurs
Emballer la configuration et le code partagé
Variables d'environnement
: configuration par environnement
Couches (layers)
: partager code et dépendances entre fonctions
Extensions
: s'exécutent avec la fonction pour des outils
Gardez la config hors du paquet de déploiement
Connecter Lambda à un VPC
Attachez Lambda à des
sous-réseaux privés
pour les ressources internes
Lambda crée des
ENI
dans votre VPC
Les
groupes de sécurité
contrôlent ce qu'elle peut joindre
Besoin d'une passerelle NAT ou d'un point de terminaison VPC pour l'accès externe
Gérer les échecs avec des destinations et des DLQ
Les invocations asynchrones
réessaient automatiquement
en cas d'échec
Lambda Destinations
: aiguiller onSuccess et onFailure
File d'attente de rejets
: capter les événements jamais réussis
Ne laissez jamais un événement échoué disparaître en silence
Passons à la pratique !
Déployer des applications sur AWS
Preparing Video For Download...