Gestion des Déploiements
Objectif
Message Clé
Le but de la gestion de déploiement est de déplacer du matériel, des logiciels, de la documentation, des processus ou tout autre composant, qu'ils soient nouveaux ou modifiés, vers des environnements de production. Il peut également être impliqué dans le déploiement de composants dans d'autres environnements à des fins de test ou de recette.
Gestion du déploiement travaille en étroite collaboration avec la gestion des mises en production et le contrôle des changements, mais est une pratique distincte. Dans certaines organisations, le terme «provisionning» est utilisé pour décrire le déploiement de l’infrastructure, et le terme déploiement désigne uniquement le déploiement de logiciels, mais dans ce cas, le terme déploiement désigne les deux.Un certain nombre d'approches distinctes peuvent être utilisées pour le déploiement. De nombreuses organisations utilisent une combinaison de ces approches, en fonction de leurs services et exigences spécifiques, ainsi que de la taille, du type et de l'impact des mises en production.
- Déploiement par étapes : Les composants nouveaux ou modifiés sont déployés dans une partie de l'environnement de production à la fois, par exemple pour les utilisateurs d'un bureau ou d'un pays. Cette opération est répétée autant de fois que nécessaire jusqu'à la fin du déploiement
- Livraison continue (CD) : Les composants sont intégrés, testés et déployés quand ils sont nécessaires, offrant de nombreuses occasions pour les retour d'information (Feedback) des clients.
- Déploiement Big Bang : Les composants nouveaux ou modifiés sont déployés sur toutes les cibles en même temps. Cette approche est parfois nécessaire lorsque des dépendances empêchent l'utilisation simultanée de l'ancien et du nouveau composant. Par exemple, une modification de schéma de base de données pourrait ne pas être compatible avec les versions précédentes de certains composants
- Tirer le Déploiement : Un nouveau logiciel ou modifié est mis à disposition dans un référentiel contrôlé, et les utilisateurs de télécharger le logiciel aux périphériques clients lorsqu'ils choisissent. Cette approche permet aux utilisateurs de contrôler le calendrier des mises à jour et peut être intégrée à la gestion des demandes pour leur permettre de demander des logiciels uniquement lorsque cela est nécessaire.
Les composants disponibles pour le déploiement doivent être conservés dans un ou plusieurs emplacements sécurisés pour garantir qu'ils ne sont pas modifiés avant le déploiement. Ces emplacements sont collectivement appelés une bibliothèque des médias définitif pour les logiciels et la documentation, et un magasin de matériels définitif pour les composants matériels.
Les outils prenant en charge le déploiement sont nombreux et variés. Ils sont souvent intégrés aux outils de gestion des configurations, et peuvent apporter un soutien à l'audit et la gestion des changements. La plupart des organisations ont des outils pour déployer les logiciels client, et ceux-ci peuvent être intégrés à un portail de services pour soutenir une pratique de gestion des demandes de service.
La communication autour des déploiements fait partie de la gestion des mises en production. Les déploiements individuels n'intéressent généralement pas les utilisateurs et les clients jusqu'à leur mises en production.
Si l'infrastructure est fournie en tant que service, le déploiement de serveurs, de stockage ou de réseaux nouveaux ou modifiés, est généralement géré par l'organisation, qui considère souvent l'infrastructure comme un code, afin que l'organisation puisse automatiser le déploiement. Dans ces environnements, il est possible que certains déploiements peuvent être sous le contrôle du fournisseur, telles que l'installation des mises à jour du firmware, ou s'ils fournissent le système d'exploitation, ainsi que l'infrastructure, ils peuvent déployer des correctifs du système d'exploitation. L’organisation informatique doit s’assurer qu’elle sait quels déploiements sont planifiés et lesquels ont eu lieu pour maintenir un environnement contrôlé.
Si le développement d'applications est fourni en tant que service, le déploiement peut être effectué par le développeur d'applications externe, par le département informatique interne ou par un intégrateur de services.Là encore, il est essentiel que l’organisation soit informée de tous les déploiements afin qu’un environnement contrôlé puisse être maintenu.
Dans un environnement avec plusieurs fournisseurs, il est important de comprendre la portée et les limites des activités de déploiement de chaque organisation et leur interaction. La plupart des organisations ont mis en place un processus de déploiement, qui est souvent pris en charge avec des outils standard et des procédures détaillées pour garantir que le logiciel est déployé de manière cohérente. Il est courant d'avoir différents processus pour différents environnements. Par exemple, il peut exister un processus pour le déploiement du logiciel d'application client et un processus complètement différent pour le déploiement des correctifs du système d'exploitation du serveur.
Carte thermique de contribution aux activités de la chaîne de valeur
La figure montre la contribution de la gestion de déploiement à la chaîne de valeur du service, la pratique étant appliquée principalement à la conception et à la transition, ainsi qu'à l'obtention / la création d'activités de la chaîne de valeur, mais également à l'amélioration de l'activité :
- Améliorer : certaines améliorations peuvent nécessiter le déploiement de composants avant leur livraison, et ils doivent être planifiés et gérés de la même manière que tout autre déploiement
- Conception & Transition : La gestion de déploiement déplace les composants nouveaux et modifiés vers des environnements de production, ce qui en fait un élément vital de cette activité de la chaîne de valeur
- Obtenir / Construire : Les modifications peuvent être déployées de manière incrémentielle dans le cadre de cette activité de la chaîne de valeur. Ceci est particulièrement courant dans les environnements DevOps où la chaîne d'outils complète CI / CD peut être automatisée