50% de réduction tous les plans, durée limitée. À partir de $2.48/mo
il reste 10 minutes
Outils de développement et DevOps

Déploiement Blue-Green vs Canary : comment réduire les temps d'arrêt du déploiement

Nick Silver By Nick Silver 10 minutes de lecture Mis à jour le 20 février 2025
Déploiement Blue Green contre Canary

Il existe de nos jours de nombreuses stratégies de déploiement parmi lesquelles choisir, et avec le temps, il y en aura encore plus. Cela dit, deux des stratégies de déploiement les plus couramment utilisées par certaines des plus grandes entreprises aujourd'hui sont les stratégies de déploiement Canary et Blue-green.

Lorsque l’on compare le déploiement Blue-Green à celui de Canary, il ne s’agit pas seulement de vitesse ou de simplicité ; L'un des facteurs les plus importants à prendre en compte lors du choix de l'une de ces stratégies est le temps d'arrêt du déploiement. 

Pour minimiser les temps d'arrêt du déploiement et assurer une transition transparente lors du déploiement de vos mises à jour ou modifications, il est primordial de choisir l'option la plus appropriée entre le déploiement Canary et Bleu-Vert. 

Voyons donc ce que propose chaque stratégie, y compris une comparaison directe du déploiement Blue-Green par rapport à Canary et notre propre expérience du déploiement Canary par rapport au déploiement Blue-Green.

Qu’est-ce que le déploiement bleu-vert et qu’offre-t-il ?

Dans la stratégie de déploiement Bleu-Vert, la nouvelle version d'une application peut être immédiatement déployée une fois qu'elle a été testée et validée. Cela est dû aux deux environnements identiques : les environnements bleu et vert, d'où le nom de déploiement Bleu-Vert.

Cela fonctionne car l'un de ces environnements est actif et l'autre est inactif. Cela signifie que la nouvelle version d’une application peut être déployée dans l’environnement inactif (disons le vert). Étant donné que ces deux environnements sont complètement identiques en termes de ressources, d'infrastructure et de configurations, tout problème de la mise à jour peut être résolu avant son déploiement complet. 

Une fois que la mise à jour a été testée et que les développeurs sont satisfaits de son fonctionnement, le trafic en direct est basculé vers cet environnement inactif. Cela rend l'environnement inactif (le vert) l'environnement actif et l'environnement précédemment actif (le bleu) inactif.

Désormais, l'environnement bleu inactif devient l'environnement de veille et peut être utilisé pour tester les mises à jour plus récentes tandis que l'environnement vert est actif, exécutant la mise à jour nouvellement déployée. De cette façon, il n’y a pratiquement aucun temps d’arrêt puisque le trafic passe instantanément à l’environnement inactif.

De plus, si la mise à jour rencontre des problèmes, une fonction de restauration vous permet de revenir à l'ancienne version de votre application. Cela dit, si des problèmes surviennent lorsque les développeurs ont commencé à travailler sur une nouvelle mise à jour dans l'environnement inactif, revenir à cet environnement n'est plus viable, car l'ancienne version n'est plus disponible dans cet environnement non plus.

Bien que de nombreuses entreprises et organisations utilisent cette stratégie, un exemple de cette stratégie en action peut être vu sur Spotify. Étant donné que les services de Spotify doivent être disponibles 24h/24 et 7j/7, l'environnement de sauvegarde et inactif est toujours prêt lorsque de nouvelles mises à jour sont publiées.

Qu'est-ce que le déploiement Canary et que propose-t-il ?

La principale différence entre le déploiement Canary et Blue-Green est qu'au lieu d'avoir deux environnements dans lesquels les mises à jour sont déployées en même temps pour tous les utilisateurs, dans la stratégie de déploiement Canary, les mises à jour sont d'abord publiées pour un petit groupe d'utilisateurs.

Si la mise à jour présente des problèmes, seule une petite partie des utilisateurs les rencontre et fournissent des commentaires. Une fois les problèmes résolus, la mise à jour est publiée auprès d'un plus grand nombre d'utilisateurs, où ils laissent des commentaires aux développeurs s'ils rencontrent des problèmes. 

Ce cycle est répété avec des portions d'utilisateurs de plus en plus grandes, et tous les problèmes liés à la mise à jour sont résolus jusqu'à ce que la mise à jour soit publiée pour 100 % des utilisateurs. Par exemple, dans un premier temps, la mise à jour ne serait diffusée qu'à 2 %, puis à 25 %, puis à 75 % et enfin à 100 % des utilisateurs.

Cette version progressive du déploiement Canary par rapport à Blue-Green offre un déploiement plus contrôlé et plus flexible, permettant aux développeurs de tester les fonctionnalités et les mises à jour dans un environnement contrôlé où seule une petite partie rencontre des problèmes potentiels. 

Enfin, Canary propose également une fonctionnalité de restauration similaire ; cependant, comme le déploiement se fait progressivement et par étapes, le rollback effectué dans Canary se fait également progressivement et par étapes jusqu'à ce qu'une version stable soit atteinte.

Un exemple bien connu de cette stratégie de déploiement est l’utilisation par Netflix de Canary en tandem avec un outil appelé Chaos Monkey, qui introduit intentionnellement des pannes dans leur système. Si une panne affecte l'environnement Canary, l'équipe Netflix peut analyser la façon dont le système réagit et s'ajuster en conséquence. De cette façon, Netflix peut vérifier que la mise à jour reste stable et résiliente même dans des conditions défavorables.

Déploiement bleu-vert vs. Canari

Ces deux stratégies de déploiement offrent leurs propres avantages uniques ; cependant, ils ont aussi leurs limites. C’est pourquoi il est important de peser le pour et le contre du développement Blue-Green par rapport à Canary avant de prendre une décision. 

Si vous ne savez toujours pas laquelle choisir après cette section, j'ai également inclus notre expérience avec ces deux stratégies et ce que nous avons appris à la fin de cet article.

Réduire les temps d'arrêt 

L'une des principales préoccupations et l'objet de cet article est la réduction des temps d'arrêt du déploiement Blue-Green par rapport à Canary. L’un des points forts du déploiement Blue-Green est sa rapidité, car vous pouvez déployer instantanément la mise à jour ou la fonctionnalité de votre application grâce à l’utilisation de ses deux environnements. 

D'un autre côté, l'approche de déploiement progressif de Canary permet des temps d'arrêt minimes, car non seulement un petit sous-ensemble d'utilisateurs rencontre les problèmes, mais comme des commentaires sont fournis à chaque étape, le dépannage peut être effectué beaucoup plus rapidement et sans aucun temps d'arrêt. 

De plus, bien que les deux services offrent des fonctionnalités de restauration, la fonctionnalité de restauration du déploiement Blue-Green est instantanée, offrant aux développeurs une sauvegarde fiable en cas de problème majeur. Cela dit, comme je l'ai mentionné plus tôt, une version de sauvegarde ne sera pas disponible si un travail sur une version plus récente est effectué dans un environnement inactif.

La fonctionnalité de restauration de Canary ne peut être utilisée que progressivement, de la même manière que son processus de déploiement. Cependant, elle est toujours disponible puisque l’ancienne version stable ne dépend pas de l’environnement dans lequel les mises à jour les plus récentes sont testées et utilisées.

En termes de réduction des temps d'arrêt du déploiement, lorsque l'on compare le déploiement de Canary à celui de Blue-Green, Canary est supérieur en termes de contrôle des risques et de contrôle granulaire ; cependant, si nous envisageons uniquement de réduire les temps d’arrêt, alors Bleu-Vert est le meilleur des deux puisque le basculement est instantané.

Cela dit, lors du débat sur le déploiement Blue-Green par rapport au déploiement Canary, il est également important de prendre en compte des facteurs autres que la réduction des temps d'arrêt. 

Type de demande

Généralement, nous pouvons diviser les applications en applications gourmandes en transactions ou basées sur le contenu. Dans les applications nécessitant de nombreuses transactions, le déploiement Blue-Green est une bien meilleure option, car une disponibilité élevée du service et un temps d'arrêt minimal sont une priorité. C'est pourquoi les fonctionnalités de commutation instantanée et de restauration instantanée de Blue-Green le placent devant Canary.

D’un autre côté, les applications basées sur le contenu ne dépendent pas de transactions en temps réel. Étant donné que ces applications sont généralement utilisées pour les plateformes de médias sociaux et les services d'engagement des utilisateurs, Canary constitue une bien meilleure stratégie puisque vous pouvez déployer progressivement des mises à jour et recevoir des commentaires en permanence à chaque étape.

Coûts d'infrastructure

Une autre préoccupation majeure lors du choix entre le déploiement Blue-Green et le déploiement Canary concerne les coûts. Naturellement, dans le déploiement Blue-Green, les coûts seront plus élevés puisque deux environnements individuels doivent être maintenus. 

C’est pourquoi l’environnement de production unique de Canary constitue une option beaucoup plus économique, ce qui en fait une option plus adaptée aux petites équipes ou aux applications moins gourmandes en ressources.

Évolutivité et maintenance à long terme 

Enfin, même si les déploiements bleu-vert peuvent être évolutifs, la maintenance de deux environnements complets pour des applications à grande échelle peut être complexe et gourmande en ressources. Au fil du temps, la gestion et la maintenance des environnements en double peuvent entraîner une surcharge importante, en particulier pour les applications ayant des besoins d'infrastructure complexes.

Cela rend le déploiement de Canary par rapport à Blue-Green en termes d'évolutivité et de maintenance assez facile à décider. Avec le déploiement Canary, l'évolutivité est souvent plus simple et plus rentable, car elle ne nécessite pas d'environnements en double. 

Au lieu de cela, il se concentre sur la mise à l'échelle au sein de l'environnement principal en élargissant progressivement la base d'utilisateurs exposée aux nouveaux changements. Cette configuration est beaucoup plus gérable à long terme, car elle réduit la complexité de l'infrastructure et simplifie la maintenance.

Expérience de Cloudzy avec le déploiement Blue-Green vs. Déploiement Canary

Lorsque nous fournissons des services DevOps à nos clients, nous comprenons que la satisfaction du client, la haute disponibilité et un temps d'arrêt minimal sont essentiels à la réussite de leur entreprise. Dans un cas particulier, un client nous a contacté pour l’aider à réaliser une mise à niveau majeure de son infrastructure. L'équipe a été chargée de choisir entre un déploiement Blue-Green et un déploiement Canary pour son système.

Après mûre réflexion, nous avons d'abord décidé d'essayer le déploiement Blue-Green car il n'offrait pratiquement aucun temps d'arrêt. Nous avons mis en place un environnement vert identique et préparé le déploiement de la mise à niveau. Il y avait beaucoup de pression puisque, d'une simple pression sur un bouton, tout le trafic serait basculé vers l'environnement vert, et comme les développeurs le savent, peu importe à quel point vous testez ces choses, c'est toujours un peu un lancer de dés pour savoir comment cela va se passer.

Heureusement, tout s'est bien passé. La transition s’est déroulée en douceur et nous n’avons pratiquement eu aucun problème. Au fil du temps, à mesure que les services et les utilisateurs de nos clients se développaient, nous devions déployer de nouvelles fonctionnalités, et le débat entre Blue-Green et Canary a repris. 

Cependant, cette fois, ce n’était pas vraiment un débat. Il s’agissait de fonctionnalités relativement petites et certainement pas à l’échelle de cette mise à jour de l’infrastructure. Nous avons donc naturellement opté pour Canary, car nous pouvions déployer des fonctionnalités auprès de petites parties de la base d'utilisateurs de nos clients et résoudre tous les problèmes rencontrés grâce aux commentaires des utilisateurs. 

C’était certainement la bonne décision car, même si nous n’avons pas eu de problèmes majeurs, des problèmes plus mineurs ont commencé à apparaître, qui ont été signalés par les 5 % de la base d’utilisateurs de notre client auprès desquels la fonctionnalité avait été déployée.

Chez Cloudzy, nous croyons au pouvoir des solutions sur mesure. Que votre entreprise ait besoin de la fiabilité du déploiement Blue-Green ou de la flexibilité du déploiement Canary, notre équipe DevOps possède l'expérience et les connaissances nécessaires pour mettre en œuvre la meilleure stratégie pour votre infrastructure. Contactez-nous ici aujourd'hui pour savoir comment nous pouvons optimiser votre processus de déploiement et assurer le bon fonctionnement de vos opérations.

En parlant de VPS, nous proposons certains des tarifs les plus bas du secteur des VPS avec des fonctionnalités comprenant plus de 12 emplacements dans le monde, des connexions Internet dédiées atteignant jusqu'à 10 Gbit/s, un stockage SSD NVMe d'entreprise, de puissants processeurs AMD EPYC turbo-vitesse de 3,23 GHz et une disponibilité de 99,95 %. Consultez notre Tarifs VPS pour plus de détails.

Pensées finales

En fin de compte, vous ne pouvez pas vraiment dire que l’un est meilleur que l’autre de quelque manière que ce soit lorsque l’on discute du déploiement Canary par rapport au déploiement Blue-Green. C’est juste une question de cas d’utilisation et de savoir lequel correspond le mieux à vos besoins spécifiques. 

FAQ

Quelle est la principale différence entre les déploiements bleu-vert et canari ?

La principale différence entre les stratégies de déploiement Blue-Green et Canary réside dans la manière dont les mises à jour sont publiées. Le déploiement Blue-Green utilise deux environnements identiques, avec des mises à jour appliquées à celui inactif, permettant un basculement instantané avec pratiquement aucun temps d'arrêt. En revanche, le déploiement de Canary publie d'abord progressivement les mises à jour auprès d'un petit groupe d'utilisateurs, surveillant les problèmes avant de les déployer progressivement à l'ensemble de la base d'utilisateurs.

Le déploiement Blue-Green ou Canary est-il plus efficace pour réduire les temps d'arrêt ?

Le déploiement Bleu-Vert est généralement plus efficace pour réduire les temps d'arrêt, car il permet un basculement instantané entre les environnements. Cela minimise les perturbations potentielles. Bien que le déploiement de Canary vise également à minimiser les temps d'arrêt, il le fait grâce à un déploiement progressif qui peut impliquer quelques problèmes mineurs et localisés affectant uniquement un petit sous-ensemble d'utilisateurs.

Quelles sont les considérations de coût pour les déploiements bleu-vert ou canari ?

Les déploiements Blue-Green sont généralement plus coûteux car ils nécessitent la maintenance de deux environnements complets. D'un autre côté, les déploiements Canary sont plus rentables car ils ne nécessitent pas d'infrastructure en double ; les mises à jour sont déployées dans l'environnement principal, ce qui en fait un meilleur choix pour les petites équipes ou les applications moins gourmandes en ressources.​

Partager

Plus du blog

Continuez à lire.

Un conteneur métallique protégé par un dôme filaire cyan néon brillant, comportant le titre de l'article et le logo Cloudzy sur un fond bleu profond.
Outils de développement et DevOps

Principales erreurs de sécurité Docker à éviter en 2026

Vous pouvez exécuter Docker en production pendant des mois sans problème visible. Les conteneurs démarrent, les applications répondent, rien ne se casse. Ensuite, un port exposé ou une autorisation mal configurée crée

Rexa CyrusRexa Cyrus 15 minutes de lecture
Une structure de cube bleu brillant en 3D représentant les conteneurs Docker, à côté du texte « Portainer vs Yacht : quelle interface utilisateur Docker devriez-vous choisir » et du logo Cloudzy.
Outils de développement et DevOps

Portainer vs Yacht : quelle interface utilisateur Docker devriez-vous choisir en 2026 ?

La gestion des conteneurs Docker via la CLI est efficace pour les configurations simples, mais elle évolue mal. À mesure que le nombre de conteneurs augmente, le suivi manuel des états, des journaux et des mises à jour devient une erreur.

Rexa CyrusRexa Cyrus 13 minutes de lecture
Outils d'intégration continue
Outils de développement et DevOps

Meilleurs outils CI/CD pour optimiser vos flux de travail DevOps en 2026

  Le paysage du développement logiciel évolue plus rapidement que jamais. Et si vous ne voulez pas rester à la traîne de cette croissance rapide, vous devez adopter les méthodologies DevOps et Agile.

Ada LovegoodAda Lovegood 11 minutes de lecture

Prêt à déployer ? À partir de 2,48 $/mois.

Cloud indépendant, depuis 2008. AMD EPYC, NVMe, 40 Gbps. Remboursement sous 14 jours.