Unleash

Getting Started with Feature Management

Feature management lets your team focus on building, testing, and releasing better software. Unleash reduces tedious processes and minimizes risk, offering developers real-time feature flags, gradual rollouts, and control over feature releases at scale. This empowers teams to confidently deliver high-value, user-focused solutions.

Get Started

What is feature management?

Feature management, or feature flag management, is a modern software-development practice that enables the gradual release of new futures to selected user segments or controlled cohorts prior to software rollout.

It applies a technique called feature flags, feature toggles, or feature switches to actively manage the feature development and testing process. Unleash feature management software enables feature experimentation and A/B testing to determine which version performs best in the opinion of the controlled and targeted user population to deliver what users really want and need.

Feature management also frees developers from the “all-or-nothing” release problem, as any feature can be rolled back without affecting the rest of the software and without the risk of breaking code in production.

Why feature management is essential for modern DevOps teams

Feature management is a key part of DevOps, speeding up the software development process. Feature management is implemented with feature flags which reduce the need for long testing cycles that still fail to find all the possible bugs when code meets real users. 

Feature flags also reduce the risk of downtime when a feature needs to be rolled back. And they enable data-driven optimization, which is essential to improving user experience and driving revenue.

How feature management works

A simple and intuitive feature tagging platform gives you control over which end users can see which features. This technique has been used by developers for decades in the form of simple Boolean flags within a team, platform, and application.

In contrast, the extremely versatile and flexible Unleash feature management platform enables the use of multivariate flags across several environments, applications, and services, as well as the automation of experiments, canary releases, and gradual rollouts.

The simplest way to use a feature flag is to enable (on) or disable (off) it with a toggle switch. To make it more comprehensive, the Unleash feature management platform uses strategies that let you set parameters for feature flags. For example, you can enable the feature for specific users, a specific percentage of users (gradual rollout), users with a specific IP address, hostnames, and more.

Feature management: rollout and deployment strategies

Feature flags provide a versatile toolset for managing rollout and deployment strategies, allowing teams to balance innovation with risk mitigation. Below are key strategies enabled by feature flags:

Feature flags enable precise control over the rollout and deployment strategies by allowing teams to segment users, dynamically route traffic, and monitor performance in real-time. They offer the flexibility to toggle features on or off, ensuring quick adjustments or rollbacks with minimal disruption across progressive, gradual, blue-green, and canary approaches.

Feature management: use cases

Feature management empowers teams to address diverse use cases by leveraging feature flags for flexibility and control. Below are some key examples:

Test new features on any sub-segment of users

 

Feature flag management is all about giving specific users access to specific software features. Unleash creates user segments based on available data – they can be simple or complex, as needed, and can be used to target any group of users, such as those in a specific region or with a specific device type, or those who logged before a specific date or time.

Strategy constraints are conditions that must be met for the feature to be toggled. Not only do they allow you to deploy a feature only to users in a specific region, schedule a feature to be deployed at a specific time, or make a feature available only for a limited time, but you can also use strategy constraints to enable a feature for users with, for example, a specific set of email addresses. And much more!

Testing new features on a user segment allows you to introduce features for experimentation and save a lot of development resources that can be spent on coding, quality assurance, and deployment. It also enables the development of better features thanks to user feedback and the improvement of features that eventually meet all user expectations. Testing also helps validate the business impact of specific features on the organization’s key KPIs.

Better testing, safer rollouts

User interface with toggle to configure rollout strategy in Unleash feature flags

 

The cornerstone of any feature management tool is the ability to gradually move features into production while they are still in development. With Unleashed, features can be made available more quickly to a controlled group of users for testing and gradual rollout to minimize risk, identify potential problem areas early, and make rollouts safer.

The feature management platform also enables the implementation of continuous deployment of microservices, as effective feature flag management allows control of application behavior without going through an additional round of the review and testing process. This allows developers to combine feature testing with code deployment resulting in an optimized user experience.

In addition, features are rolled out without impacting software stability, in an inactive state. So with feature management tools, you can add more features to applications and/or web products faster and more securely.

How to enable secure, scalable feature flag management

Instant rollbacks

Unleash allows you to roll back any feature instantly with the click of a button or fully automated via our API. Rolling back features at runtime instead of relying on a code deploy is faster and reduces downtime and poor user experience that happen when features are misbehaving.

instant-feature-flag-rollback

 

Self-hosting or single-tenant private instance

Run Unleash as a self-hosted service in your data center, or let us host it as a single-tenant private instance. In either case, no end-user data ever leaves your environment.

flexibility_hosted_selfhosted

 

Easily scale with Edge

Unleash Edge is built to be a read replica of Unleash that makes scaling out incredibly cost effective and easy to implement. With Edge you can easily scale to 10s of thousands of requests per second. Multiple hosting options available.

unleash-edge-architecture-diagram

 

SSO-integration

Integrate with your corporate SSO provider like Okta or Active Directory. You can even add and remove users from Unleash using our SCIM integration.

feature-flag-sso-integration

 

Change requests

Implement the four-eyes principle by requiring a configurable number of users to approve any feature flag state change. Multiple changes can be grouped and approved together.

feature-flag-change-request

 

Granular role-based access

Define access controls by project, flag, instance, or nearly 30 other attributes.

feature-flag-rbac

 

Detailed audit logs

Quickly answer “who released what, when, and to whom” with detailed audit logs of every state change, login, or network request.

feature-flag-event-log

 

Open metrics engine

You can use feature flag events to send impression data to an analytics tool you choose to integrate like Grafana, Prometheus, Splunk, Datadog or more. Our impression data gives developers a full view of the activity that could raise any alarms and be used for managing progressive rollouts. We make it easy to get our data, your application, and an analytics tool connected so you can collect, analyze, and report relevant data for your teams.

feature-flag-open-metrics-engine

 

Fully automated feature rollout and rollback

Unleash Signals enable you to take in telemetry from any system capable of emitting JSON metrics. Unleash Actions allow you to take those signals and automatically adjust rollout strategies, initiate rollbacks, or enable kill switches.

signals-actions-feature-flag-automation-screen-shot

 

Cross-session Stickiness

Guarantee that the same user sees the same experiments across sessions with custom stickiness. Stickiness can be implemented using a user id, session id, or any other appropriate parameter for your experiment.

feature-flag-cross-session-stickiness

Open source options for feature management

Unlike proprietary software where users are bound to the product roadmap determined by the company (and its shareholders), an open-source feature management system allows you to modify and improve the software based on your specific use cases. Our users are not bound or dependent on the limitations of our code.

Unleash open source is available as a docker container, or click-to-deploy in Heroku and Digital Ocean. Choose your preferred deployment and get started in minutes.

While there are other proprietary tools such as LaunchDarkly, we believe there are a lot of benefits to using an open-source system like ours. See for yourself.

Share this article