What is a canary release ?
Software testing is a very complex discipline. We always prioritise clear communication in every software testing project. Why then, do so many testing experts overuse jargon? Today we look at a term that seems to be everywhere in the software testing industry. What is a canary release ? If you want to know, then read on to find an answer.
Canary release / canary deployment
You may have heard either of these terms being used at some point but what do they actually mean? A canary release describes the process whereby new software features are made available to a limited selection of users before release. The users selected to participate can be random choices, or they might be targeted for specific reasons. It could be by location or demographic for example, although at the heart of any canary release is a desire to achieve the highest software quality.
The chosen users help you to identify bugs and breaks, allowing you to then strengthen your feature and ready it for a wider audience. The term ‘canary release’ is derived from an old coal mining tactic. Miners released canaries into coal mines in order to gauge the amount of toxic gases present. If the canary survived then the mine was deemed to be safe. (Rest assured that no canaries were harmed during the creation of this article).
Canary releases can lead to higher-quality software
Canary releases help to reduce the anxiety around a typical release. This is due to the fact that you will have tested using real users before a larger release. Any errors discovered are therefore found by a smaller group of people. Avoid software deployment anxiety by implementing a series of canary tests, thus gradually increasing the quality of your work.
It is important to know who to target with your canary releases. As aforementioned, geographic location is often worth considering. Many projects also benefit from selecting users based upon their level of experience. Whatever you decide, ensure you plan and prepare well in advance.
Canary releases are a smarter way to do things
It makes smart business sense because it’s a lot easier to fix a failure from a highly-targeted canary test. Much easier than something that’s already been rolled out to your entire user base, for instance. Compare something going wrong in a wide release to something happening to a smaller set of users. Downtime for your entire base will be much more severe.
So, what is a canary release ? Now you can confidently answer that question. Perhaps you might even use it where appropriate.