Feature management

3 minute read

Feature management in CloudBees platform enables teams to gradually enable or disable features for specific user segments.

Users may possess attributes such as country, account ID, or subscription level. With feature management, you can use these attributes to control how different user segments experience a feature.

For example, you can roll out a feature to internal users first, so customers don’t see it until it’s been fully tested in the production environment. CloudBees feature management enables this behavior using feature flags.

What are feature flags?

Feature flags are conditional statements around a coded functionality in an application. These if/else statements can grow into complex logic trees due to the range of attributes involved.

If a feature flag is toggled on, the associated code runs and the feature is enabled. If toggled off, the code is skipped and the feature remains hidden or inactive.

You can remotely enable or disable features even when the feature is running in production. Feature flags can be implemented on the client side or server side and help teams achieve continuous delivery with less risk.

A flag can be one of three types:

  • Boolean

  • String

  • Number

To learn more, refer to the following:

Core aspects

The table below lists some core aspects of feature management.

Table 1. Feature management core aspects
Aspect Description

Cross-platform, cross-device

Feature management is available for applications in a range of code languages.

Progressive delivery

Control feature rollout by scheduling deployment to incrementally larger user groups. With progressive delivery, you can address any problems or feedback before your feature reaches a wider audience.

Target groups

Control the audience for new application features through user segmentation, or target groups. Some common targeting methods are by geographical region, web browser, or email domain. You can also create target groups with custom attributes, such as account status or member ID.

Use cases

The table below lists some popular use cases for feature management.

Table 2. Popular feature management use cases
Use case Description

Decoupling deployment from release

Decouple code releases from feature releases to allow teams to work on their own schedules without disrupting the user experience.

Kill switch

Toggle a flag to turn off a problematic feature running in production rather than rolling back an entire build or struggling with hotfix code.

License management

Grant user groups, such as subscribers, premium members, or trial users, access to different features or sections of your product.

Product experimentation

Gain valuable feedback about how actual users are using features. Instantly roll out a beta-stage feature to your power user base.

Release management

Control which user segments gain access to new builds and features, easily enabling your team to perform canary or blue/green deployments, and beta releases.

Testing in production

Get the most accurate testing feedback by giving production access to your QA or testing teams. Never again miss a bug due to a poorly replicated testing environment.

Set up with environments and applications

Feature management in CloudBees platform connects and serves configurations to your codebase through an SDK key. This key is automatically generated when you link an environment to an application. Each application that is linked to the same environment receives its own unique SDK key.

To get started, first define the environment where your application runs. For example, QA, Staging, or Production.

Next, create (or select) an application and link the environment to it. This connection enables the evaluation and management of feature flags across all SDK clients associated with that environment.

After the application has been linked to the environment, install the appropriate SDK, add the ROX package to your application, and begin using feature flags in your codebase.

Refer to Install the SDK page for step-by-step instructions, or follow the prompts in the UI installation details.

Access the SDK installation instructions in the UI

To view the SDK installation instructions in the platform:

  1. Select Feature management.

  2. Select Installation instructions to open the guided setup steps.

The UI guides you through creating an environment, linking the environment to an application, installing the SDK, and getting started with feature flags.

SDK key
Figure 1. SDK key shown during Java SDK installation