Descripción de los patrones de implementación modernos
Los usuarios finales siempre usan la aplicación de forma diferente. Sucederán eventos inesperados en un centro de datos, se producirán simultáneamente múltiples eventos de múltiples usuarios, lo que desencadenará un código que no se ha probado de esa manera.
Para superarlo, debemos aceptar que algunas características solo se pueden probar en producción.
Las pruebas en producción pueden parecer atemorizantes, pero ese no debería ser el caso.
Cuando hablamos de separar nuestras versiones funcionales y técnicas, ya vimos que es posible implementar características sin exponerlas a todos los usuarios.
Cuando tomamos este concepto de alternar características y lo usamos con nuestros patrones de implementación, podemos probar nuestro software en producción.
Por ejemplo:
- Implementaciones azul-verde.
- Versiones de valor controlado.
- Inicio oscuro.
- pruebas A/B.
- Exposición progresiva o implementación basada en anillos.
- Activación/desactivación de funcionalidad.
Análisis crítico de la arquitectura
¿La arquitectura y el estado actual del software están listos para la entrega continua?
Los temas que puede tener en consideración son los siguientes:
- ¿El software se ha creado como una aplicación monolítica enorme o se divide en varios componentes?
- ¿Puede entregar partes de la aplicación por separado?
- ¿Puede garantizar la calidad del software al realizar la implementación varias veces a la semana?
- ¿Cómo se prueba el software?
- ¿Ejecuta una o varias versiones del software?
- ¿Puede ejecutar varias versiones del software en paralelo?
- ¿Qué necesita mejorar para implementar la entrega continua?