Bases du cloud et des conteneurs

On prépare deux environnements ayant la même configuration que la production ; la version actuelle continue de tourner dans l'un pendant que la nouvelle version est installée et vérifiée dans l'autre, puis le répartiteur de charge est basculé d'un coup vers ce dernier. En cas de problème, on revient rapidement à l'ancienne version en rebasculant. Quelle est cette méthode de mise en production ?

  1. ADéploiement bleu-vert
  2. BDéploiement canari
  3. CMise à jour progressive (rolling update)
Afficher la réponse et l'explication

Réponse : A. Déploiement bleu-vert

Le déploiement bleu-vert prépare deux environnements (bleu et vert) et bascule d'un coup le trafic des utilisateurs vers le nouvel environnement. L'ancien environnement est laissé tel quel pendant un certain temps : en cas de problème, il suffit de rebasculer pour rétablir l'ancienne version. En revanche, il faut des ressources pour deux environnements autour du basculement, et les modifications du schéma de la base de données doivent se faire sous une forme utilisable par l'ancienne comme par la nouvelle version. Un déploiement canari n'expose la nouvelle version qu'à une partie des requêtes, et une mise à jour progressive remplace les serveurs quelques-uns à la fois.

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

Autres questions sur Bases du cloud et des conteneurs

  1. 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 ?
  2. 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 ?
  3. 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 ?
  4. 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 ?
  5. 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 ?