Quiz de Validation - MODULE 11
Ce quiz de 30 questions vous permet de valider vos connaissances sur AWS Lambda avant de passer au lab pratique.
Question 1
Qu'est-ce qu'AWS Lambda ?
A) Un type d'instance EC2
B) Un service de calcul serverless qui execute du code sans gerer de serveurs
C) Un service de base de donnees
D) Un Load Balancer
Voir la reponse
Reponse : B
AWS Lambda est un service de calcul serverless qui execute votre code en reponse a des evenements. Vous ne gerez aucun serveur : pas de provisioning, pas de maintenance, pas de scaling manuel. Vous payez uniquement pour le temps d'execution.
Question 2
Que signifie "serverless" ?
A) Pas de serveurs du tout
B) Vous n'avez pas a gerer les serveurs - AWS s'en occupe
C) Serveurs gratuits
D) Serveurs virtuels
Voir la reponse
Reponse : B
Serverless ne signifie pas qu'il n'y a pas de serveurs, mais que vous n'avez pas a les gerer. AWS provisionne, maintient et scale l'infrastructure automatiquement. Vous vous concentrez uniquement sur votre code.
Question 3
Comment est facture Lambda ?
A) Par heure
B) Par nombre de requetes et temps d'execution (GB-secondes)
C) Forfait mensuel
D) Par nombre de fonctions
Voir la reponse
Reponse : B
Lambda facture selon : le nombre d'invocations (premieres 1M/mois gratuites), et la duree d'execution mesuree en GB-secondes (memoire allouee x temps). Pas de frais quand le code ne s'execute pas.
Question 4
Quel est le temps d'execution maximum d'une fonction Lambda ?
A) 5 minutes
B) 15 minutes
C) 1 heure
D) Illimite
Voir la reponse
Reponse : B
Le timeout maximum d'une fonction Lambda est de 15 minutes (900 secondes). Si votre traitement depasse ce temps, envisagez de le decouper en plusieurs fonctions, d'utiliser Step Functions, ou de migrer vers EC2/ECS.
Question 5
Quels langages de programmation Lambda supporte-t-il nativement ?
A) Uniquement Python
B) Python, Node.js, Java, Go, .NET, Ruby
C) Uniquement Java
D) Uniquement JavaScript
Voir la reponse
Reponse : B
Lambda supporte nativement : Python, Node.js, Java, Go, .NET (C#, PowerShell), Ruby. Vous pouvez aussi utiliser des custom runtimes pour d'autres langages via Lambda Layers ou les conteneurs.
Question 6
Qu'est-ce qu'un "event" dans Lambda ?
A) Un evenement calendrier
B) Les donnees JSON passees a la fonction lors de son invocation
C) Un log
D) Une erreur
Voir la reponse
Reponse : B
L'event est un document JSON contenant les donnees declenchant l'execution. Sa structure depend de la source (S3, API Gateway, SQS, etc.). La fonction recoit cet event et le contexte d'execution.
Question 7
Qu'est-ce qu'un "trigger" Lambda ?
A) Une gachette physique
B) Une source d'evenements qui invoque automatiquement la fonction
C) Un bouton de demarrage
D) Un type d'erreur
Voir la reponse
Reponse : B
Un trigger est un service AWS configure pour invoquer automatiquement votre fonction Lambda. Exemples : S3 (nouveau fichier), API Gateway (requete HTTP), CloudWatch Events (cron), DynamoDB Streams, SQS, SNS, etc.
Question 8
Quels services AWS peuvent declencher Lambda ?
A) Uniquement S3
B) S3, API Gateway, DynamoDB, SQS, SNS, CloudWatch, Kinesis, et plus
C) Uniquement API Gateway
D) Uniquement CloudWatch
Voir la reponse
Reponse : B
De nombreux services peuvent declencher Lambda : S3 (evenements objets), API Gateway (HTTP), DynamoDB Streams, SQS, SNS, CloudWatch Events/Logs, Kinesis, Cognito, IoT, Step Functions, etc. C'est l'essence de l'architecture event-driven.
Question 9
Qu'est-ce que le "handler" dans une fonction Lambda ?
A) Un gestionnaire d'erreurs
B) Le point d'entree de la fonction, la methode appelee lors de l'invocation
C) Un type de trigger
D) Un fichier de configuration
Voir la reponse
Reponse : B
Le handler est le point d'entree de votre fonction. C'est la methode que Lambda appelle quand la fonction est invoquee. Format : fichier.methode (ex: index.handler en Node.js, lambda_function.lambda_handler en Python).
Question 10
Comment configurer la memoire pour une fonction Lambda ?
A) Elle est fixe
B) On choisit entre 128 MB et 10,240 MB, le CPU est alloue proportionnellement
C) Automatiquement
D) Via EC2
Voir la reponse
Reponse : B
La memoire est configurable de 128 MB a 10,240 MB (10 GB) par increments de 1 MB. Le CPU est alloue proportionnellement : plus de memoire = plus de CPU. A 1,769 MB, vous obtenez l'equivalent d'un vCPU complet.
Question 11
Qu'est-ce que les "Environment Variables" dans Lambda ?
A) Des variables d'environnement systeme
B) Des paires cle-valeur configurables accessibles par votre code
C) Des variables de compilation
D) Des variables de facturation
Voir la reponse
Reponse : B
Les Environment Variables permettent de passer des configurations (URLs de BDD, API keys, flags) a votre fonction sans modifier le code. Elles peuvent etre chiffrees avec KMS. Accessibles via os.environ (Python) ou process.env (Node.js).
Question 12
Qu'est-ce qu'un Lambda Layer ?
A) Une couche de securite
B) Un package de code/bibliotheques partage entre plusieurs fonctions
C) Une couche reseau
D) Un niveau de pricing
Voir la reponse
Reponse : B
Un Lambda Layer est un archive ZIP contenant des bibliotheques, des runtimes custom, ou d'autres dependances. Les Layers sont partageables entre fonctions, reduisant la taille du package de deploiement et simplifiant les mises a jour.
Question 13
Qu'est-ce que le "cold start" Lambda ?
A) Un demarrage a froid du serveur
B) Le delai initial quand Lambda provisionne un nouvel environnement d'execution
C) Une erreur de demarrage
D) Un mode economie d'energie
Voir la reponse
Reponse : B
Le cold start se produit quand Lambda doit creer un nouvel environnement d'execution (telecharger le code, demarrer le runtime). Cela ajoute de la latence (100ms a quelques secondes). Les invocations suivantes reutilisent l'environnement (warm start).
Question 14
Comment reduire les cold starts ?
A) C'est impossible
B) Provisioned Concurrency, garder les fonctions legeres, eviter les VPC si possible
C) Augmenter la memoire uniquement
D) Utiliser Java uniquement
Voir la reponse
Reponse : B
Strategies : activer Provisioned Concurrency (environnements pre-chauffes), reduire la taille du package, eviter les VPC non necessaires (ajoutent de la latence), choisir des runtimes a demarrage rapide (Python, Node.js vs Java).
Question 15
Qu'est-ce que la "Concurrency" Lambda ?
A) La competition entre fonctions
B) Le nombre d'instances de votre fonction executees simultanement
C) La coherence des donnees
D) Un type de trigger
Voir la reponse
Reponse : B
La concurrency est le nombre d'executions simultanees de votre fonction. Chaque invocation concurrente utilise un environnement d'execution separe. AWS peut scaler jusqu'a des milliers d'executions simultanees.
Question 16
Quelle est la limite de concurrency par defaut par region ?
A) 100
B) 1,000
C) 10,000
D) Illimitee
Voir la reponse
Reponse : B
La limite par defaut est de 1,000 executions concurrentes par region (partagee entre toutes les fonctions). Cette limite peut etre augmentee via une demande de quota. Reserved Concurrency permet de garantir de la capacite.
Question 17
Qu'est-ce que "Reserved Concurrency" ?
A) Concurrence reservee pour les VIP
B) Capacite de concurrence garantie pour une fonction specifique
C) Concurrence de secours
D) Concurrence planifiee
Voir la reponse
Reponse : B
Reserved Concurrency reserve une partie de la capacite de concurrence du compte pour une fonction specifique. Elle garantit que la fonction aura toujours cette capacite, mais limite aussi son maximum.
Question 18
Qu'est-ce que "Provisioned Concurrency" ?
A) Concurrence provisoire
B) Environnements d'execution pre-initialises pour eliminer les cold starts
C) Concurrence en attente
D) Concurrence temporaire
Voir la reponse
Reponse : B
Provisioned Concurrency maintient un nombre specifie d'environnements d'execution initialises et prets. Cela elimine les cold starts mais a un cout (vous payez meme sans invocations). Ideal pour les applications sensibles a la latence.
Question 19
Comment Lambda accede-t-il aux ressources dans un VPC ?
A) Automatiquement
B) En configurant la fonction pour se connecter au VPC (subnets, Security Groups)
C) Via un VPN
D) Ce n'est pas possible
Voir la reponse
Reponse : B
Configurez la fonction avec les subnets et Security Groups du VPC. Lambda cree des ENI (Elastic Network Interfaces) dans ces subnets. Attention : cela peut augmenter le cold start et la fonction perd l'acces Internet direct (necessitant un NAT).
Question 20
Si Lambda est dans un VPC, comment accede-t-il a Internet ?
A) Automatiquement
B) Via un NAT Gateway dans un subnet public
C) Ce n'est pas possible
D) Via VPC Peering
Voir la reponse
Reponse : B
Une fonction Lambda dans un VPC n'a pas d'acces Internet direct. Pour acceder a Internet (APIs externes), configurez un NAT Gateway dans un subnet public et routez le trafic du subnet Lambda vers le NAT.
Question 21
Qu'est-ce qu'un IAM Role pour Lambda ?
A) Un role dans l'equipe
B) Les permissions accordees a la fonction pour acceder aux ressources AWS
C) Un utilisateur IAM
D) Un groupe de securite
Voir la reponse
Reponse : B
Chaque fonction Lambda assume un IAM Role d'execution qui definit ses permissions : lire S3, ecrire DynamoDB, publier SNS, ecrire logs CloudWatch, etc. Appliquez le principe du moindre privilege.
Question 22
Ou sont stockes les logs Lambda ?
A) Sur la fonction
B) Dans CloudWatch Logs, groupe /aws/lambda/nom-fonction
C) Dans S3
D) Dans DynamoDB
Voir la reponse
Reponse : B
Les logs Lambda sont automatiquement envoyes vers CloudWatch Logs dans un groupe nomme /aws/lambda/nom-de-votre-fonction. Chaque invocation cree des entrees de log. La fonction a besoin des permissions logs:CreateLogGroup, PutLogEvents.
Question 23
Comment tester une fonction Lambda ?
A) Seulement en production
B) Via la console (Test event), AWS CLI, ou localement avec SAM/LocalStack
C) Uniquement via API Gateway
D) Ce n'est pas testable
Voir la reponse
Reponse : B
Testez via : la console AWS (creez des test events JSON), AWS CLI (aws lambda invoke), AWS SAM CLI pour les tests locaux, ou LocalStack pour emuler Lambda localement. Automatisez avec des frameworks de test.
Question 24
Qu'est-ce que AWS SAM (Serverless Application Model) ?
A) Un reseau social
B) Un framework open-source pour definir et deployer des applications serverless
C) Un service de monitoring
D) Un type de Lambda
Voir la reponse
Reponse : B
AWS SAM est un framework qui etend CloudFormation pour simplifier le developpement serverless. Il fournit : une syntaxe simplifiee pour definir Lambda/API Gateway/DynamoDB, un CLI pour le build/test local et le deploiement.
Question 25
Qu'est-ce qu'un "dead letter queue" (DLQ) pour Lambda ?
A) Une file d'attente pour les messages morts
B) Une destination pour les invocations echouees apres les retries
C) Une queue de priorite
D) Une queue de sauvegarde
Voir la reponse
Reponse : B
La DLQ (SQS ou SNS) recoit les evenements qui ont echoue meme apres les tentatives de retry. Cela permet d'analyser les echecs sans perdre les messages. Configurez-la pour les invocations asynchrones.
Question 26
Quelle est la difference entre invocation synchrone et asynchrone ?
A) Aucune
B) Synchrone attend la reponse, Asynchrone retourne immediatement
C) Asynchrone est plus rapide
D) Synchrone est gratuit
Voir la reponse
Reponse : B
Invocation synchrone : l'appelant attend la reponse de Lambda (API Gateway, CLI avec RequestResponse). Asynchrone : l'appelant recoit un ack immediat, Lambda traite en arriere-plan avec retries automatiques (S3 events, SNS).
Question 27
Comment versionner une fonction Lambda ?
A) Via Git uniquement
B) En publiant des versions immutables et en utilisant des alias
C) Ce n'est pas possible
D) Automatiquement
Voir la reponse
Reponse : B
Publiez des versions immutables de votre fonction. Creez des alias (pointeurs) comme "prod", "dev" vers des versions specifiques. Cela permet le deploiement blue/green et les rollbacks. $LATEST est la version mutable de travail.
Question 28
Qu'est-ce qu'un Alias Lambda ?
A) Un pseudonyme
B) Un pointeur nomme vers une version specifique de la fonction
C) Une copie de la fonction
D) Un backup
Voir la reponse
Reponse : B
Un Alias est un pointeur nomme (ex: "prod", "dev") vers une version specifique. Vous pouvez rediriger un alias vers une nouvelle version sans changer les configurations des triggers. Supporte aussi le traffic shifting pour les canary deployments.
Question 29
Qu'est-ce que "Lambda@Edge" ?
A) Lambda au bord du reseau
B) Lambda execute au niveau des edge locations CloudFront
C) Une version edge de Lambda
D) Lambda pour IoT
Voir la reponse
Reponse : B
Lambda@Edge permet d'executer des fonctions Lambda aux edge locations CloudFront, plus pres des utilisateurs. Utile pour personnaliser le contenu, l'authentification, les redirections, la manipulation de requetes/reponses avec tres faible latence.
Question 30
Quelle commande AWS CLI invoque une fonction Lambda ?
A) aws lambda run
B) aws lambda invoke --function-name MyFunction output.json
C) aws lambda execute
D) aws lambda start
Voir la reponse
Reponse : B
La commande est aws lambda invoke --function-name NomFonction --payload fichier.json output.json. Elle invoque la fonction avec le payload specifie et ecrit la reponse dans le fichier de sortie.
Resultat
Comptez vos bonnes reponses :
- 27-30 : Excellent - Vous maitrisez AWS Lambda
- 22-26 : Bien - Quelques points a revoir
- 17-21 : Moyen - Relisez le cours avant le lab
- Moins de 17 : Insuffisant - Reprenez le cours depuis le debut
Passez au Lab Lambda une fois que vous avez atteint au moins 22 bonnes reponses.