What is a canary release?
A canary release is a method of rolling a package of features out to a subset of users to assess the reaction of the overall system.
Development teams use real user “canaries” to look for early indicators of danger or success when releasing software.
Once the canary deployment is deemed safe, the team will progressively roll out the new version to larger segments of the user base.
Feature flags and canary releases
Feature flags give you an on/off switch for each individual feature in a release. Canary releases work at a package-level in the infrastructure, so you test out a whole release version.
Many organizations use both canary releases and feature flags, first testing releases at the infrastructure level with a dark launch, then turning on each individual feature using flags.