Introducción a Feature Flags
Este producto no es compatible con el
sitio Datadog seleccionado. (
).
Descripción general
Las Feature Flags de Datadog ofrecen una forma poderosa e integrada de gestionar la entrega de funciones, con observabilidad incorporada e integración fluida en toda la plataforma.
Métricas en tiempo real: Comprenda quién está recibiendo cada variante, así como cómo su Feature Flag impacta la salud y el rendimiento de su aplicación, todo en tiempo real.
Soporta cualquier tipo de dato: Utilice booleanos, cadenas, números u objetos JSON completos, lo que su caso de uso requiera.
Construido para la experimentación: Dirija audiencias específicas para pruebas A/B, despliegue funciones gradualmente con lanzamientos canarios y retroceda automáticamente cuando se detecten regresiones.
Compatible con OpenFeature: Construido sobre el estándar OpenFeature, asegurando la compatibilidad con implementaciones existentes de OpenFeature y proporcionando un enfoque neutral respecto a proveedores para la gestión de Feature Flags.
Feature Flags SDKs
Esta guía utiliza el SDK de navegador de JavaScript como ejemplo. Puede integrar Feature Flags de Datadog en cualquier aplicación utilizando uno de los siguientes SDKs:
SDKs del lado del cliente
SDKs del lado del servidor
Su organización probablemente ya tiene entornos preconfigurados para Desarrollo, Staging y Producción. Para detalles sobre consultas de entornos, marcado de producción y gestión de entornos, consulte Entornos.
Cree su primer Feature Flag
Paso 1: Importe e inicialice el SDK
Primero, instale @datadog/openfeature-browser, @openfeature/web-sdk y @openfeature/core como dependencias en su proyecto:
yarn add @datadog/openfeature-browser @openfeature/web-sdk @openfeature/core
Luego, agregue lo siguiente a su proyecto para inicializar el SDK:
import { DatadogProvider } from '@datadog/openfeature-browser';
import { OpenFeature } from '@openfeature/web-sdk';
// Initialize the provider
const provider = new DatadogProvider({
clientToken: '<CLIENT_TOKEN>',
applicationId: '<APPLICATION_ID>',
enableExposureLogging: true, // Can impact RUM costs if enabled
site: 'datadoghq.com',
env: '<YOUR_ENV>', // Same environment normally passed to the RUM SDK
service: '<SERVICE_NAME>',
version: '1.0.0'
});
// Set the provider
await OpenFeature.setProviderAndWait(provider);
Configuración
enableExposureLogging a
true puede impactar los costos de
RUM, ya que envía eventos de exposición a Datadog a través de RUM. Puede desactivarlo si no necesita rastrear la exposición de funciones o el estado de las métricas de guardrail.
Más información sobre las opciones de configuración del SDK de OpenFeature se puede encontrar en su documentación. Para más información sobre la creación de tokens de cliente e IDs de aplicación, consulte API y Claves de Aplicación.
Paso 2: Cree un Feature Flag
Vaya a Create Feature Flag en Datadog y configure lo siguiente:
Flag keys, variant keys y variant values deben considerarse públicos cuando se envían a los SDK de clientes.
Paso 3: Evalúe el Feature Flag y escriba el código para implementar la nueva funcionalidad
En el código de su aplicación, utilice el SDK para evaluar el Feature Flag y habilitar la nueva funcionalidad.
import { OpenFeature } from '@openfeature/web-sdk';
const client = OpenFeature.getClient();
// If applicable, set relevant attributes on the client's global context
// (e.g. org id, user email)
await OpenFeature.setContext({
org_id: 2,
user_id: 'user-123',
email: 'user@example.com',
targetingKey: 'user-123'
});
// This is what the SDK returns if the flag is disabled in
// the current environment
const fallback = false;
const showFeature = await client.getBooleanValue('show-new-feature', fallback);
if (showFeature) {
// Feature code here
}
Después de completar este paso, vuelva a implementar la aplicación para aplicar estos cambios. Ejemplos adicionales de uso se pueden encontrar en la documentación del SDK.
Paso 4: Defina las reglas de segmentación y habilite el Feature Flag
Configure las reglas de segmentación para definir qué sujetos reciben cada variante. Después de guardar sus reglas, habilite el Feature Flag en el entorno seleccionado.
Como buena práctica general, implemente los cambios en un entorno de Staging antes de la Producción.
Consulte Traffic Splitting and Randomization.
Paso 5: Monitoree su implementación
Monitoree el despliegue de la función desde la página de detalles del Feature Flag, que proporciona seguimiento de exposición en tiempo real y métricas como error rate y page load time. A medida que implemente de forma incremental la función con el Feature Flag, visualice el panel Real-Time Metric Overview en la interfaz de usuario de Datadog para ver cómo la función impacta el rendimiento de la aplicación.
Lectura adicional
Más enlaces, artículos y documentación útiles: