Canary Release

Roll-out gradually. Reduce risk

Risk-reducing feature management software that facilitates canary releases to gradually introduce new versions to a subset of users before rolling it out to a larger group.

  • Gradual rollouts

    Roll out the change to a small subset of users before rolling it out to the entire infrastructure and enabling to everyone.

  • Focused on privacy

    Unleash targets attributes locally in the SDK, so private data never changes hands.

  • Advanced segmentation

    Segmented rollouts based on any parameter available in your application context (including tentantID, infrastructure or geo-location).

Strategy constraints

Target the users you want

Expose a specific version of the entire application or service to a small subgroup of users according to any attributes you choose.

Custom stickiness

Ensure consistent experience

Image showing an example of targeting group of users with features and toggle for turning on/off features

Roll out new features with the certainty that you can provide consistent behavior. Just choose what attribute to use to stay sticky: userId, tentantId, or OS version.

Canary deployment and canary release with feature flags 

With a feature flag management system you can roll out features in small releases to selected groups of users. With what is called canary release you can not only mitigate the risk related to each new update, keep the software from crashing when upgrading to a new version, roll out the code faster, but also make the user experience seamless.

And Unleash definitely facilitates this complex task by making the entire process simple and straightforward.

Unleash comes with a number of built-in strategies for canary release: Standard, UserID, Gradual Rollout, IPs, or Hostnames, which allow you to enable new features for everyone (Standard), selected users with ID in the list (userID), parameterized canaries rollout (Gradual Rollout), e.g., a certain percentage of users, users with a specific IP, e.g., the development team in the office, or hostnames to enable a feature for users with, e.g., specific email addresses.

But of course, you can also add your own strategies, if necessary.

The strongest Unleash quality is how easily you can create any strategy for deploying, testing, and releasing any feature.

Unleash can be used with any platform, service, or application

Unleash provides SDKs for a variety of programming languages making canary deployments and releases platform-independent. This means you can carry out canary deployment and canary release for any desktop, website, mobile application, and even cloud or hybrid software solutions.

You can use our platform with the following official Unleash clients:

  • Go, Java, Node.js, PHP, Python, Ruby, Rust, or .Net SDKs (server side) and
  • Android, Flutter, IOS, JavaScript, React, Svelte, or Vue SDKs (client side)

Since Unleash is the #1 open-source platform for feature management, our community has developed many clients for their favorite languages, such as: Angular, Clojure, C++, Dart, Elixir, Kotlin, Laravel – PHP, NestJs – Node.js, PHP, PHP – Symphony, react Native/Expo, Solid… And they have not said the last word yet.

Therefore, if you find any SDK, solution or language useful, feel free to contact us with your request and we or our community would be happy to help.

Build to make easy canary deployment and canary release with privacy in mind

Feature flags let you decouple canary deployment from canary release.

With Unleash you can deploy code without waiting for release, which not only gives you full control over deploying new features or updates but also lets you deliver better code faster. The only thing you need to do is select a group of users to release the new feature to.

These can be users in a specific region or with a specific device type, users who logged in before a specific date or time, or of course any combination of the above conditions, depending on the constraints of the canary deployment strategy.

The above conditions define a specific segment of your user database, but importantly, all of these attributes are evaluated locally in the SDKs, as Unleash was designed with restrictive GDPR and Schrems II regulations in mind.

The SDK never sends any PII to the Unleash server and no end user data leaves your applications. 

Canary test with Unleash to better understand end user expectations and needs

With the versatility and flexibility of feature flags, Unleash gives you full control over canary testing. You can run A/B tests and controlled experiments to get measurable results and better understand your users needs. And, of course, you can determine which tested version is better in the eyes of the targeted user population to deliver applications tailored to their expectations.

Unleash feature management software does not just enable experimentation and A/B testing. It also allows you to testpotential improvements and monitor metrics of the impact of new features or updates on production and users. In addition, the Unleash’s Impression data feature allows you to collect information that can be shared with third-party analytics providers, like as Google Analytics or Posthog, making Unleash an even more useful tool.

Canary testing and experimentations are powerful strategies that leverage testing during production. Both allow you to identify bugs and scalability issues that were not foreseeable before release and limit their impact on end users. They also give you insight into the user needs and expectations allowing you to adjust your features and updates accordingly.

A solution for you

Hosted by us or operated by you; your choice. No complex setup or configuration required, with the simplicity and reliability developed over 10+ years.

Our blog

Related articles

Unleash's unique architecture: SDK, API, UI
Industry Insights

Canary Deployment – what it is?

Canary Deployment is an approach to mitigating the risks of a new update to existing software bringing it to production. This is done by sequentially testing without involving users and then involving a small number of users and when it works fine, deploy it entirely. It is something like releasing a beta version. Deploying a […]