Le canary release

canary release
canary release

Le pattern du canary release est très populaire dans l’univers devops. Il permet d’améliorer considérablement la qualité des mises en production.

Qu’est-ce que le canary release ?

Le canary release est un pattern qui permet de faire tester les dernières modifications réalisées (appelée version N+1) à une tranche de population restreinte avant de réaliser un déploiement général de cette version.

Si des concepts similaires existaient il y a une vingtaine d’année, le prix pour sa mise en place était extrêmement cher. Avec les environnements cloud proposés par différents prestataires, ce type de pattern n’est plus inaccessible.

Cette stratégie de déploiement utilise des mécanismes tels que le Blue Green Deployment que nous avons vu précédemment.

blue green deployment
blue green deployment

Assurer la qualité technique de la livraison

Ce pattern permet de tester les modifications et de s’assurer qu’elles fonctionnent correctement. Le temps d’existence des deux versions permettra de vérifier que :

  • tout fonctionne comme prévu initialement
  • le produit ne comporte pas de bugs
  • aucune montée de charge exagérée est apparente

Vérifier une hypothèse de départ

Cette utilisation du canary release est moins fréquente mais reste une arme redoutable. Mettre ce pattern en place peut permettre de se laisser du temps pour mesurer des indicateurs qui nous indiquerons si les modifications apportées sont positives ou négatives pour l’entreprise.

C’est un pattern qui peut-être très utile pour les entreprises qui fonctionnent dans un mode lean startup. Si vous ne connaissez pas cette approche, l’entreprise construit une idée, mesure les résultats de celle-ci et apprend des résultats.

Voici le cercle triptyque qui schématise cette idée :

Lean Startup - Cercle Triptyque
Lean Startup – Cercle Triptyque

Si les données mesurées sont positives, le déploiement général de cette nouvelle version pourra se faire sans soucis. Sinon, l’entreprise peut envisager de revoir sa copie.

Exemple de canary release

Pour notre exemple, nous allons partir du canary release réalisé chez Faccebook.

Pendant que les développements de nouvelles fonctionnalités (voire de modifications des anciennes), tous les utilisateurs ont accès à la même version du site.

déploiement classique
déploiement classique

Au moment où les développeurs déploient une nouvelle version du site Facebook, le routeur va automatiquement proposer cette nouvelle version du site aux employés de Facebook ; les autres utilisateurs ne verront pas cette version.

canary release facebook
canary release facebook

Si les indicateurs mesurés sont plutôt négatifs (techniquement et/ou business), Facebook remet la version N à ses employés ; l’entreprise reverra alors sa copie. [premier schéma présenté de ce chapitre]

Si les indicateurs sont positifs pendant 24h, le déploiement vers la version N+1 se met en place pour l’ensemble des utilisateurs de facebook.

canary release
canary release

Conclusion canary release

Ce pattern canary release très populaire dans l’univers devops permet considérablement d’améliorer la qualité de vos déploiements pour l’ensemble de vos utilisateurs.

De nombreux clients ne passent pas par la case « fidélisation » quand le site ne s’appelle pas Amazon et qu’il présente des bugs en production. Ne pas investir dans la qualité de ses déploiements sera un frein à l’expansion de votre business (voire de l’amener à la regression). Si l’intégration continue est également une excellente pratique pour améliorer la qualité des produits livrés, elle ne permettra pas à elle seule d’interdire le moindre soucis en production.

[ Article lu 5 fois aujourd'hui ]
A propos Judicaël Paquet 526 Articles
  Paquet Judicaël (coach agile et devops sénior) Mes activités en France et en Suisse : - architecte de transformation agile - formations agiles personnalisées - sensibilisations et coaching de manager - audits de maturité agile et de situations - coaching agile (équipes, orga, product owner, scrum master, coach agile) Spécialités : scrum, kanban, management 3.0, agilité à l’échelle, lean startup, méthode agile. [Suisse/France]

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*


Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.