Jump to section

L'automatisation du déploiement, qu'est-ce que c'est ?

Copier l'URL

L'automatisation du déploiement vous permet de déplacer vos logiciels entre les environnements de test et de production à l'aide de processus automatisés. Ainsi, vous assurez la reproductibilité et la fiabilité des déploiements tout au long du cycle de distribution.

L'automatisation du déploiement permet de lancer de nouvelles fonctions et applications plus rapidement et fréquemment, sans intervention humaine.

L'automatisation du déploiement est essentielle pour la mise en œuvre des pratiques de DevOps et la gestion du pipeline CI/CD.

La méthode dite d'intégration et de distribution continues (CI/CD) permet d'accélérer le rythme de distribution des applications aux clients. Elle se base sur l'automatisation et la surveillance continues tout au long du cycle de vie, de l'intégration aux tests, à la distribution et au déploiement

En général, dans le cadre de l'intégration continue, les modifications apportées par le développeur à une application sont automatiquement testées et chargées dans un référentiel (tel que GitHub ou un registre de conteneurs), où elles peuvent être déployées dans un environnement de production actif par l'équipe d'exploitation (ou de manière automatisée).

Une fois les modifications intégrées, elles sont validées par la création automatique de l'application et l'exécution de tests automatisés de différents niveaux (en général des tests d'unité et d'intégration) pour s'assurer qu'elles ne perturbent pas le bon fonctionnement de l'application.

 

En quoi consiste la distribution continue ? Découvrez comment un pipeline CI/CD contribue à l'automatisation du développement des applications.

 

Le déploiement continu (l'autre signification possible de « CD ») peut désigner l'utilisation de l'automatisation du déploiement pour publier les modifications du développeur depuis le référentiel vers l'environnement de production, où elles peuvent être utilisées par les clients. 

En l'absence de passerelle de déploiement manuelle entre cette étape du pipeline de déploiement et la production, le déploiement continu dépend surtout de la conception de l'automatisation des processus de test.

Le recours à l'automatisation pour assurer un déploiement continu permet de soulager les équipes d'exploitation surchargées par les tâches manuelles qui ralentissent la distribution des applications.

Elle repose sur l'intégration continue en automatisant l'étape suivante du pipeline de déploiement.

Pour appliquer la méthode CI/CD, les équipes de développement et d'exploitation doivent collaborer de manière agile, que ce soit dans le cadre d'une approche DevOps ou d'ingénierie de la fiabilité des sites.

L'adoption d'une méthode agile pendant le développement des logiciels permet d'écourter les cycles de lancement, de réduire les temps d'arrêt et de corriger les problèmes dès qu'ils surviennent, sans attendre une nouvelle version.

Il est impossible d'automatiser le déploiement si l'équipe de développement et l'équipe d'exploitation ne se mettent pas d'accord sur la manière de déployer les applications ou de configurer les environnements. 

En effet, pour automatiser un environnement, il faut que celui-ci soit cohérent. Aussi, vous devez appliquer le même processus de déploiement à tous vos environnements, y compris l'environnement de production. 

Si les deux équipes ne s'accordent pas, l'équipe d'exploitation risque d'effectuer les déploiements manuellement, ce qui augmente le risque d'erreurs et d'incohérences et ralentit le cycle de distribution. 

C'est pour cela qu'il est essentiel que ces deux équipes collaborent et suivent les pratiques DevOps. Elles doivent élaborer ensemble le processus d'automatisation du déploiement, afin d'assurer sa cohérence et sa reproductibilité. 

En général, un pipeline de déploiement se compose de trois étapes principales (parfois plus) : création, test et déploiement. C'est ce pipeline qui vous permet d'automatiser le processus de déploiement et d'assurer un passage rapide du code en déploiement.

  • Création : un développeur envoie du code dans un référentiel de logiciel. Les modifications apportées au code doivent être intégrées dans des environnements qui correspondent à l'environnement de production.
  • Test : un outil d'automatisation du déploiement, tel que Jenkins ou Ansible, détecte le nouveau code et déclenche une série de tests. Une fois que le code a passé tous les tests, il peut être lancé en production. Sans processus d'automatisation du déploiement, cette étape s'effectue manuellement.
  • Déploiement : à cette étape, l'application est déployée en production et mise à la disposition des utilisateurs.

Pour les équipes DevOps et agiles, la phase de test doit être menée en même temps que le développement. Les commentaires doivent être renvoyés à l'équipe de développement de façon continue. 

L'intégration continue est essentielle au processus de développement, car elle permet d'éviter tout conflit entre ces mises à jour fréquentes. Si les développeurs parviennent à apporter régulièrement des modifications au code de leur application, à les tester, puis à les fusionner dans un référentiel partagé, cela signifie que l'intégration continue est réussie.

Vous devez aussi être en mesure de déployer votre logiciel dans un environnement quand bon vous semble. Si vous devez envoyer une demande pour qu'un nouvel environnement soit créé, alors votre processus n'est pas automatisé.

La solution Red Hat® Ansible® Automation Platform comprend tous les outils nécessaires pour mettre en œuvre l'automatisation à l'échelle de l'entreprise, notamment des playbooks, un tableau de bord visuel et des outils d'analyse.

Cette solution vous permet de déployer des applications à plusieurs niveaux de manière fiable et cohérente, à partir d'un framework commun. Vous pouvez configurer les services requis et publier les artefacts d'application depuis un seul et même système.

Les playbooks Ansible, rédigés en YAML, décrivent l'état souhaité de vos systèmes. Ils sont généralement stockés dans un système de contrôle de source. La solution Red Hat Ansible Automation Platform se charge de faire passer vos systèmes à l'état souhaité, quel que soit leur état actuel. 

Les playbooks Ansible augmentent la reproductibilité et la fiabilité des installations, des mises à jour et de la gestion au quotidien.

En outre, la solution Red Hat Ansible Automation Platform a été classée parmi les leaders par Forrester Research dans son rapport Forrester Wave™ : Infrastructure Automation Platforms, Q3 2020.

Les entreprises souhaitent non seulement adopter une solution facile à mettre en place, mais aussi partager et réutiliser les processus d'automatisation d'un projet à l'autre, entre plusieurs équipes, sans sacrifier la gouvernance et le contrôle. 

Avec la solution d'automatisation adéquate, vous pouvez déployer plus rapidement de nouveaux services et applications, gérer plus efficacement l'infrastructure informatique et constater une amélioration de la productivité en matière de développement d'applications.

Lire la suite

Article

Apprendre les bases d'Ansible

Ansible permet d'automatiser les processus informatiques tels que le provisionnement et la gestion des configurations. Apprenez les bases d'Ansible en lisant cette présentation des concepts clés.

Article

La gestion des processus métier, qu'est-ce que c'est ?

La gestion des processus métier est une pratique de modélisation, d'analyse et d'optimisation des processus métier de bout en bout qui vous permet d'atteindre vos objectifs métier stratégiques.

Article

Red Hat, un partenaire de choix en matière d'automatisation

La solution Red Hat Ansible Automation Platform comprend tous les outils nécessaires au partage des processus d'automatisation entre les équipes et à la mise en œuvre de l'automatisation à l'échelle de l'entreprise.

En savoir plus sur l'automatisation

Produits

Contrats avec des conseillers stratégiques qui prennent en considération tous les tenants et les aboutissants de votre entreprise, analysent les défis auxquels vous êtes confrontés et vous aident à les relever avec des solutions complètes et économiques.

Plateforme pour la mise en œuvre de l'automatisation à l'échelle de l'entreprise, quelle que soit votre situation.

Ressources

Formations

Cours gratuit

L'essentiel d'Ansible : automatiser en toute simplicité – Présentation technique

Cours gratuit

Red Hat Ansible Automation pour SAP