Bases du cloud et des conteneurs

Quelle est une manière appropriée de mettre à jour le logiciel des serveurs de production conformément à l'idée d'infrastructure immuable ?

  1. ASe connecter par SSH aux serveurs de production en fonctionnement, mettre à jour les paquets puis redémarrer le service
  2. BCréer de nouveaux serveurs à partir d'une nouvelle image qui contient la mise à jour, basculer vers eux et jeter les anciens serveurs sans les modifier
  3. CRéécrire à la main les fichiers de configuration sans arrêter les serveurs de production, et consigner les modifications dans un journal de travail
Afficher la réponse et l'explication

Réponse : B. Créer de nouveaux serveurs à partir d'une nouvelle image qui contient la mise à jour, basculer vers eux et jeter les anciens serveurs sans les modifier

Avec une infrastructure immuable, les serveurs (machines virtuelles ou conteneurs) ne sont jamais modifiés une fois créés ; quand un changement est nécessaire, on en crée de nouveaux à partir d'une image qui contient ce changement et on les met à la place. Comme chaque serveur est créé à partir de la même image, les configurations ne divergent pas d'un serveur à l'autre par l'accumulation de différences manuelles. En cas de problème, recréer les serveurs à partir de l'image précédente rétablit l'ancien état. Tout ce qui doit être conservé, comme les journaux et les données, est stocké dans du stockage ou des bases de données hors des serveurs.

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

Autres questions sur Bases du cloud et des conteneurs

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