Introducción a la administración de características

La administración de características es una práctica de desarrollo de software que separa el lanzamiento de las características de la implementación del código y permite hacer cambios rápidos relacionados con la disponibilidad de las características a petición. Utiliza una técnica llamada feature flags para administrar dinámicamente el ciclo de vida de una funcionalidad, permitiéndote activar o desactivar funcionalidades, dirigirlas a usuarios específicos o desplegarlas gradualmente, todo ello sin necesidad de volver a desplegar tu aplicación.

Principales funcionalidades

Azure App Configuration Feature Management soporta tres escenarios principales de uso de feature flag según lo que quieras conseguir: Switch, Deployout y Experiment. Cada escenario se asigna a un objetivo común de gestión de características y desbloquea un conjunto diferente de capacidades, desde un simple interruptor de encendido/apagado hasta despliegues porcentuales dirigidos o experimentos multivariantes. En los tres escenarios, puedes monitorizar y analizar el impacto de tus flags de característica para entender el efecto de una característica en las métricas de tu aplicación. Utiliza las siguientes secciones para elegir el escenario que se ajuste a tu objetivo antes de profundizar en los detalles de filtros, condiciones o variantes individuales.

Interruptor (Encendido/Apagado)

Captura de pantalla del portal de Azure en la que se muestra la función Crear indicador de características - Pestaña Conceptos básicos de la opción Switch.

Úsalos cuando: Necesitas un control sencillo e instantáneo de encendido/apagado para todos los usuarios.

Capacidades:

  • Interruptor de apagado instantáneo : desactiva una función o dependencia que no se comporta bien en segundos, sin necesidad de volver a desplegar el código
  • Interruptor operativo – activar o desactivar un estado de corta duración, como el modo de mantenimiento, bajo demanda

Por ejemplo, un equipo lanza un nuevo algoritmo de checkout detrás de una bandera de Switch llamada EnableNewCheckout. Si las tasas de error se disparan tras el lanzamiento, un ingeniero de guardia desactiva el indicador y cada usuario vuelve instantáneamente al flujo de compra anterior, sin tener que volver a desplegar el código. Este mismo tipo de indicador también funciona bien como interruptor operativo, como un indicador MaintenanceMode que un equipo de operaciones activa antes de una migración de base de datos y lo desactiva cuando esta ha finalizado.

Más información:

Lanzamiento

Captura de pantalla del portal de Azure en la que se muestra la función Crear indicador de características - Pestaña Público de la opción Implementación.

Úsalos cuando: Quieres exponer gradualmente una función a un porcentaje de usuarios, o a usuarios y grupos específicos, antes de hacerla disponible de forma general.

Capacidades:

  • Lanzamiento gradual por porcentajes – exponer una característica a un pequeño porcentaje del tráfico e ir aumentándolo con el tiempo (despliegue canario o escalonado) para reducir el riesgo
  • Acceso dirigido : activar una función solo para usuarios específicos, un grupo o un atributo personalizado como región, tipo de dispositivo o nivel de suscripción
  • Activación basada en horarios : activar o desactivar una función automáticamente durante una ventana de tiempo definida
  • Despliegue de configuración : entrega la configuración dentro de la bandera para que tu aplicación pueda ajustar su comportamiento a medida que se despliegue, sin necesidad de un nuevo despliegue.

Por ejemplo, un equipo que despliega un nuevo indicador EnableNewCheckout podría empezar con un porcentaje predeterminado del 5 %, usar anulaciones por grupo para incluir a sus grupos internos de QA y probadores beta con un 100 %, y excluir cuentas heredadas. En los días siguientes, suben el porcentaje por defecto a 25%, luego 50%y después 100%, mientras observan métricas de error. También podrían añadir un horario para que la función se desactive automáticamente tras una ventana de mantenimiento.

El despliegue de configuración te permite ir más allá de un valor booleano: por ejemplo, puedes adjuntarlo {"theme":"dark"} a la bandera EnableNewCheckout para que tu app solo detecte el nuevo tema cuando evalúe la bandera como habilitada. Esta configuración es diferente de los valores clave generales de la configuración de la App, que no están ligados al estado evaluado de ninguna bandera.

Más información:

Experimento

Captura de pantalla del portal de Azure en la que se muestra la función Crear indicador de características - Pestaña Asignación de la opción Experimento.

Úsalos cuando: Quieres comparar varias versiones, o variantes, de una característica y medir cuál funciona mejor.

Capacidades:

  • Pruebas A/ B: comparar dos, o más de dos, variantes de una característica entre sí
  • Asignación de tráfico entre variantes – controla qué porcentaje de usuarios está expuesto a cada variante

Por ejemplo, un equipo que prueba dos versiones de una página de pago crea un indicador de función de variante con las variantes Control y NewDesign, y asigna la mitad de sus usuarios a cada una.

Más información:

Monitorizar y analizar el impacto

Captura de pantalla del portal de Azure que muestra la pestaña de Telemetría con un gráfico total de eventos de evaluación y la Tarjeta de Puntuación Métrica.

Úsalos cuando: Quieres ver cómo se evalúan tus feature flags y entender si sus variantes afectan a las métricas que importan a tu aplicación.

Capacidades:

  • Recopilar y visualizar eventos de indicadores de funciones – Captura los eventos de evaluación de indicadores que emite tu aplicación y consulta los recuentos de evaluaciones, los usuarios únicos y las distribuciones de variantes o motivos de asignación directamente en la pestaña Telemetría del portal de Azure App Configuration.
  • Analiza el impacto con cuadros de mando de métricas (versión preliminar) – analiza automáticamente la telemetría estándar y personalizada que tu aplicación envía a Application Insights, e indica qué métricas presentan una diferencia estadísticamente significativa entre variantes, sin tener que escribir una consulta personalizada.

Por ejemplo, siguiendo con el experimento de la página de pago, cada evaluación de indicador emite un evento de telemetría y el equipo revisa la pestaña de telemetría del portal de Azure App Configuration para confirmar que la distribución del tráfico entre Control y NewDesign funciona como se espera. Abren la tarjeta de puntuación de la métrica en la misma pestaña y ven que la NewDesign variante muestra una mejora estadísticamente significativa en una métrica personalizada PurchaseCompleted , sin regresión significativa en el tiempo de carga de la página. Los grupos Impactados e Inconclusos de la hoja de puntuación permiten al equipo confirmar el resultado de un vistazo. Aún pueden profundizar en Application Insights para un análisis más profundo, como correlacionar eventos de evaluación con compras completadas.

Más información:

Pasos siguientes

Para usar las feature flags de forma efectiva, necesitas externalizar todas las feature flags usadas en una aplicación para poder cambiar sus estados sin modificar ni volver a desplegar la aplicación en sí. Azure App Configuration proporciona un repositorio centralizado para las flags de características: úsalo para definir tus flags de Switch, Rollout y Experiment y gestiona sus estados de forma rápida y segura, luego utiliza las bibliotecas App Configuration de tu lenguaje de programación o framework para añadir la evaluación de flags de características a tu aplicación en tiempo de ejecución.

Empieza con un inicio rápido

Para añadir la evaluación de indicadores de características a tu aplicación, pasa a la guía de inicio rápido específica para el lenguaje o la plataforma de tu aplicación.

Creación y gestión de banderas de características

Profundiza en las capacidades de despliegue y experimentación

Bibliotecas y SDKs de cliente

Azure App Configuration ofrece bibliotecas de gestión de funciones para varios idiomas y plataformas. Cada biblioteca incluye paquetes y muestras NuGet, npm, PyPI o Maven. Para la lista completa de bibliotecas soportadas y sus notas de versión, véase Resumen de Gestión de Funcionalidades.