Imaginez que vous allez gérer un certain nombre de serveurs avec un certain nombre de services différents utilisés par un certain nombre de personnes. Supposons maintenant que vous souhaitiez reconfigurer ou remplacer certains logiciels sur l'un de ces serveurs. Évidemment, vous ne voulez pas travailler sur des serveurs en production.
S'il s'agissait d'un changement de code, en tant que développeur, je ferais le changement sur ma machine de développement locale, le testerais localement et validerais le changement dans un système de contrôle de version. Les modifications pourraient ensuite être déployées dans un environnement intermédiaire, testées plus avant et finalement déployées dans un environnement de production. Il serait également facile pour moi de revenir en arrière, si nécessaire.
De manière générale ou spécifique, comment y parvenir dans l'administration système?
(La première chose qui me vient à l'esprit est d'utiliser des machines virtuelles et de mettre des images de machines virtuelles dans le contrôle de version, mais je suis sûr qu'il y a beaucoup de littérature et de solutions intelligentes que je ne connais pas actuellement.)