3 min lectura • Guide 754 of 877
Gestión de Feature Flags con GitScrum
Los feature flags desacoplan deployment de release. GitScrum ayuda a equipos a trackear features controladas por flags y coordinar rollouts efectivamente.
Básicos de Feature Flag
Qué Habilitan los Flags
CASOS DE USO DE FEATURE FLAG:
┌─────────────────────────────────────────────────────────────┐
│ │
│ ROLLOUT GRADUAL: │
│ Deployar a 1% → 10% → 50% → 100% │
│ Monitorear métricas en cada etapa │
│ Rollback instantáneo si hay issues │
│ │
│ DARK LAUNCHING: │
│ Código deployado pero oculto de usuarios │
│ Habilita testing de integración en producción │
│ Sin riesgo para usuarios │
│ │
│ A/B TESTING: │
│ 50% ve versión A, 50% ve versión B │
│ Medir cuál performa mejor │
│ Decisiones data-driven │
│ │
│ KILL SWITCH: │
│ Deshabilitar feature problemática instantáneamente │
│ Sin deployment necesario │
│ Minutos vs horas para responder │
│ │
│ ACCESO BETA: │
│ Habilitar para usuarios/clientes específicos │
│ Recoger feedback antes de release amplio │
│ Control de acceso a features premium │
│ │
│ CONTROLES OPERACIONALES: │
│ Habilitar/deshabilitar features costosas bajo carga │
│ Degradación elegante │
│ Circuit breakers │
│ │
│ DESARROLLO TRUNK-BASED: │
│ Features incompletas detrás de flags │
│ Merge a main frecuentemente │
│ Sin feature branches long-lived │
└─────────────────────────────────────────────────────────────┘
Tipos de Flag
Categorizando Flags
TIPOS DE FEATURE FLAG:
┌─────────────────────────────────────────────────────────────┐
│ │
│ RELEASE FLAGS (Short-lived): │
│ ───────────────────────────── │
│ Propósito: Controlar rollout de nueva feature │
│ Duración: Días a semanas │
│ Ejemplo: new_dashboard_enabled │
│ │
│ Crear → Rollout → Remover │
│ DEBE removerse después de 100% rollout │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ EXPERIMENT FLAGS (Short-lived): │
│ ─────────────────────────────── │
│ Propósito: A/B testing │
│ Duración: Duración del experimento │
│ Ejemplo: checkout_flow_experiment │
│ │
│ Crear → Ejecutar experimento → Elegir ganador → Remover │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ PERMISSION FLAGS (Long-lived): │
│ ────────────────────────────── │
│ Propósito: Acceso entitlement/feature │
│ Duración: Permanente o lifecycle de producto │
│ Ejemplo: premium_analytics_enabled │
│ │
│ Estas son esencialmente features de producto │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ OPERATIONAL FLAGS (Long-lived): │
│ ──────────────────────────────── │
│ Propósito: Control de comportamiento del sistema │
│ Duración: Permanente │
│ Ejemplo: enable_caching, rate_limit_mode │
│ │
│ Usadas para ops, no features │
└─────────────────────────────────────────────────────────────┘