Clément Schanen

CalculService régional

Lambda

Permet d’exécuter du code sans gérer de serveur

Fonctionnement

  • Exécution déclenchée par évènements (S3, API Gateway, SQS…)
  • Supporte plusieurs langages : Python, Node.js, Java, Go…
  • Possible de configurer la RAM et le stockage disponible par fonction
  • Système de layer permettant de réutiliser des bibliothèques
  • Gestion de l’auto-scaling natif

Facturation

  • Free tier : 1M requêtes & 400 000 GB-s/mois gratuits
  • Paiement au nombre requêtes en fonction de la durée d’exécution (ms) et consommation mémoire

Contraintes

  • Temps d’exécution maximum : 15 minutes
  • Concurrence par défaut : 1000 exécutions simultanées par compte/région
  • Code < 250 Mo (zip < 50 Mo)
  • Maximum 4 Ko pour les variables d’environnement

Scalabilité / Concurence

Type Description
Reserved concurrency Nombre maximum de requêtes simultanées réservées à une fonction
Provisioned concurrency Préchauffe un nombre donné d’instances toujours prêtes à exécuter du code, même à froid Attention aux coûts !
Burst concurrency Capacité de scaling rapide permettant de gérer une charge irrégulière

Cold Start

  • Le cold start correspond à la durée d’initialisation d’une fonction lambda lors de sa première invocation
  • Il peut être évité en utilisant des lambdas provisionnées ou réduit en réduisant les phases de téléchargement du code et d’initialisation du runtime
Les phases de démarrage d’une fonction Lambda Le téléchargement du code, la création du conteneur et l’initialisation du runtime forment le cold start. L’exécution du code vient ensuite et n’en fait pas partie. Téléchargementdu code Création duconteneur Initialisation duruntime Exécution du code Cold start

Sécurité / Réseau

  • Rôle d’exécution IAM requis (CloudWatch, S3 …)
  • Par défaut, accès direct à Internet

Pour accéder à RDS/subnet privé attacher à un VPC avec SG et NAT Gateway

Bonnes pratiques

  • Configurer des timeouts de façon explicite
  • Faire des fonctions spécialisées
  • Éviter les dépendances natives complexes