saltar al contenido
volver al mapa
práctica
etapa: deliver
2 min de lectura

Estrategias de release y rollback

Desplegar y liberar son cosas distintas. Puedes poner el código en producción a oscuras, activarlo gradualmente y apagarlo en segundos si se comporta mal.

Kubernetes rolling updatesArgo Rollouts / Flaggerfeature flags (OpenFeature, Unleash)load balancersdatabase migrations tools

Las estrategias

  • Rolling: reemplaza instancias pocas a la vez. Simple y el valor por defecto en la mayoría de los orquestadores; las versiones antigua y nueva corren lado a lado por un tiempo.
  • Blue/green: mantiene dos entornos completos y cambia el tráfico del antiguo (blue) al nuevo (green) de una vez. El rollback es volver a cambiar; cuesta el doble de capacidad durante el cambio.
  • Canary: envía una pequeña parte del tráfico a la nueva versión, observa las métricas y luego amplía. Limita el de un mal release.
  • Feature flags: entregan el código desactivado y lo activan por usuario, porcentaje o entorno. Separan deploy de release y dan un interruptor instantáneo de apagado.
  • Shadow traffic: copia solicitudes reales a la nueva versión sin devolver sus respuestas, para comparar el comportamiento con seguridad.

El rollback es una decisión de diseño

  • Mantén el artefacto anterior listo para desplegar y despliega por versión inmutable o digest.
  • Haz los cambios de base de datos retrocompatibles (expand, migrate, contract) para que el código antiguo siga funcionando con el nuevo schema.
  • Decide de antemano qué métrica dispara un rollback y automatízalo donde puedas.
  • Practica el rollback: un rollback sin probar es una esperanza.

Ejemplo: un rollout canary

Un controlador de progressive delivery mueve el tráfico por etapas y revisa las métricas entre ellas. El esbozo de abajo usa la sintaxis de Argo Rollouts.

rollout.yaml (Argo Rollouts)yaml
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
  name: api
spec:
  replicas: 6
  selector:
    matchLabels: { app: api }
  strategy:
    canary:
      steps:
        - setWeight: 10
        - pause: { duration: 5m }
        - setWeight: 50
        - pause: { duration: 10m }
  template:
    metadata:
      labels: { app: api }
    spec:
      containers:
        - name: api
          image: registry.example.com/api@sha256:<digest>

Elegir

Ajusta la estrategia al riesgo y al costo. Una herramienta interna de bajo riesgo puede usar rolling updates. Un flujo de pagos merece un canary con rollback automático. Un cambio que toca datos exige la disciplina de schema compatible, sea cual sea la estrategia.

Radio de impactoblast radiusEl tamaño del daño cuando algo se rompe: una cuenta, una región completa, un tenant. Un buen diseño de nube limita el radio mediante aislamiento (cuentas separadas, VPCs separadas, roles estrechos) para que una falla o un ataque no se convierta en un desastre total.ver en el glosario →

conexiones en el mapa

actualizado el 14/10/2026 · fuentes para profundizar · reportar un error

en otros dominios

Estudia antes

pon a prueba lo que entendiste

Cargando preguntas…