What is Unleash?
Unleash is an open source framework created to support feature toggles at an enterprise scale. It gives us you great overview of all feature toggles across all your services and applications. It also makes it super easy to activate new features in real time in production and of course instantaneous deactivation of the feature if there’s a problem.
It is powerful to be able to turn a feature on and off instantaneously without redeploying the whole application. The next level of control comes when you are able to enable a feature for a specific user or a small subset of the users. We achieve this level of control with the help of activation strategies. The simplest strategy is the “default” strategy, which basically means that the feature should be enabled for everyone.
Another common strategy is to enable a new feature only for specific users. Typically you want to enable a new feature only for yourself or your team in production, before you enable it for everyone. To achieve this we can use the “UserWithIdStrategy”. This strategy allows you to specify a list of specific user ids that you want to activate the new feature for. (A user id may of course be an email if that is more appropriate in your system.)