A canary release is a deployment strategy whereby changes are initially released to a small subset of users.
The system is then carefully monitored for signs of trouble, using both business KPIs and operational metrics. Once you’re confident that your changes have not adversely impacted functionality, performance or security, you can roll out the changes to remaining users either in further increments or all at once.
The initial group of users that receive the update act as the metaphorical canaries in a coalmine; if an issue is detected following the release, the damage is limited to them. Most of your users, therefore, remain unaware and unaffected. Canary releases are useful when deploying high-risk changes that cannot be adequately tested in staging environments.
For web-based systems, implementing a canary release involves hosting two versions of your product, controlling the traffic routed to each, and proactively monitoring the health of both. For installed products, you can make a new version available to a subset of users. Still, you have less control over when they apply the update, so it can take longer to determine whether your changes are ready to be released more widely.
You may also be interested in exploring:
The Getting Started with TeamCity Video Series
Building GitHub Pull Requests with TeamCity
Learn more about TeamCity Cloud
Ready to get started with CI/CD?