Post on 21-Aug-2020
Distribution continue : automatisation du pipeline de déploiement
Livre blancDeployment Automation
Table des matières page
Importance de la distribution continue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
Absence d’interaction entre conception et déploiement . . . . . . . . . . . . . . . . . . . 3
Automatisation et interaction du pipeline de déploiement . . . . . . . . . . . . . . . . . 4
Intégration de la chaîne d’outils complète . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Modélisation, gestion et visualisation de votre pipeline de déploiement . . . . . 6
Automatisation du déploiement axé sur les applications . . . . . . . . . . . . . . . . . . . 7
Résumé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1www.microfocus.com
Importance de la distribution continue
La distribution continue est une pratique de distribution de logiciels qui nécessite de
créer et déployer des logiciels qui peuvent être mis en production à tout moment . Pour
satisfaire cette condition, vous devez intégrer de manière continue les modifications
logicielles apportées lors du développement, de la conception, des tests et du déploiement
des exécutables, et être prêt à les mettre en production lorsque l’activité le nécessite .
Il s’agit d’une évolution majeure de la manière dont la plupart des logiciels sont distribués
actuellement dans les services informatiques des entreprises .
Pourquoi la distribution continue est-elle importante pour les services informatiques des
entreprises ? Car elle permet aux entreprises de répondre rapidement aux attentes de leurs
clients tout en améliorant la qualité de leurs produits, et ce, à moindre coût .
_______________________________________________________________
Fig. 1
La nécessité de la distribution continue
La distribution continue permet aux entreprises de répondre rapidement aux attentes de leurs clients tout en améliorant la qualité de leurs produits, et ce, à moindre coût.
2
Livre blancDistribution continue : automatisation du pipeline de déploiement
L’objectif de la distribution continue est de mettre en place des méthodes qui permettent
de distribuer des logiciels de valeur et de qualité de manière efficace, rapide et fiable. La
distribution continue repose sur la rapidité de mise sur le marché et de développement, de la
réflexion au déploiement ; l’objectif étant de devancer la concurrence. Cette rapidité de mise
sur le marché implique un cycle d’observations plus court ainsi qu’un délai de rentabilisation
plus rapide . Avec ce cycle d’observations plus court, vous échouez, corrigez, ajustez et
réussissez plus rapidement . Cette agilité offre un avantage concurrentiel notable . C’est la
raison pour laquelle les entreprises comme Amazon et Netflix dominent leurs concurrents
respectifs, évoluent vers des marchés contigus et prennent la position de leader sur leur
marché . Ces sociétés peuvent s’adapter plus facilement à l’évolution du marché et proposer
de nouvelles fonctionnalités et services plus rapidement que leurs concurrents .
Le pipeline de déploiement constitue le coeur de la distribution continue . Il s’agit de la
mise en oeuvre automatique de votre processus de conception, de déploiement, de test et
de distribution des applications . Le pipeline de déploiement est instancié dès lors qu’une
application est modifiée .
_______________________________________________________________
La distribution continue repose sur la rapidité de mise sur le marché et de développement, de la réflexion au déploiement ; l’objectif étant de devancer la concurrence. Cette rapidité de mise sur le marché implique un cycle d’observations plus court ainsi qu’un délai de rentabilisation plus rapide.
Fig. 2
Présentation détaillée d’un pipeline de déploiement
3www.microfocus.com
Bien que le pipeline de déploiement soit un schéma efficace pour passer du développement
à la distribution d’un logiciel, le mappage d’un pipeline de déploiement automatisé dans
l’ensemble de l’entreprise peut s’avérer complexe . Les entreprises tendent à débuter en
adoptant une approche progressive . Elles commencent par les processus de développement
et de conception qui se terminent avec l’intégration continue (qui constitue la base du
pipeline de déploiement) .
Absence d’interaction entre conception et déploiement
Le pipeline de déploiement repose sur le processus d’intégration continue . Il ne peut y
avoir de distribution continue sans intégration continue . L’intégration continue permet
aux équipes de développement d’automatiser l’intégration, la conception et le test de code
dans l’environnement de développement . À l’aide d’un serveur d’intégration continue
comme Jenkins, les environnements de développement et de conception sont intégrés et
automatisés . Il existe différentes manières de lancer des conceptions, comme effectuer
une validation dans un système de contrôle de versions, réaliser une planification via un
mécanisme semblable à cron, exécuter une nouvelle version lorsque d’autres versions sont
terminées ou demander une URL de version spécifique .
_______________________________________________________________
Il ne peut y avoir de distribution continue sans intégration continue. L’intégration continue permet aux équipes de développement d’automatiser l’intégration, la conception et le test de code dans l’environnement de développement.
Fig. 3
L’absence d’interaction entre les processus dans les entreprises freine la distribution continue
4
Livre blancDistribution continue : automatisation du pipeline de déploiement
Alors que les équipes de développement dirigent les processus de développement et de conception, le processus de déploiement relève généralement de la responsabilité d’un autre service, qui dispose d’un ensemble différent d’outils, de scripts et de processus pour déployer et tester les versions dans le pipeline de déploiement.
Cependant, dans de nombreux projets logiciels, une fois la conception terminée, il y a une
absence totale d’interaction entre les processus de conception et de déploiement . Alors que
les équipes de développement dirigent les processus de développement et de conception,
le processus de déploiement relève généralement de la responsabilité d’un autre service, qui
dispose d’un ensemble différent d’outils, de scripts et de processus pour déployer et tester
les versions dans le pipeline de déploiement . L’intégration de la chaîne d’outils au serveur
d’intégration continue est souvent faible, voire inexistante . Une transmission physique a
lieu et l’équipe de déploiement commence un processus manuel exigeant pour déployer les
candidats à la distribution dans des environnements de test et de production . Cette absence
d’interaction se transforme en goulot d’étranglement lorsque les déploiements s’accumulent
et engendre des déploiements de faible qualité et des temps de cycle plus longs, le tout
s’accompagnant d’un coût supérieur pour l’entreprise .
Automatisation et interaction du pipeline de déploiement
Le produit Deployment Automation de Micro Focus fait disparaître cette absence
d’interaction en travaillant de manière fluide avec des outils d’intégration continue comme
Jenkins et en automatisant l’ensemble du pipeline de déploiement . Deployment Automation
comble ce fossé entre développement et production en intégrant la chaîne complète d’outils,
en gérant et en visualisant le déploiement des candidats à la distribution dans l’intégralité du
pipeline, le tout en se concentrant sur les applications .
_______________________________________________________________
5www.microfocus.com
Intégration de la chaîne d’outils complète
Deployment Automation prend en charge plus de 80 intégrations de chaîne d’outils
en proposant une architecture de plug-in flexible, robuste et évolutive. Les plug-ins
proposent des fonctions de traitement de base ainsi qu’une intégration à des outils tiers .
Deployment Automation est fourni avec des plug-ins utilisables dans de nombreux processus
de déploiement courants . D’autres plug-ins peuvent être facilement mis à disposition pour
une large gamme d’outils, comme les outils de test ou de middleware, les bases de données,
les serveurs et d’autres objectifs de déploiement .
Deployment Automation est fourni avec des plug-ins utilisables dans de nombreux processus de déploiement courants. D’autres plug-ins peuvent être facilement mis à disposition pour une large gamme d’outils, comme les outils de test ou de middleware, les bases de données, les serveurs et d’autres objectifs de déploiement.
Fig. 4
L’automatisation du pipeline de déploiement avec Deployment Automation
_______________________________________________________________
6
Livre blancDistribution continue : automatisation du pipeline de déploiement
Pour effectuer une intégration à Jenkins, il vous suffit de télécharger, d’installer et de
configurer le plug-in Deployment Automation de Jenkins. Deployment Automation s’intègre
aux outils de test automatisé et peut lancer un test automatique dans le cadre du processus
de déploiement . Vous pouvez également automatiser le provisioning de la pile d’applications
complète à l’aide de plug-ins pour Chef, AWS ou VMware . Pour obtenir la liste complète des
plug-ins pris en charge, consultez notre centre de documentation .
Modélisation, gestion et visualisation de votre pipeline de déploiement
Le pipeline de déploiement modélise votre processus de distribution de logiciels, du contrôle
de version à la livraison au client. Chaque fois qu’une modification est validée, un nouveau
pipeline de déploiement est instancié. Selon l’application et la modification, le pipeline de
déploiement peut s’étendre à différents chemins et environnements requis . Le déploiement
dans ces environnements peut s’effectuer dans un certain ordre, en plusieurs flux parallèles
ou être proposé sous forme d’étapes facultatives manuellement sélectionnées . Le nombre de
pipelines de déploiement à gérer peut augmenter selon le nombre d’applications, d’équipes,
d’exigences et d’environnements .
Deployment Automation vous permet de gérer facilement tous vos pipelines de déploiement,
et ce, dans leur intégralité . Vous pouvez facilement créer, importer, exporter et visualiser
tous les pipelines de déploiement et les environnements associés . Vous pouvez également
demander un processus de déploiement sur le premier environnement du pipeline
uniquement . Par la suite, vous pouvez promouvoir uniquement les environnements suivants .
Cela permet de garantir que la même configuration est utilisée pour chaque environnement
du pipeline .
La promotion automatique, si elle est sélectionnée, promeut automatiquement le candidat
à la distribution s’il a été déployé avec succès dans le premier environnement . Si le
déploiement dans cet environnement est réussi, l’application est automatiquement promue
vers l’environnement suivant dans l’ordre du pipeline . Si chaque promotion est réussie, la
promotion automatique continue d’un environnement à l’autre jusqu’à la promotion vers le
dernier environnement du pipeline .
L’affichage du pipeline de déploiement offre une vision globale de la manière dont chaque
environnement est utilisé dans chaque pipeline . Vous pouvez rapidement comprendre ce qui
est déployé et où le déploiement est effectué, le tout au sein d’un seul produit .
Deployment Automation vous permet de gérer facilement tous vos pipelines de déploiement, et ce, dans leur intégralité.
7www.microfocus.com
Il est important de vérifier que les composants d’application testés ensemble sont déployés ensemble. Deployment Automation résout cette question grâce à la prise en charge des snapshots et des processus d’application.
Automatisation du déploiement axé sur les applications
Les applications actuelles contiennent des composants qui peuvent être tirés de différentes
sources et déployés sur des plates-formes, ressources et niveaux d’application différents .
La coordination et l’harmonisation sont essentielles pour réussir le déploiement de ces
applications. Il est important de vérifier que les composants d’application testés ensemble
sont déployés ensemble . Deployment Automation résout cette question grâce à la prise en
charge des snapshots et des processus d’application .
Les processus d’application peuvent s’exécuter manuellement, automatiquement avec une
condition de déclenchement ou selon une planification établie par l’utilisateur. Lorsque
plusieurs processus sont définis pour un composant, l’application détermine les processus
exécutés et l’ordre de leur exécution . Par exemple, une application multiniveaux peut avoir
un niveau Web et un niveau base de données . Une fois approuvés, le niveau Web et le
niveau base de données sont déployés simultanément . Le processus d’application appelle
les processus de composant associés contenant toutes les étapes de déploiement afin de
déployer les composants sur les ressources spécifiques.
Un snapshot représente l’état actuel d’une application dans l’environnement . Les snapshots
spécifient la combinaison des versions de composant que vous déployez ensemble. Ce
sont des modèles que vous créez avant de déployer l’application. Un snapshot spécifie
la version exacte de chaque composant de l’application . Lorsqu’un snapshot est créé,
Deployment Automation collecte les informations sur l’application, y compris les versions de
composant, pour un environnement donné .
Pour la plupart des utilisateurs, le snapshot est tiré dans le pipeline . Un snapshot est créé
en fonction de l’état de l’application dans l’environnement . Il capture par conséquent les
différentes versions des composants à un moment donné .
Résumé
La distribution continue peut améliorer de manière significative la valeur que vous apportez
au client, mais elle peut être difficile à mettre en oeuvre. Beaucoup d’entreprises ont mis en
oeuvre l’intégration continue, qui constitue la base de la distribution continue, mais elles
ne parviennent pas à effectuer une transition fluide vers le processus de déploiement et de
distribution, et à l’automatiser . Deployment Automation peut intégrer, gérer et automatiser
l’intégralité de votre pipeline de déploiement, le tout en se concentrant sur les applications .
162-FR0098-001 | S | 03/17 | © 2017 Micro Focus. Tous droits réservés. Micro Focus et le logo Micro Focus, entre autres, sont des marques ou des marques déposées de Micro Focus ou de ses filiales et sociétés affiliées au Royaume-Uni, aux États-Unis et dans d’autres pays. Toutes les autres marques sont la propriété de leurs détenteurs respectifs.
www.microfocus.com
Micro FocusFrance+33 (0) 1 55 70 30 13
Micro FocusSiège social au Royaume-UniRoyaume-Uni+44 (0) 1635 565200
www.microfocus.com