A canary deployment is a software deployment technique where a new feature or version is released to a small subset of users in production prior to releasing it to a larger subset or all the users. It is also sometimes termed a phased rollout or incremental release1. A canary deployment allows the developers to test the new service in a real environment and get feedback from the users before making it available to everyone. It also reduces the risk of failures and enables easy rollbacks if something goes wrong. A canary deployment is different from a blue-green deployment, where two identical environments are used to switch between the old and new versions of the service. A big bang deployment is where the new service is released to all the users at once, without any testing or gradual rollout. A rolling deployment is where the new service is installed in batches or stages, replacing the old service gradually until all the users are on the new version.