We continue to talk about feature flags (FF) - switches in the code that start and deactivate product features. This time we want to tell you about our solution - a feature flags portal that allows business customers to manage the state of FF, and therefore the functionality of the product.
In our first article on Feature Flags, we talked about how this tool helps to speed up the launch of new features, increase the competitiveness of the product and, in general, simplify the processes in the team. Now we have launched into pilot production a portal for managing feature flags. And we want to tell you about this decision.
Feature Flag is an IF block that runs a piece of code when a certain condition is met. The simplest thing is that the developer himself prescribes whether to enable or disable the code. There may be more complex parameters: for example, according to a schedule or only for users with such and such access level. Or vice versa - the feature is disabled if the load on the system exceeds the specified threshold.
The idea behind the feature flags portal is to allow product owners to enter or disable features on their own without involving the development team. On the portal, the customer sees only functions that are ready for acceptance and implementation. For him, this is a guide to action - test, or enable functionality. And at the right moment, he independently switches its flag, and the function begins to work in the product.
Such mechanics help the development team to change the style of work: to switch to micro-releases and to move beyond the scope of the delivery agreement with the customer. The task is laid out for sale as soon as it is ready. The customer manages the acceptance and inclusion of features on the market. Everyone is doing their job without blocking each other.
The basic set of functions allows you to switch flags and centrally monitor the status of all features. In the future, we plan to add the ability to remove irrelevant flags from the list, group them according to different filters, and display analytics. Features can be launched with configurable parameters - for example, indicate the date when it should be enabled or disabled.
How the portal helps a business customer
A / B research and beta tests. You can lay down a strategy for dividing users into the logic of the switches - part of the audience will see the new functionality, and the rest will work with the main version.
. . , .
. . , , .
. , .
MVP- -, . .
, MVP :
– . configMap namespace . , configMaps, .
- – .
– , - .
( ) – .
:
, – Cloud Native , Kubernetes. , , .
–
We have ready-made SDKs for .NET and Java, with which our teams can quickly launch the logic of working with feature flags in their products. This includes not only the mechanism for switching them, but also the high-level context of use. For example, so that the state of a feature does not switch at the moment when the user is working with it, and the process does not crash. And for our customers, these SDKs open up the opportunity to experiment with the portal in their product.