Continuos deployment: Conjunto de técnicas que nos permiten desplegar cambios en producción de forma continuada (frecuencia alta)
“Continuous Deployment is actually deploying every change into production, every day or more frequently.”
- No es sólo un cambio de herramientas, sino un cambio de cultura.
- No hay fórmulas mágicas: depende de la organización, hay distintas opciones que funcionan
- Esfuerzo grande de transformación en el departamento de QA
¿Cómo conseguirlo?
- Herramientas que automaticen el proceso y la operación
- Muy buena comunicación entre los equipos involucrados
- Optimización del tiempo de pruebas

- Definir muy bien qué probar dónde
Producto: focus en el componente. Pueden ser pruebas de componente o pruebas de sistema pero enfocadas en una funcionalidad o componente en concreto.
Estabilización: pruebas de sistema. El cambio forma parte junto con otros cambios de la release candidateEsta ventana tiene como objetivo estabilizar la release candidate
Producción: se comprueba que el despliegue sea correcto
2. La automatización juega un papel muy importante, es condición necesaria pero no suficiente:
Estabilización: Buscar problemas derivados del merge del código, impactos con otros cambios.
Staging como parte de la validación
Producción: Buscar problemas derivados de las diferencias entre los entornos de pruebas y producción
Las comprobaciones de producción deben ser mínimas, ya son issues escapados
4. Enfoque 100% en los objetivos de cada fase.
Producto:
- Automatizar los casos de test de aceptación
- Pruebas y análisis "previo" tiene que ser muy fuerte
Estabilización
- Automatización es clave para la regresión
- No todos los escenarios o pruebas son automatizables
- Análisis de riesgos e impactos (no cambios aislados)
Despliegue
- Automatización de la verificación del despliegue
- Reducir la incertidumbre: acercar el entorno de pruebas al de producción
Estabilización: Buscar problemas derivados del merge del código, impactos con otros cambios.
Staging como parte de la validación
Producción: Buscar problemas derivados de las diferencias entre los entornos de pruebas y producción
Las comprobaciones de producción deben ser mínimas, ya son issues escapados
4. Enfoque 100% en los objetivos de cada fase.
- Conocer las diferencias de cada entorno de pruebas con el siguiente
- Contar con conocimiento del resto de equipos (sistemas, devops, desarrollo)
- Lessons learnt: aprender de las lecciones aprendidas de cada iteración --> resolver los problemas sin excusas
Resúmen:
1. Mantener el foco en el objetivo de cada fase.
2. Invertir en la mejora continua
3. El equipo de release managers deber tener los mismos objetivos --> reducir el esfuerzo de operacion / cambio
1. Mantener el foco en el objetivo de cada fase.
2. Invertir en la mejora continua
3. El equipo de release managers deber tener los mismos objetivos --> reducir el esfuerzo de operacion / cambio
No hay comentarios:
Publicar un comentario