Canary deployment and canary release with feature flags
With a feature toggle management system youcan 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, Tython, Tuby, Rust, or .Net SDKs (server side) and
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.