Une version Canary est une stratégie de déploiement dans laquelle les changements sont initialement diffusés à un petit sous-ensemble d'utilisateurs.
Le système fait ensuite l'objet d'un suivi attentif pour détecter tout signe de problème, à l'aide d'indicateurs clés de performance et de statistiques opérationnelles. Une fois que vous êtes sûr que vos changements n'ont pas d'impact négatif sur les fonctionnalités, les performances ou la sécurité, vous pouvez déployer les changements auprès des autres personnes, soit par incréments successifs, soit en une seule fois.
Le groupe initial d'utilisateurs qui reçoit la mise à jour fait métaphoriquement office de canaris dans une mine de charbon : si un problème est détecté après la publication, les dégâts se limitent à ce groupe. La plupart de vos utilisateurs ne sont donc pas au courant et ne sont pas affectés. Les versions Canary sont utiles pour déployer des changements à haut risque qui ne peuvent pas être tester de manière adéquate dans des environnements de staging.
Pour les systèmes web, l'implémentation d'une version Canary implique d'héberger deux versions de votre produit, de contrôler le trafic acheminé vers chacune d'elles et de surveiller de manière proactive l'évolution des performances de ces deux versions. Pour les produits installés, vous pouvez mettre une nouvelle version à la disposition d'un sous-ensemble d'utilisateurs. Vous avez toutefois moins de contrôle sur le moment où ils appliquent la mise à jour. Déterminer si vos modifications sont prêtes à être diffusées plus largement peut donc prendre plus longtemps.