Jump to section

¿Qué es la distribución continua?

Copiar URL

La distribución continua es una práctica del desarrollo de software que utiliza la automatización para acelerar el lanzamiento del código nuevo.

En este proceso, los cambios que hace un desarrollador en una aplicación se envían a un repositorio de código o al registro de contenedores por medio de la automatización.

La distribución continua forma parte de la CI/CD, un método para distribuir sistemas de software con frecuencia mediante la automatización de algunas de las etapas del desarrollo de las aplicaciones. 

La sigla "CI" en la expresión CI/CD hace referencia a la integración continua. Con ella, los nuevos cambios en el código de una aplicación se diseñan, prueban e incorporan con regularidad en un repositorio compartido. Gracias a esto se soluciona el problema de que se desarrollen demasiadas divisiones de una aplicación al mismo tiempo, que luego podrían entrar en conflicto entre sí.

La sigla "CD" en CI/CD puede hacer referencia a la implementación continua o a la distribución continua, las cuales describen formas de automatizar las etapas posteriores del proceso.

CI/CD FLow

Aunque la distribución continua y la implementación continua son conceptos estrechamente relacionados, a veces se usan por separado para especificar todas las tareas de automatización actualmente en proceso.

Por lo general, la distribución continua implica que los cambios de un equipo de desarrolladores en una aplicación automáticamente se someten a pruebas de errores y se cargan en un repositorio (como GitHub o un registro de contenedores), para que luego el equipo de operaciones pueda implementarlos en un entorno de producción en vivo. Es una solución al problema de la poca supervisión y comunicación entre los equipos comerciales y de desarrollo. Con ese fin, el propósito de la distribución continua es garantizar que la implementación del código nuevo se lleve a cabo con el mínimo esfuerzo.

Por otro lado, la implementación continua abarca algunos pasos adicionales en el proceso de lanzamiento del software nuevo. Generalmente, incluye el lanzamiento automático de los cambios que implementa el desarrollador desde el repositorio hacia la producción, para que los clientes puedan usarlos. Así ya no se sobrecarga a los equipos de operaciones con procesos manuales que retrasan la distribución de las aplicaciones. Con este tipo de implementación, se aprovechan los beneficios de la distribución continua y se automatiza la siguiente etapa del proceso.

La transformación requiere práctica

La transformación digital abierta conduce a resultados significativos. Entérese de los motivos a través de tres estudios de casos de clientes.
 

Un canal de CI/CD consiste en una serie de pasos que deben ejecutarse para distribuir la versión nueva de un sistema de software. Cuando pone en práctica la integración/distribución continuas, establece un canal de CI/CD.

Los canales de CI/CD incorporan la supervisión y la automatización para optimizar el flujo de trabajo de desarrollo de las aplicaciones, sobre todo en las etapas de integración y de prueba, así como en la distribución y la implementación. 

Si bien cada uno de los pasos de un canal de CI/CD puede ejecutarse de forma manual, el verdadero valor de este radica en la automatización del ciclo de vida de la aplicación.

DevOps es un concepto que combina las prácticas de "desarrollo" y "operaciones", y es un modo de abordar la cultura, la automatización y el diseño de las plataformas para generar mayor valor empresarial y capacidad de respuesta, mediante la prestación ágil de servicios de alta calidad.

La distribución continua es una práctica de desarrollo de software específica, cuya aplicación suele estar relacionada con DevOps. Es probable que un enfoque de DevOps implique la creación de un canal de distribución continua.

DevOps describe los enfoques para agilizar los procesos con los que una idea (como una nueva función de software, una solicitud de mejora o una corrección de errores) pasa del desarrollo a la implementación en un entorno de producción en que puede generar valor para el usuario. 

Con DevOps, los desarrolladores, que generalmente realizan codificaciones en un entorno de desarrollo estándar, trabajan en estrecha colaboración con los equipos de operaciones de TI y de prueba para agilizar el diseño, las confirmaciones de cambios en el código, las pruebas de unidades y el lanzamiento de los sistemas de software, sin comprometer la confiabilidad.

Uno de los resultados principales de la implementación de DevOps es un canal de CI/CD que cuenta con el respaldo de los equipos de desarrollo y operaciones, los cuales trabajan juntos utilizando una metodología ágil

La automatización permite que la CI/CD acelere los procesos de desarrollo, implementación y prueba, y ayuda a mantener la calidad y a reducir los errores humanos. También puede respaldar la seguridad como parte de una estrategia de DevSecOps.

Hay herramientas que gestionan específicamente la integración (CI), otras que abordan el desarrollo y la implementación (CD), y algunas que se especializan en la distribución continua o en funciones relacionadas.

Una de las herramientas open source más conocidas para la CI/CD es el servidor de automatización Jenkins, cuyo diseño permite gestionar cualquier sistema, desde un servidor sencillo de CI hasta un centro completo de CD.

Otro proyecto open source que se utiliza con frecuencia es Tekton, el cual forma parte de Continuous Delivery Foundation y permite describir los procesos de distribución de forma declarativa. Para ello, utiliza los conceptos de Kubernetes y los ejecuta en contenedores según se requiera.

Tekton es la base de OpenShift Pipelines, una solución de CI/CD para Red Hat® OpenShift®.

Artículos relacionados

ARTÍCULO

¿Qué es DevSecOps?

Si desea aprovechar al máximo la agilidad y la capacidad de respuesta de los enfoques de DevOps, la seguridad de la TI debe desempeñar un papel principal en todo el ciclo de vida de sus aplicaciones.

ARTÍCULO

¿Qué son la integración/distribución continuas (CI/CD)?

La integración y la distribución continuas (CI/CD) incorporan la automatización y la supervisión permanentes en todo el ciclo de vida de las aplicaciones, desde las etapas de integración y prueba hasta las de distribución e implementación.

ARTÍCULO

¿Qué hace un ingeniero de DevOps?

Un ingeniero de DevOps es alguien que posee una combinación única de habilidades y experiencia que permite la colaboración, la innovación y los cambios culturales dentro de una empresa.  

Más información sobre DevOps

Productos

Programa intensivo y altamente especializado con personal experto de Red Hat, que le enseñará a utilizar una metodología ágil y herramientas open source para solucionar los problemas comerciales de su empresa.

Servicio de nuestros asesores estratégicos, quienes tienen una visión amplia de su empresa, analizan sus desafíos y lo ayudan a superarlos con soluciones completas y rentables.

Contenido adicional

Lista de verificación

Automatización empresarial con metodología DevOps

Whitepaper

Optimice los canales de CI/CD con Red Hat Ansible Automation Platform