DevOps - Livraison Continue & Déploiement Continu

Par asarkes, 26 février, 2024

Bienvenue dans la suite de notre exploration du DevOps ! Après avoir discuté de l'importance de l'Intégration Continue (CI), nous plongeons maintenant dans le monde de la Livraison Continue (CD) et du Déploiement Continu (CD). Construisant sur les bases de la CI, ces pratiques nous emmènent vers une réalité où le passage fluide du code de développement à la production devient plus qu'une simple possibilité.

 

Qu'est-ce que la Livraison Continue ?

La Livraison Continue (CD) étend l'Intégration Continue (CI) en automatisant les processus au-delà de l'intégration du code, préparant ainsi les modifications logicielles pour la production. Malgré l'accent sur l'automatisation, la validation manuelle est généralement requise avant le déploiement final en production pour garantir une diffusion maîtrisée et validée.

 

Qu'est-ce que le Déploiement Continu ?

Le Déploiement Continu est une pratique automatisée de mise en production où chaque modification du code réussissant les tests est déployée directement, sans intervention humaine, accélérant ainsi la diffusion des fonctionnalités.

 

l’Intégration Continue (CI) vs. la Livraison Continue (CD) vs. le Déploiement Continu (CD) ?

L’Intégration Continue consiste à intégrer régulièrement les changements de code dans un dépôt central, déclenchant des tests automatiques pour détecter les problèmes d'intégration. La Livraison Continue étend la CI en automatisant le processus de préparation des changements de code pour la publication, mais la décision de déployer reste manuelle. Enfin, le Déploiement Continu va encore plus loin en automatisant le déploiement en production dès que les tests automatiques sont réussis, éliminant ainsi toute intervention manuelle.

N.B. Dans le contexte de CI/CD, les lettres « CD » peuvent représenter à la fois la Livraison (Continuous Delivery) et le Déploiement (Continuous Deployment).

 

Quels sont les avantages de la Livraison Continue et du Déploiement Continu ?

Livraison Continue (CD):
  • Contrôle Supplémentaire : Offre un contrôle manuel sur le déploiement.
  • Adaptabilité aux Complexités : Convient aux processus de sortie complexes.
  • Compliance et Sécurité : Idéale pour les industries réglementées.
  • Équilibre Contrôle-Vitesse : Maintient un équilibre entre vitesse et contrôle.
  • Gestion des Risques : Permet une évaluation approfondie avant le déploiement.
Déploiement Continu (CD):
  • Rapidité : Mises en production plus rapides.
  • Rétroaction Immédiate : Favorise une rétroaction utilisateur rapide.
  • Automatisation Forte : Réduit les erreurs humaines grâce à l'automatisation.
  • Efficacité Améliorée : Permet une concentration accrue sur le développement.
  • Réduction des Risques : Minimise les risques avec une automatisation robuste.

 

Image retirée.

 

Quels outils utiliser pour la Livraison Continue et le Déploiement Continu ?

Outils de Livraison Continue (CD) :
  • Spinnaker
  • GoCD
  • AWS CodePipeline
  • Concourse CI
  • Azure DevOps
Outils de Déploiement Continu (CD) :
  • Spinnaker
  • AWS Elastic Beanstalk
  • Heroku
  • Google Cloud Deployment Manager
  • Capistrano

Le choix de l'outil dépend de facteurs tels que les préférences de l'équipe, les exigences du projet et l'intégration avec d'autres outils de développement.

 

Conclusion

En conclusion, la Livraison Continue (CD) et le Déploiement Continu (CD) représentent des étapes essentielles dans le processus de développement logiciel moderne. En construisant sur les fondations de l'Intégration Continue (CI), elles permettent une transition harmonieuse du code du développement à la production, accélérant ainsi la mise en œuvre de nouvelles fonctionnalités. Ces pratiques représentent la réalisation des principes fondamentaux de DevOps, une approche qui transcende les barrières entre le développement et les opérations.

 

_________________________________________________________________________________________________________________________________________

 

Références :

Found, D., & Pâquet, L. (4 décembre 2023). « Qu’est-ce que le CI/CD/CD ? », levio, https://levio.ca/expertises/qu-est-ce-que-le-cicdcd-differences-avantages-et-applications-au-developpement-et-a-l-exploitation/ (consulté le 21 février 2024)

« Un pipeline CI/CD, qu'est-ce que c'est ? », (11 mai 2022). Red Hat, https://www.redhat.com/fr/topics/devops/what-cicd-pipeline (consulté le 21 février 2024)

Gaba, I. (15 février 2023). « What is Continuous Integration, Deployment, and Delivery? », Simplilearn, https://www.simplilearn.com/tutorials/devops-tutorial/continuous-delivery-and-continuous-deployment (consulté le 21 février 2024)

Caum, C., (12 novembre 2021). « Continuous Delivery vs. Deployment: How They're Different + When to Use Each », Puppet, https://www.puppet.com/blog/continuous-delivery-vs-deployment (consulté le 21 février 2024)

Pittet, S., (s.d.) « Continuous integration vs. delivery vs. deployment », Atlassian, https://www.atlassian.com/continuous-delivery/principles/continuous-integration-vs-delivery-vs-deployment (consulté le 21 février 2024)

« Continuous Delivery vs. Continuous Deployment: Where To Draw The Line? », (s.d.), Katalon, https://katalon.com/resources-center/blog/continuous-delivery-vs-continuous-deployment (consulté le 21 février 2024)

Étiquettes

Commentaires1

wbenaraiba

il y a 11 mois 1 semaine

Bonjour, 

Pour quelles raisons certaines compagnies utilsent toujours les déploiement  mannuels malgrès l'efficacité des déploiement automatisé ?

Merci