Gestion de configuration VS Déploiement de code

Les différences entre un outil de gestion de configuration et un outil de déploiement de code qui rendre leur distinction nécessaire.
  • La gestion de configuration est continue, permanente, à intervalle régulier
  • Le déploiement est ponctuel, à la demande et à intervalle irrégulier
  • La gestion de configuration est automatique chaque machine va chercher elle même les mises jours éventuel
  • Le déploiement est manuel. L’utilisateur pousse les changements et les applique
  • La gestion de configuration est idempotente et l’application d’une configuration a le même effet qu’on l’applique une ou plusieurs fois, en la réappliquant on ne modifiera pas le serveur
  • Le déploiement n’est pas idempotent, chaque application remplace la précédente même si c’est la même, réinitialise les caches, recompile des données, a un impacte pour le client (internaute) etc..
  • La gestion de configuration implique une vérification de la conformité de serveurs à une recette, par eux même et l’exécution éventuel de tache de mise à jour toujours en automatique.
  • Le déploiement implique un ensemble de taches systématiquement exécuté et lancé en parallèle sur des groupes de machines assignées à des rôles.
  • La gestion de configuration implique la gestion des ressources (d’une partie au moins) en local du serveur de configuration (fichier, template, paquet, adresse de dépot etc..)
  • Le déploiement n’implique pas des gestion en ressources en local du serveur de déploiement mais l’appel de ressource externe préparé en amont ; git, svn, dépôt, s3, torrent etc..
  • La gestion de configuration n’utilise pas de notion de Rollback principalement car elle s’applique à une entité physique (serveur, instance) qui ne peux jamais revenir à un état antérieur.
  • Le déploiement comporte la notion de Rollback lié à l’aspect logique du code versionné, qui peux revenir à un état antérieur exacte et parfait

Laisser un commentaire