Gestión de Feature Flags | GitScrum
Usa feature flags para liberar de forma segura, testear en producción y controlar rollouts. Desacopla deployment de release con GitScrum.
3 min de lectura
Los feature flags desacoplan deployment de release. Deploya código cuando esté listo, libera features cuando tengas confianza. Esto habilita rollouts más seguros, rollbacks más fáciles, y mejor testing. Esta guía cubre enfoques prácticos para gestión de feature flags.
Tipos de Flag
| Tipo | Propósito | Duración |
|---|---|---|
| Release | Rollout gradual | Corta |
| Experimento | A/B testing | Media |
| Ops | Kill switch | Larga |
| Permiso | Features cliente | Permanente |
Implementación Básica
Feature Flags Simples
BÁSICOS DE FEATURE FLAG
═══════════════════════
IMPLEMENTACIÓN SIMPLE:
─────────────────────────────────────
Check básico de flag:
// Configuración
const FLAGS = {
newCheckout: true,
darkMode: false,
betaFeatures: true,
};
// Uso
if (FLAGS.newCheckout) {
return <NewCheckoutFlow />;
} else {
return <OldCheckoutFlow />;
}
CONFIGURACIÓN EXTERNA:
─────────────────────────────────────
Flags desde servidor:
// Fetch flags al startup
const flags = await fetchFlags(userId);
// Uso
if (flags.isEnabled('newCheckout')) {
return <NewCheckoutFlow />;
}
// Beneficios:
// - Cambiar sin deploy
// - Flags específicas por usuario
// - Rollouts por porcentaje
// - Analytics incluido
PROVEEDORES DE FLAG SERVICE:
─────────────────────────────────────
Servicios populares:
├── LaunchDarkly
├── Split.io
├── ConfigCat
├── Unleash (open source)
├── Flagsmith (open source)
└── Elige basado en necesidades
Estrategias de Rollout
Release Gradual
ESTRATEGIAS DE ROLLOUT
══════════════════════
ROLLOUT POR PORCENTAJE:
─────────────────────────────────────
Incremento gradual:
Día 1: 1% de usuarios
├── Monitorear errores
├── Verificar performance
├── Observar métricas
└── Radio de explosión pequeño
Día 2: 10% de usuarios
├── Más tráfico
├── Más confianza
├── Todavía controlado
└── Rollback fácil
Día 3: 50% de usuarios
├── Mitad del tráfico
├── Validación significativa
├── Casi listo
└── ¿Listo para completo?
Día 4: 100% de usuarios
├── Rollout completo
├── Feature live
├── Flag puede removerse
└── ¡Listo!
ROLLOUT DIRIGIDO:
─────────────────────────────────────
Usuarios específicos primero:
├── Empleados internos primero
├── Luego usuarios beta
├── Luego porcentaje de todos
├── Luego release completo
└── Construcción de confianza por etapas