69 votes

Quelle est la différence entre le Rouge/Noir de déploiement et de Bleu/Vert de Déploiement?

J'ai entendu à la fois utilisé pour décrire l'idée de déployer une mise à jour sur les nouvelles machines tout en gardant les anciennes machines active, prêt à la restauration si un problème se produit. J'ai également entendu utilisé pour décrire le partage de la charge entre les mises à jour des services et de la vieille de service, de nouveau, pour l'application de l'un des restaurations --parfois appelé à disparaître inactifs âgés, des patchs et parfois pas.

Ma compréhension, c'est aussi que c'est strictement pour les services de cloud.

Quelqu'un peut-il aider à démystifier ces conditions?

76voto

Paulo Merson Points 611

Bleu-vert de déploiement

Classique de déploiement technique décrite dans la Livraison Continue livre par Jezz Humble et David Farley:

L'idée est d'avoir deux versions identiques de votre environnement de production, ce qui nous allons appeler le bleu et le vert... les Utilisateurs du système sont acheminés vers le vert de l'environnement, qui est actuellement de production désigné. Nous voulons sortir une nouvelle version de l'application. Afin de nous déployer dans le bleu de l'environnement... Ce n'est pas en aucune façon influer sur le fonctionnement de l'environnement vert. Nous pouvons exécuter des tests de fumée dans le bleu de l'environnement pour vérifier qu'il fonctionne correctement. Lorsque nous sommes prêts, de passer à la nouvelle version est aussi simple que de changer la configuration du routeur pour pointer vers le bleu de l'environnement au lieu de le vert de l'environnement. Le bleu de l'environnement devient ainsi la production. Cette commutation peut généralement être effectuée en beaucoup moins d'une seconde. Si quelque chose va mal, il nous suffit de basculer l'arrière du routeur à l'environnement vert.'

Humble et Farley, puis passer à mentionner le principal défi: gérer la base de données des modifications de schéma entre vert et bleu versions.

Le principal avantage de bleu-vert de déploiement est de zéro ou proche de zéro temps d'arrêt lors de la libération d'une nouvelle version. Et le bleu-vert de déploiement permet aux canaries libérer.

Rouge-noir de déploiement

La version Rouge est vivre dans la production. Vous déployez la version Noire à un ou plusieurs serveurs. Lorsque la version Noire est pleinement opérationnel, vous basculez le routeur pour acheminer tout le trafic (ou mise à l'échelle Rouge à 0 instances et le Noir à la N). Si quelque chose va mal, vous revenez à l'opération. Donc, il est similaire à bleu-vert de déploiement, mais il y a une légère différence: dans le bleu-vert de déploiement, les deux versions peuvent être l'obtention de demandes en même temps temporairement, tandis que dans le rouge-noir une seule de ces versions est mise en circulation à tout moment. Voici quelques corroboration:

À tout moment, un seul de ces environnements est en direct, avec l'environnement direct de servir l'ensemble de la production de la circulation. Pour cet exemple, le Rouge est actuellement en live et Noir est à l'arrêt(dans ce cas, nous avons conservé le Noir vers le bas sur une échelle de zéro serveurs)...

Par conséquent, rouge-noir est une spécialisation de bleu-vert. Mais rouge-noir de déploiement est un nouveau terme utilisé par Netflix, Istio, et d'autres cadres/plates-formes qui prennent en charge contenant de l'orchestration. La signification réelle peut varier et beaucoup de gens sont à l'aide de "rouge-noir" comme un autre terme pour "bleu-vert", peut-être juste parce que leurs couleurs sont le rouge et le noir. :^)

46voto

Francesc Rosàs Points 1204

Bleu/vert et rouge/noir de déploiement représentent le même concept.

Alors que le premier est le terme le plus courant, celui-ci semble être principalement utilisé dans de Netflix et de leurs outils (comme le Spi).

Elles ne s'appliquent que pour le cloud, virtualisé ou en conteneur de services dans le sens de votre infrastructure doit être automatisable, afin de donner un sens à cette approche.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X