Foto de Steve Johnson en Pexel 

No. No necesitas librerías de terceros para poner en práctica Feature Flags en aplicaciones desplegadas en Azure.

Gracias a App Configuration podemos establecer un valor de una Feature Flag que afecte por ejemplo a un App Service.

Con esto podremos poner en práctica las feature flag. Lógicamente necesitamos algo de código.

Crea una aplicación API sencilla con .NET

mkdir TestFeatureFlags
dotnet new sln
dotnet new webapi
TestFeatureFlags.csproj

Añadimos: Microsoft.FeatureManagement.AspNetCore

Y agregamos: builder.Services.AddFeatureManagement();

Ponemos nuestra feature flags:

Ponemos algo de código operativo:

using Microsoft.AspNetCore.Mvc;

namespace TestFeatureFlags.Controllers;

[ApiController]
[Route("[controller]")]
public class WeatherForecastController : ControllerBase
{
    private static readonly string[] Summaries = new[]
    {
        "Freezing", "Bracing", "Chilly",
"Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching"
    };

    private readonly IFeatureManager _featureManager;

    private readonly ILogger<WeatherForecastController> _logger;

    public WeatherForecastController(ILogger<WeatherForecastController> logger,
      IFeatureManager featureManage)
    {
        _logger = logger;
        _featureManager = featureManager;
    }

    [HttpGet(Name = "GetWeatherForecast")]
    [FeatureGate("WeatherForecast")] // True --> Enter in code, False --> 404
    public IEnumerable<WeatherForecast> Get()
    {
        bool testEnabled = await _featureManager.IsEnabledAsync("WeatherTest");
        return Enumerable.Range(1, 5).Select(index => new WeatherForecast
        {
            Date = DateOnly.FromDateTime(DateTime.Now.AddDays(index)),
            TemperatureC = Random.Shared.Next(-20, 55),
            Summary = testEnabled ? Summaries[Random.Shared.Next(Summaries.Length)] : null
        })
        .ToArray();
    }
}

Juega con los valores que tienes en el JSON de configuración y podrás ver el comportamiento de la web app.

Ahora toca añadir lo que falta para que podamos trabajar con App Configuration.

Ahora tienes que guardarte la cadena de conexión para el App Configuration.

Y añadirlo en esta parte del código:

Y ya podemos jugar con los valores:

Os dejo para terminar un enlace donde podrás ver una serie de ejemplos y puestas en prácticas.

Y a partir de estos enlaces puedes indagar mucho más.

Para finalizar aunque casi no es necesario, os dejo el ejemplo finalizado: