Feature flags y despliegues progresivos
Desvincule el despliegue de la publicación mediante feature flags, exponga gradualmente las nuevas funcionalidades y desactívelas al instante si algo sale mal.
Feature flags y despliegues progresivos es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.
Implementación frente a publicación
Una idea importante de la entrega avanzada es que implementar código y publicar una funcionalidad no son lo mismo.
Los indicadores de funcionalidad permiten enviar código a producción, pero mantener una funcionalidad desactivada hasta que decida activarla para algunos usuarios o para todos.
Qué es un indicador de funcionalidad
Un indicador de funcionalidad (o interruptor) es una condición del código que comprueba un valor de configuración para decidir si se ejecuta una ruta de código.
if (flags.isEnabled('new-checkout')) {
renderNewCheckout();
} else {
renderOldCheckout();
}Por qué los indicadores son mejores que las ramas
Las ramas de funcionalidad de larga duración provocan fusiones complicadas. Los indicadores permiten fusionar continuamente cambios pequeños en main mientras la funcionalidad permanece oculta.
- Solicitudes de incorporación de cambios más pequeñas y seguras
- Desarrollo basado en trunk
- Activación y desactivación instantáneas sin volver a implementar
Tipos de indicadores
Los indicadores tienen distintos propósitos:
- Indicadores de publicación — ocultan trabajo sin terminar
- Indicadores operativos — interruptores de emergencia para sistemas de riesgo
- Indicadores de experimentación — pruebas A/B
- Indicadores de permisos — conceden acceso a usuarios premium
Conocer el tipo le ayuda a decidir cuánto tiempo debe mantenerse.
Reglas de segmentación
Las plataformas de indicadores permiten definir quién ve una funcionalidad: por ID de usuario, grupo, región o porcentaje.
Esto permite realizar un despliegue progresivo controlado mediante la configuración en lugar de implementar infraestructura nueva.
Despliegues por porcentaje
Un patrón habitual consiste en activar primero un indicador para un pequeño porcentaje de usuarios y aumentarlo progresivamente: 1 %, luego 10 %, después 50 % y finalmente 100 %.
A diferencia de un canary, que divide el tráfico en la capa de infraestructura, este es un despliegue lógico controlado en la configuración del código.
// Pseudo targeting config
flag: new-checkout
rollout:
percentage: 10
attribute: userIdInterruptores de emergencia
La mayor ventaja operativa es que, si una funcionalidad con indicador se comporta mal, puede desactivarla al instante sin implementar una reversión.
Esto reduce drásticamente el tiempo medio de recuperación en comparación con revertir el código y volver a implementarlo.
Indicadores en la canalización
Puede integrar los cambios de los indicadores en CI/CD. Por ejemplo, un paso del flujo de trabajo puede activar un indicador después de una implementación correcta o programar un aumento gradual.
- name: Enable feature
run: |
curl -X PATCH https://flags.example.com/api/flags/new-checkout \
-H "Authorization: Bearer ${{ secrets.FLAG_TOKEN }}" \
-d '{"enabled": true}'Desactivados de forma predeterminada y seguros
Diseñe siempre los indicadores para que fallen de forma segura: si no se puede acceder al servicio de indicadores, el código debe recurrir al valor predeterminado conocido y seguro (normalmente, desactivado).
Un indicador de funcionalidad nunca debería convertirse en un punto único de fallo.
const enabled = flags.isEnabled('new-checkout', { default: false });Limpieza de indicadores
Los indicadores crean rutas de código ramificadas. Los indicadores obsoletos se convierten en deuda técnica y confunden a quienes leen el código.
Una vez que un indicador de publicación se haya desplegado por completo y sea estable, elimínelo junto con la ruta de código antigua. Gestione deliberadamente la duración de los indicadores.
Indicadores y patrones de implementación
Los indicadores de funcionalidad complementan las implementaciones blue/green y canary. Los patrones de infraestructura cambian el tráfico; los indicadores cambian la funcionalidad.
Usar ambos proporciona la publicación más segura posible: implemente discretamente, revele de forma gradual y desactive al instante si es necesario.
Comprobación rápida
Compruebe sus conocimientos sobre los indicadores de funcionalidad.
Resumen
Aprendió a separar la implementación de la publicación mediante indicadores de funcionalidad.
- Los indicadores ocultan el código tras una condición controlada por la configuración
- La segmentación permite realizar despliegues progresivos por porcentaje
- Los interruptores de emergencia permiten recuperarse al instante sin volver a implementar
- Diseñe los indicadores para que fallen de forma segura y elimínelos para evitar deuda técnica
Combinados con blue/green y canary, los indicadores completan su conjunto de herramientas de entrega avanzada.
Preguntas frecuentes
¿La lección «Feature flags y despliegues progresivos» es gratis?
Sí — el texto completo de «Feature flags y despliegues progresivos» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.
¿Qué aprenderé en «Feature flags y despliegues progresivos»?
Desvincule el despliegue de la publicación mediante feature flags, exponga gradualmente las nuevas funcionalidades y desactívelas al instante si algo sale mal. Practicas DevOps Bootcamp con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar DevOps Bootcamp?
No se requiere experiencia previa. DevOps Bootcamp en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.
¿Cuánto tiempo toma la lección «Feature flags y despliegues progresivos»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de DevOps Bootcamp?
Sí. Cada lección de DevOps Bootcamp incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Despliegues blue/green
- Lanzamientos canary con Actions
- Reversiones y recuperación ante desastres
- Feature flags y despliegues progresivos