blog

Separación de Ambientes de Desarrollo con Licenciamiento Microsoft

Escrito por David Garcia | 6/08/2025 06:52:56 PM

Introducción: 

“Evitar que un fallo o prueba en desarrollo impacte en el entorno de producción.” 

 Contexto

Una empresa tecnológica desarrolla aplicaciones web críticas para instituciones financieras. Para acelerar la entrega de nuevas funcionalidades, los equipos de desarrollo realizaban pruebas directamente en entornos de producción. Un cambio de configuración mal probado generó una caída del sistema bancario durante 3 horas, afectando a miles de usuarios y dañando la reputación del cliente. 

La falta de separación entre desarrollo, pruebas y producción demostró ser un riesgo operativo y reputacional grave. 

Desarrollo:
 

Escenario práctico 

Un desarrollador despliega una nueva funcionalidad desde Visual Studio Code utilizando GitHub Actions. Sin una separación clara de ambientes ni revisión previa, el código llega directamente a producción. La actualización entra en conflicto con configuraciones existentes, provocando errores de autenticación masivos para usuarios finales. 

Microsoft Defender for Cloud detecta el pico inusual de errores HTTP 500, y Microsoft Sentinel emite alertas sobre la interrupción del servicio. 

 Problemas identificados 

  • Despliegues automáticos desde entornos de desarrollo a producción sin revisión. 
  • Ausencia de un entorno de staging (preproducción). 
  • Accesos directos de desarrolladores a bases de datos productivas. 
  • Controles de calidad y pruebas insuficientes antes de liberar nuevas versiones. 

 Enfoque de implementación 

Para mitigar estos riesgos, la empresa rediseña su pipeline de despliegue con principios DevSecOps: 

  • Separación estricta de ambientes: desarrollo, pruebas, preproducción y producción aislados con diferentes suscripciones en Azure. 
  • Controles de acceso diferenciados por rol mediante Microsoft Entra ID. 
  • Implementación de entornos de staging para validar los cambios en condiciones similares a producción. 
  • Flujos de despliegue controlados usando GitHub Actions y Azure DevOps con aprobación manual. 
  • Integración continua (CI) y pruebas automatizadas (CD) antes de liberar cualquier versión. 
  • Supervisión proactiva de cada entorno con Microsoft Defender for DevOps y Azure Monitor. 

 Tipos de entorno definidos 

  • Desarrollo (Dev): Entorno experimental, sin acceso a datos reales. 
  • Pruebas (Test): Usado por QA para validar funcionalidades. 
  • Staging (Preprod): Réplica de producción para pruebas finales. 
  • Producción (Prod): Operación en vivo, con controles reforzados y mínimo acceso. 

 Resultado esperado 

La empresa logra proteger su entorno productivo de errores no intencionados, asegurando estabilidad operativa y calidad en sus servicios. Las nuevas funcionalidades son validadas de forma segura, sin interrupciones para los usuarios finales. Se mejora el cumplimiento normativo, la trazabilidad y la eficiencia del ciclo de desarrollo.