5 min lectura • Guide 816 of 877
Estrategias de Progressive Delivery
Despliega con confianza. GitScrum ayuda a equipos a trackear releases de progressive delivery, asegurando que features lleguen a usuarios de forma segura e incremental.
Estrategias de Deployment
ESTRATEGIAS COMPARADAS
══════════════════════
BIG BANG DEPLOYMENT (Riesgoso):
┌─────────────────────────────────────────────────────────────┐
│ │
│ Old Version ──────────────→ New Version │
│ 100% users 100% users │
│ │
│ Todo a la vez, todo o nada │
│ Riesgo: Si falla, todos afectados │
│ │
└─────────────────────────────────────────────────────────────┘
BLUE-GREEN DEPLOYMENT:
┌─────────────────────────────────────────────────────────────┐
│ │
│ BLUE (Active) GREEN (Standby) │
│ ┌──────────┐ ┌──────────┐ │
│ │ v1.0 │ │ v1.1 │ │
│ │ 100% │ │ 0% │ │
│ └──────────┘ └──────────┘ │
│ │ │ │
│ └────── SWAP ──────┘ │
│ │
│ Rollback: Swap de vuelta a Blue │
│ │
└─────────────────────────────────────────────────────────────┘
CANARY DEPLOYMENT:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Fase 1: 1% de tráfico a v1.1 → Monitor │
│ Fase 2: 5% de tráfico a v1.1 → Monitor │
│ Fase 3: 25% de tráfico a v1.1 → Monitor │
│ Fase 4: 50% de tráfico a v1.1 → Monitor │
│ Fase 5: 100% de tráfico a v1.1 → ¡Completo! │
│ │
│ Rollback: Reducir tráfico a 0% en cualquier fase │
│ │
└─────────────────────────────────────────────────────────────┘
Feature Flags
FEATURE FLAGS
═════════════
¿QUÉ SON?:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Interruptores en código que habilitan/deshabilitan │
│ funcionalidad sin deployment │
│ │
│ if (featureFlags.isEnabled("new-checkout")) { │
│ showNewCheckout(); │
│ } else { │
│ showOldCheckout(); │
│ } │
│ │
└─────────────────────────────────────────────────────────────┘
TIPOS DE FLAGS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ RELEASE FLAGS: │
│ ├── Esconder features en desarrollo │
│ ├── Habilitar gradualmente │
│ └── Vida corta (remove después de rollout) │
│ │
│ EXPERIMENT FLAGS: │
│ ├── A/B testing │
│ ├── % de usuarios ven variante A vs B │
│ └── Medir impacto antes de decidir │
│ │
│ OPS FLAGS: │
│ ├── Kill switches │
│ ├── Deshabilitar features bajo carga │
│ └── Permanentes o semi-permanentes │
│ │
│ PERMISSION FLAGS: │
│ ├── Features por plan/tier │
│ ├── Beta access │
│ └── Permanentes │
│ │
└─────────────────────────────────────────────────────────────┘
Criterios de Rollout/Rollback
CRITERIOS DE ÉXITO
══════════════════
ANTES DE DEPLOYMENT - DEFINIR:
┌─────────────────────────────────────────────────────────────┐
│ │
│ MÉTRICAS TÉCNICAS: │
│ ├── Error rate: < 0.1% │
│ ├── Latency p99: < 500ms │
│ ├── CPU/Memory: < 80% │
│ └── Success rate: > 99.9% │
│ │
│ MÉTRICAS DE NEGOCIO: │
│ ├── Conversion rate: No decrease > 2% │
│ ├── User engagement: No decrease > 5% │
│ └── Revenue: No decrease │
│ │
└─────────────────────────────────────────────────────────────┘
DURANTE DEPLOYMENT - MONITOREAR:
┌─────────────────────────────────────────────────────────────┐
│ │
│ Dashboard con: │
│ ├── Métricas técnicas en tiempo real │
│ ├── Comparación canary vs baseline │
│ ├── Alertas configuradas │
│ └── Logs y traces accesibles │
│ │
└─────────────────────────────────────────────────────────────┘
TRIGGER DE ROLLBACK:
┌─────────────────────────────────────────────────────────────┐
│ │
│ 🔴 AUTOMÁTICO si: │
│ ├── Error rate > 1% │
│ ├── Latency p99 > 2x baseline │
│ └── Health checks failing │
│ │
│ 🟡 MANUAL REVIEW si: │
│ ├── Métricas de negocio degradan │
│ ├── Feedback negativo de usuarios │
│ └── Anomalías en logs │
│ │
└─────────────────────────────────────────────────────────────┘
En GitScrum
TRACKING DE RELEASES EN GITSCRUM
════════════════════════════════
RELEASE TASK:
┌─────────────────────────────────────────────────────────────┐
│ │
│ [RELEASE] v2.3.0 Canary Rollout │
│ │
│ Checklist: │
│ ☐ Deploy to canary (1%) │
│ ☐ Monitor 30 min │
│ ☐ Expand to 10% │
│ ☐ Monitor 1 hour │
│ ☐ Expand to 50% │
│ ☐ Monitor 2 hours │
│ ☐ Full rollout (100%) │
│ │
│ Labels: 🚀 release, 🐤 canary │
│ │
└─────────────────────────────────────────────────────────────┘
FEATURE FLAG TRACKING:
┌─────────────────────────────────────────────────────────────┐
│ │
│ [FLAG] new-checkout │
│ │
│ Status: 25% rollout │
│ Created: 2024-01-15 │
│ Owner: @maria │
│ Cleanup date: 2024-02-15 │
│ │
│ Linked: │
│ ├── Epic: Checkout Redesign │
│ └── Dashboard: Flag metrics │
│ │
└─────────────────────────────────────────────────────────────┘