Bases du cloud et des conteneurs
Avec des fonctions sans serveur (FaaS), il arrive que seul le premier appel d'une fonction qui n'a pas été appelée depuis un certain temps réponde avec quelques centaines de millisecondes à quelques secondes de retard. Quelle explication de ce phénomène est correcte ?
- ALe résultat du premier appel est mis en cache : à partir du deuxième appel, le code de la fonction n'est pas exécuté et seul le résultat enregistré est renvoyé
- BIl faut du temps pour préparer un nouvel environnement d'exécution de la fonction, démarrer l'environnement d'exécution du langage et effectuer l'initialisation (un démarrage à froid)
- CAu premier appel, le code de la fonction est envoyé sur l'appareil de l'utilisateur, compilé sur place, puis exécuté
Afficher la réponse et l'explication
Réponse : B. Il faut du temps pour préparer un nouvel environnement d'exécution de la fonction, démarrer l'environnement d'exécution du langage et effectuer l'initialisation (un démarrage à froid)
Pour les fonctions sans serveur, le fournisseur prépare au besoin des environnements d'exécution (comme des conteneurs ou des machines virtuelles légères) et les libère quand ils ne sont pas utilisés pendant un certain temps. Le premier appel après la libération d'un environnement exige de préparer l'environnement, de démarrer l'environnement d'exécution du langage et d'effectuer l'initialisation de la fonction, et la réponse est retardée d'autant. Les appels suivants réutilisent l'environnement préparé et sont plus rapides (un démarrage à chaud). Parmi les contre-mesures figurent l'allègement de l'initialisation et des bibliothèques chargées, et des réglages qui maintiennent prêt à l'avance un certain nombre d'environnements.
Continuer : 9 autres questions sur Bases du cloud et des conteneurs