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
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