Continuous Delivery

La livraison continue (Continuous Delivery - CD) est le processus de construction, de test, de configuration et de déploiement d'un environnement de construction à un environnement de production.

Des environnements de test ou de mise en scène multiples créent un pipeline de diffusion pour automatiser la création de l'infrastructure et le déploiement d'une nouvelle version.

Les environnements successifs prennent en charge des activités d'intégration, de chargement et de tests d'acceptation par l'utilisateur qui s'étendent progressivement sur une longue période.
L'intégration continue démarre le processus de CD et le pipeline fait passer chaque environnement successif au suivant une fois les tests terminés avec succès.

La livraison continue (Continuous Delivery - CD) peut séquencer plusieurs "anneaux" de déploiement pour une exposition progressive.
L'exposition progressive regroupe les utilisateurs qui peuvent essayer les nouvelles versions afin de contrôler leur expérience des "anneaux".
Le premier anneau de déploiement est souvent un "canari" utilisé pour tester les nouvelles versions en production avant un déploiement plus large.

La livraison continue (Continuous Delivery - CD automatise le déploiement d'un anneau à l'autre et peut éventuellement dépendre d'une étape d'approbation, au cours de laquelle un décideur approuve les changements par voie électronique.
La livraison continue (Continuous Delivery - CD peut créer un enregistrement vérifiable de l'approbation afin de satisfaire aux procédures réglementaires ou à d'autres objectifs de contrôle.

Sans la livraison continue (Continuous Delivery – CD), les cycles de lancement des logiciels constituaient auparavant un goulot d'étranglement pour les équipes d'application et d'exploitation.
Les processus manuels conduisaient à des versions peu fiables qui produisaient des retards et des erreurs.
Ces équipes s'appuyaient souvent sur des transferts qui entraînaient des problèmes au cours des cycles de mise en production.
Le pipeline de versions automatisé permet une approche "rapide" de la validation, où les tests les plus susceptibles d'échouer rapidement sont exécutés en premier et les tests plus longs ont lieu après que les plus rapides aient été menés à bien.

La diffusion continue est une pratique allégée.
L'objectif de la livraison continue (Continuous Delivery – CD) est de maintenir la production fraîche en réalisant le chemin le plus court entre la disponibilité du nouveau code dans le contrôle de version ou des nouveaux composants dans la gestion des paquets et le déploiement.
Par l'automatisation, la livraison continue (Continuous Delivery – CD) réduit au minimum le temps de déploiement et le temps d'atténuation ou de correction des incidents de production (TTM et TTR).
En termes d'optimisation, cela permet d'optimiser le temps de traitement et d'éliminer les temps morts.
La livraison continue est considérablement facilitée par les pratiques complémentaires de l'infrastructure comme le code et la surveillance.

La livraison continue de la valeur est devenue une exigence obligatoire pour les organisations. Pour apporter de la valeur à vos utilisateurs finaux, vous devez publier en continu et sans erreur.

La diffusion continue prend également en charge deux autres modèles d'exposition progressive en plus des anneaux séquentiels.
Le "déploiement bleu/vert" consiste à maintenir en vie une version existante (bleue) pendant qu'une nouvelle version (verte) est déployée.
Généralement, on utilise l'équilibrage de charge pour diriger des volumes de trafic croissants vers le déploiement vert.
Si la surveillance découvre un incident, le trafic peut être redirigé vers le déploiement bleu toujours en cours.

Les "Feature flags" (ou "feature toggles") sont une autre technique utilisée pour l'expérimentation et les "dark launches".
Les "feature flags" permettent d'activer ou de désactiver des fonctionnalités pour différents utilisateurs finaux en fonction de leur identité et de leur appartenance à un groupe.

Les filières de lancement modernes permettent aux équipes de développement de déployer de nouvelles fonctionnalités rapidement et en toute sécurité. Les problèmes rencontrés en production peuvent être résolus rapidement en procédant à un nouveau déploiement. De cette façon, la livraison continue (Continuous Delivery – CD) crée un flux continu de valeur pour le client.