4 min lectura • Guide 804 of 877
Gestión de Entornos
Entornos consistentes previenen sorpresas. GitScrum ayuda a trackear qué features están deployadas donde y coordinar promociones entre entornos.
Estrategia de Entornos
Tipos de Entorno
OVERVIEW DE ENTORNOS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ DESARROLLO (DEV): │
│ ────────────────── │
│ • Desarrollo activo de features │
│ • Deployments frecuentes (múltiples/día) │
│ • Puede ser inestable │
│ • Desarrolladores tienen acceso completo │
│ • Datos de muestra/test │
│ │
│ STAGING: │
│ ──────── │
│ • Entorno similar a producción │
│ • Testing pre-producción │
│ • Misma configuración que producción │
│ • Datos realistas (pero no reales) │
│ • Deployar antes de producción │
│ │
│ PRODUCCIÓN (PROD): │
│ ────────────────── │
│ • Tráfico de usuarios real │
│ • Mayores requisitos de estabilidad │
│ • Acceso restringido │
│ • Datos reales │
│ • Monitoreo y alertas │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ FLUJO DE PROMOCIÓN: │
│ │
│ DEV ──────→ STAGING ──────→ PRODUCCIÓN │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ Unit tests Integration Smoke tests │
│ Dev testing QA testing Monitoreo │
│ Aprobación │
│ stakeholder │
└─────────────────────────────────────────────────────────────┘
Entornos Adicionales
ENTORNOS ADICIONALES:
┌─────────────────────────────────────────────────────────────┐
│ │
│ ENTORNOS OPCIONALES: │
│ │
│ LOCAL: │
│ Máquina del desarrollador │
│ Iteración rápida │
│ Puede no coincidir con producción exactamente │
│ │
│ QA: │
│ Testing QA dedicado │
│ Estable para ejecución de tests │
│ Gestión de datos de test │
│ │
│ UAT (User Acceptance Testing): │
│ Testing de stakeholder/cliente │
│ Validación de negocio │
│ Antes de sign-off de producción │
│ │
│ PERFORMANCE/LOAD: │
│ Testing de performance │
│ Infraestructura escalada │
│ Simulación de carga realista │
│ │
│ ─────────────────────────────────────────────────────────── │
│ │
│ MATRIZ DE ENTORNOS: │
│ ┌─────────────────────────────────────────────────────────┐│
│ │ ENV PROPÓSITO DATOS ACCESO ││
│ │ ─── ───────── ───── ────── ││
│ │ Local Desarrollo Mock/Sample Desarrollador ││
│ │ Dev Integración Datos test Equipo ││
│ │ QA Testing Datos test QA + Equipo ││
│ │ UAT Aceptación Sanitizados Stakeholders ││
│ │ Staging Pre-prod Realistas Limitado ││
│ │ Prod Live Reales Muy limitado ││
│ └─────────────────────────────────────────────────────────┘│
│ │
│ MÁS ENTORNOS = Más overhead │
│ Balance: Suficientes para proceso, no demasiados │
└─────────────────────────────────────────────────────────────┘
Paridad de Entornos
Manteniendo Entornos Consistentes
PARIDAD DE ENTORNOS:
┌─────────────────────────────────────────────────────────────┐
│ │
│ EL PROBLEMA: │
│ ──────────── │
│ "Funciona en staging, falla en producción" │
│ │
│ CAUSAS: │
│ • Diferentes versiones de OS │
│ • Diferentes versiones de dependencias │
│ • Diferente configuración │
│ • Diferentes características de datos │
│ • Diferente setup de red │
│ │
│ SOLUCIONES: │
│ • Infraestructura como código (Terraform, Pulumi) │
│ • Containerización (Docker, Kubernetes) │
│ • Gestión de configuración (env vars, secrets) │
│ • Pipelines de CI/CD consistentes │
│ • Versión lock de dependencias │
└─────────────────────────────────────────────────────────────┘