Bases du cloud et des conteneurs

Un service qui reçoit 12 000 requêtes par heure effectue un déploiement canari d'une nouvelle version et n'envoie à celle-ci que 5 % des requêtes. La nouvelle version a un bogue qui fait échouer 3 % des requêtes qu'elle reçoit ; on s'en aperçoit au bout d'une heure, et toutes les requêtes sont renvoyées vers l'ancienne version. Combien de requêtes ont échoué à cause du bogue pendant cette heure ?

  1. A18
  2. B360
  3. C600
Afficher la réponse et l'explication

Réponse : A. 18

La nouvelle version a reçu 12 000 × 5 % = 600 requêtes, dont 3 % ont échoué, soit 600 × 3 % = 18 requêtes en échec. Si toutes les requêtes avaient été basculées d'un coup vers la nouvelle version, 12 000 × 3 % = 360 auraient échoué. Un déploiement canari limite ainsi à une petite part les requêtes touchées par un bogue, et augmente cette part s'il n'y a pas de problème, tout en surveillant des indicateurs comme le taux d'erreur et le temps de réponse. Comparer les indicateurs de la nouvelle et de l'ancienne version exige suffisamment de requêtes : la part et la durée d'observation se décident donc ensemble.

S'entraîner sur ce thème Retour au thème

Autres questions sur Bases du cloud et des conteneurs

  1. Une image de conteneur construite par une chaîne CI/CD a été testée dans l'environnement de préproduction (staging) et validée. Quelle est la manière la plus appropriée de mettre cette image en production ?
  2. Comme ci-dessus, la destination de connexion à la base de données n'est pas écrite dans l'image, mais transmise sous forme de variable d'environnement au démarrage du conteneur. Quel est le principal avantage de cette conception ?
  3. Dans un système où plusieurs services fonctionnent ensemble, on veut savoir par quels services est passée une requête d'un utilisateur, dans quel ordre, et combien de temps elle a passé dans chacun. Parmi les données utilisées pour l'observabilité, laquelle est la plus adaptée ?
  4. Parmi les fonctions du noyau Linux qui permettent les conteneurs, quelle association entre les espaces de noms (namespaces), les cgroups (groupes de contrôle) et leur rôle est correcte ?
  5. Sur un hôte Linux, Docker sert à démarrer un conteneur à partir d'une image fondée sur une autre distribution que celle de l'hôte, et l'on y exécute uname -r (commande qui affiche la version du noyau) et cat /etc/os-release (commande qui affiche les informations sur la distribution). Quelle description des résultats est correcte ?