Conceptos

Feature Flags

Técnica que permite activar o desactivar funcionalidades en producción sin desplegar código nuevo, habilitando releases progresivos y experimentación.

seed#feature-flags#toggles#releases#experimentation#progressive-delivery

¿Qué es?

Feature flags (o feature toggles) son condicionales en el código que permiten activar o desactivar funcionalidades sin desplegar. Separan el despliegue de código del release de features.

Tipos

TipoDuraciónUso
ReleaseTemporalActivar feature gradualmente
ExperimentTemporalA/B testing
OpsPermanenteCircuit breakers, kill switches
PermissionPermanenteFeatures por plan/rol

Beneficios

  • Desplegar código sin activar features
  • Rollback instantáneo (desactivar flag)
  • Canary releases (activar para % de usuarios)
  • A/B testing en producción

Herramientas

  • LaunchDarkly, Split.io (SaaS)
  • Unleash, Flagsmith (open-source)
  • AWS AppConfig, CloudWatch Evidently

Riesgos

  • Deuda técnica: flags que nunca se limpian
  • Complejidad: combinaciones de flags difíciles de testear
  • Inconsistencia: estado diferente entre usuarios

¿Por qué importa?

Los feature flags desacoplan el deploy del release. Permiten desplegar código a producción sin activarlo para los usuarios, habilitar funcionalidades gradualmente y revertir cambios sin rollback de código. Son la red de seguridad que hace posible el continuous deployment.

Referencias

  • Feature Toggles — Pete Hodgson, Martin Fowler.
  • LaunchDarkly — LaunchDarkly, 2024. Plataforma líder de feature management.
  • OpenFeature — CNCF, 2024. Estándar abierto para feature flags.
Conceptos