Definition

Déploiement blue/green ou bleu/vert

Le déploiement bleu/vert (en anglais « blue green deployment ») est une stratégie de gestion du changement pour la publication de code informatique. Ce type de déploiement, également appelé déploiement A/B, nécessite deux environnements matériels identiques configurés exactement de la même façon. Pendant qu'un environnement est actif et sert les utilisateurs finaux, l'autre est inactif.

Les déploiements bleu/vert sont souvent utilisés pour les applications à destination des consommateurs ou présentant des exigences spécifiques en termes de disponibilité. Le nouveau code est publié dans l'environnement inactif, où il est testé de façon approfondie. Une fois le code validé, l'équipe active l'environnement, le plus souvent en configurant un routeur pour rediriger le trafic du programme d'application. Le processus s'inverse lorsque l'itération logicielle suivante est prête à être publiée.

Si des problèmes sont détectés après le changement, le trafic peut être redirigé vers la configuration inactive qui exécute encore la version d'origine. Lorsque le nouveau code a fait ses preuves en production, l'équipe peut décider de mettre à jour la version qui figure dans l'environnement de configuration inactif pour assurer une capacité supplémentaire de reprise après désastre.

Dans un déploiement bleu/vert, des environnements identiques fonctionnent avec l'un actif tandis que l'autre est mis à jour et testé à fond. Une fois le déploiement terminé, un simple changement de réseau fait basculer les environnements actifs et inactifs.
Dans un déploiement bleu/vert, des environnements identiques fonctionnent avec l'un actif tandis que l'autre est mis à jour et testé à fond. Une fois le déploiement terminé, un simple changement de réseau fait basculer les environnements actifs et inactifs.

Les déploiements bleu/vert exigent de disposer de matériel en double, ce qui entraîne des coûts et charges supplémentaires qui ne se traduisent pas par l'ajout de capacité ou l'amélioration du taux d'utilisation. Les entreprises qui ne peuvent pas se permettre de doubler la configuration matérielle peuvent mettre en oeuvre d'autres stratégies, par exemple le test dit du canari ou le déploiement progressif (rolling deployment). Dans le premier cas, le nouveau code est déployé pour un petit groupe d'utilisateurs, dans le deuxième le déploiement est échelonné entre les serveurs.

Cette définition a été mise à jour en octobre 2018

Pour approfondir sur Outils de développement