Compartir a través de


¿Qué es la entrega continua?

La entrega continua de valor se ha convertido en un requisito obligatorio para las organizaciones. Para entregar valor a los usuarios finales, debe liberarse continuamente y sin errores.

La entrega continua (CD) es el proceso de automatizar la compilación, la prueba, la configuración y la implementación de una compilación en un entorno de producción. Un pipeline de lanzamiento puede crear varios entornos de pruebas o staging para automatizar la creación de la infraestructura e implementar nuevas versiones. Los entornos sucesivos admiten actividades de prueba de integración, carga y aceptación de usuarios progresivamente más largas.

Ilustración de cómo la entrega continua automatiza el flujo a producción.

Antes del CD, los ciclos de lanzamiento de software eran un cuello de botella para los equipos de aplicaciones y operaciones. A menudo, estos equipos se basaban en entregas manuales y eso provocó problemas durante los ciclos de lanzamiento. Los procesos manuales llevaron a versiones poco confiables que generaron retrasos y errores.

CD es una práctica lean, con el objetivo de mantener la producción actualizada con el camino más rápido desde la disponibilidad de nuevo código o componente hasta la implementación. La automatización minimiza el tiempo de implementación y el tiempo para mitigar (TTM) o el tiempo para corregir los incidentes de producción (TTR). En términos lean, CD optimiza el tiempo de proceso y elimina el tiempo de inactividad.

La integración continua (CI) inicia el proceso de CD. El pipeline de lanzamiento transita cada entorno al siguiente entorno después de que las pruebas se completen correctamente. La canalización de versión de CD automatizada permite un enfoque fallar rápido para la validación, donde las pruebas que tienen más probabilidades de fallar se ejecutan primero rápidamente, y las pruebas más largas solo se realizan después de que las más rápidas se completen con éxito.

Las prácticas complementarias de infraestructura como código (IaC) y la supervisión facilitan la CD.

Técnicas de exposición progresiva

CD admite varios patrones para la exposición progresiva, también denominada "controlar el radio de explosión". Estas prácticas limitan la exposición a las implementaciones para evitar problemas de riesgo con la base de usuarios general.

  • 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 un canario para probar nuevas versiones en producción antes de un lanzamiento más amplio. Cd automatiza la implementación de un anillo al siguiente.

    La implementación en el anillo siguiente puede depender de manera opcional de un paso de aprobación manual, donde un decisor aprueba los cambios electrónicamente. 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. Esta práctica suele usar el balanceo de carga para dirigir cantidades cada vez mayores de tráfico a la implementación verde. Si la monitorización detecta un incidente, el tráfico se puede redirigir a la implementación azul que todavía está ejecutándose.

  • Las banderas de características o alternadores de características son otra técnica para la experimentación y los lanzamientos oscuros. Las marcas de características activan o desactivan las características para diferentes grupos de usuarios en función de la identidad y la 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. El CD puede corregir rápidamente los problemas encontrados en producción mediante la puesta al día con una nueva implementación. De este modo, CD crea un flujo continuo de valor para el cliente.

Pasos siguientes