PeakLab
Retour au glossaire

Déploiement Blue-Green

Stratégie de déploiement sans interruption utilisant deux environnements de production identiques pour basculer instantanément entre versions.

Mis à jour le 2 février 2026

Le déploiement Blue-Green est une technique de release management qui maintient deux environnements de production identiques et interchangeables. Un environnement (Blue) héberge la version actuellement en production, tandis que l'autre (Green) accueille la nouvelle version. La bascule s'effectue au niveau du routeur ou du load balancer, permettant un retour arrière quasi instantané en cas de problème.

Fondements du Blue-Green Deployment

  • Deux environnements de production strictement identiques (infrastructure, configuration, capacité)
  • Bascule instantanée du trafic via modification de routage DNS, load balancer ou reverse proxy
  • Possibilité de rollback immédiat en redirigeant le trafic vers l'environnement précédent
  • Validation complète de la nouvelle version en conditions réelles avant exposition aux utilisateurs

Avantages clés

  • Zéro downtime lors des déploiements, garantissant la continuité de service
  • Rollback quasi instantané (quelques secondes) en cas de détection d'anomalie
  • Validation en production réelle sans impact utilisateur grâce aux tests de smoke
  • Réduction drastique du risque opérationnel comparé aux déploiements in-place
  • Possibilité de tester la charge et les performances en conditions identiques à la production

Exemple concret avec Kubernetes

blue-green-service.yaml
# Service pointant vers la version active
apiVersion: v1
kind: Service
metadata:
  name: my-app
spec:
  selector:
    app: my-app
    version: blue  # Basculer à 'green' pour déployer
  ports:
  - port: 80
    targetPort: 8080
---
# Déploiement Blue (version actuelle)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-blue
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
      version: blue
  template:
    metadata:
      labels:
        app: my-app
        version: blue
    spec:
      containers:
      - name: app
        image: my-app:v1.2.0
---
# Déploiement Green (nouvelle version)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-app-green
spec:
  replicas: 3
  selector:
    matchLabels:
      app: my-app
      version: green
  template:
    metadata:
      labels:
        app: my-app
        version: green
    spec:
      containers:
      - name: app
        image: my-app:v1.3.0

Mise en œuvre étape par étape

  1. Provisionner deux environnements identiques avec capacité suffisante pour gérer 100% du trafic
  2. Déployer la version actuelle sur l'environnement Blue et router tout le trafic production vers celui-ci
  3. Déployer la nouvelle version sur l'environnement Green en parallèle sans affecter la production
  4. Exécuter les tests de validation (smoke tests, health checks, tests de charge) sur Green
  5. Basculer progressivement le trafic vers Green (optionnel: commencer par un sous-ensemble d'utilisateurs)
  6. Monitorer intensivement les métriques clés (erreurs, latence, performances) pendant 15-30 minutes
  7. Conserver Blue en standby pendant la période de stabilisation (généralement 24-48h)
  8. En cas de succès, désactiver Blue et le préparer pour le prochain déploiement

Conseil Pro : Gestion des bases de données

La principale complexité du Blue-Green concerne les schémas de base de données. Utilisez des migrations compatibles backward (ajout de colonnes optionnelles, pas de suppressions) et déployez les changements de schéma indépendamment, avant le code applicatif. Considérez l'approche expand-contract pour les modifications structurelles majeures.

Outils et technologies associés

  • Kubernetes avec Istio ou Linkerd pour le traffic splitting avancé
  • AWS Elastic Load Balancer avec Target Groups pour la bascule d'environnements
  • CloudFlare ou Route 53 pour le basculement DNS avec TTL court
  • Spinnaker pour l'orchestration automatisée des déploiements multi-cloud
  • Argo Rollouts pour les stratégies de déploiement GitOps progressives
  • Terraform ou Pulumi pour provisionner des environnements identiques via IaC

Contraintes à anticiper

Le Blue-Green double les besoins en infrastructure pendant le déploiement, ce qui peut représenter un coût significatif. Pour les environnements cloud, optimisez avec l'auto-scaling et déprovisionez rapidement l'environnement inactif. Cette stratégie n'est pas adaptée aux systèmes avec état complexe ou bases de données fortement couplées sans stratégie de migration appropriée.

Le déploiement Blue-Green représente un investissement stratégique pour les organisations visant la haute disponibilité et la réduction des risques opérationnels. Bien que nécessitant une infrastructure doublée temporairement, cette approche élimine pratiquement les interruptions de service et fournit une assurance rollback incomparable. Pour les équipes DevOps matures, elle constitue souvent le palier avant l'adoption de stratégies plus sophistiquées comme le canary deployment ou le feature flagging.

L'argentestdéjàsurlatable.

En 1 heure, découvrez exactement combien vous perdez et comment le récupérer.

Agence de développement web, automatisation & IA

contact@peaklab.fr
Newsletter

Recevez nos conseils tech et business directement dans votre boîte mail.

Suivez-nous
Crédit d'Impôt Innovation - PeakLab agréé CII