Skip main navigation

New offer! Get 30% off one whole year of Unlimited learning. Subscribe for just £249.99 £174.99. New subscribers only. T&Cs apply

Find out more

Feature Flags

.

In the previous learning step, we discovered Deployment Groups in Release Management and how these deployment groups can be used to phase deployments to multiple agents.

In this video, we will demonstrate the functionality of feature flags. We will look at an open-source framework that’s available (which we can get from NuGet) and which has all the functionality that you need to get started with feature flags.

What are Feature Flags?

Feature flags, commonly known as feature toggles, is a software engineering technique that turns select functionality on and off during runtime, without deploying new code.

This enables teams to make changes without pushing additional code and allows for more controlled experimentation over the lifecycle of features. Because of this, feature flags enable many novel workflows that are incredibly useful to an agile management style and CI/CD environments.

During development, you can simply wrap desired code paths in a feature flag. These essentially act as IF statements.

Benefits of Feature Flags

Feature flags enable code to be committed and deployed to production in a dormant state and then activated later. This gives you more control over user experience. Apart from this, feature flags also:

  • Validate feature functionality
  • Minimise risk associated with deployments
  • Modify system behaviour without disruptive changes

Feature Flag Use Cases

Feature flags enable a variety of use cases for development teams.

  • Product testing by gradually releasing new product features.
  • Conducting experiments such as A/B testing
  • Migration of data that requires dependent application code changes
  • Restricting the audience pools and toggling features on or off during canary launches
  • Use as a system outage tool
  • Separating code changes in continuous deployment

Before you move to your next learning step, Automating Recovery and Rolling, please take part in the discussion.

Join the discussion

Most of us have seen the movie The Matrix. What pill would you choose, if you had Morpheus asking you? Red pill for the truth of reality? Or would you pick the blue pill and continue to believe an illusion? What if you wanted to try both and then choose? Unfortunately, that wasn’t possible in the movie, but in software, with feature flags, it is possible. Discuss why this is the case using an example.

Use the discussion section below and let us know your thoughts. Try to respond to at least one other post and once you’re happy with your contribution, click the Mark as complete button to check the step off, then you can move to the next step.

This article is from the free online

Microsoft Future Ready: Continuous Integration Implementation

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now