¿Qué es la entrega continua?
La entrega continua de valor se ha convertido en un requisito obligatorio para las organizaciones. Para entregar valor a sus usuarios finales, debe realizar entregas continuas y sin errores.
La entrega continua (CD) es el proceso consistente en automatizar la compilación, las pruebas, la configuración y la implementación desde un entorno de compilación a uno de producción. Una canalización de versión puede crear varios entornos de prueba o de ensayo para automatizar la creación de la infraestructura e implementar nuevas compilaciones. Los entornos sucesivos admiten actividades progresivamente más prolongadas de integración, carga y pruebas de aceptación del usuario.
Antes de la CD, los ciclos de lanzamiento de software eran un cuello de botella para los equipos de aplicaciones y operaciones. A menudo, estos equipos confiaban en entregas manuales que provocaban problemas durante los ciclos de lanzamiento. Los procesos manuales llevaban a versiones poco fiables que generaban retrasos y errores.
La CD es una práctica ajustada con el objetivo de mantener la producción actualizada con la ruta más rápida desde la nueva disponibilidad de código o componente a la implementación. La automatización minimiza el tiempo de implementación y el tiempo para mitigar (TTM) o el tiempo para corregir (TTR) los incidentes de producción. En términos lean, la CD optimiza el tiempo de proceso y elimina el tiempo de inactividad.
La integración continua (CI) inicia el proceso de CD. La canalización de versión almacena provisionalmente cada entorno sucesivo en el siguiente entorno después de que las pruebas se completen correctamente. La canalización de versión de CD automatizada permite un enfoque de fracasar y responder rápido a los errores para la validación, donde es más probable que las pruebas no se ejecuten rápidamente primero y las pruebas de ejecución más largas solo se produzcan después de que las más rápidas se completen correctamente.
Las prácticas complementarias de la infraestructura como código (IaC) y la supervisión facilitan la CD.
Técnicas de exposición progresiva
La CD admite varios patrones para la exposición progresiva, también conocido como "controlar el radio de explosión". Estas prácticas limitan la exposición a las implementaciones para evitar problemas con la base de usuarios general.
La CD puede secuenciar varios anillos de implementación para la exposición progresiva. Un anillo intenta realizar una implementación en un grupo de usuarios y supervisa su experiencia. El primer anillo de implementación puede ser controlado para probar nuevas versiones en producción antes de un lanzamiento más amplio. La CD automatiza la implementación de un anillo al siguiente.
La implementación en el anillo siguiente puede depender opcionalmente de un paso de aprobación manual, donde un responsable de la toma de decisiones aprueba los cambios electrónicamente. La CD puede crear un registro auditable de la aprobación para cumplir los procedimientos normativos u otros objetivos de control.
La implementación azul/verde se basa en mantener activa una versión azul existente mientras se implementa una nueva versión verde. Normalmente, esta práctica usa el equilibrio de carga para aumentar directamente las cantidades de tráfico para la implementación verde. Si la supervisión detecta un incidente, se puede redirigir el tráfico a la implementación azul que sigue en ejecución.
Las marcas de características o la activación/desactivación de funcionalidad son otra técnica que se usa para la experimentación y los inicios oscuros. Las marcas de características activan o desactivan las características para diferentes grupos de usuarios en función de su identidad y pertenencia a grupos.
Las canalizaciones de versión modernas permiten a los equipos de desarrollo implementar nuevas características de forma rápida y segura. La CD puede corregir rápidamente los problemas ocurridos en producción mediante la puesta al día con una nueva implementación. De este modo, la CD crea un flujo continuo de valor de cliente.