Puntos clave: La Integración Continua (CI), la Entrega Continua (CD) y el Despliegue Continuo (CD) son vitales en DevOps, pero no siguen una progresión estricta. Las organizaciones pueden implementar estas prácticas de forma flexible según sus necesidades.
- La CI mejora la colaboración mediante pruebas automatizadas de código fusionado.
- CD automatiza el proceso de entrega tras las pruebas, mientras que el despliegue continuo automatiza completamente la fase de despliegue.
En el mundo de DevOps, no faltan jergas. te oiremos en palabras cotidianas, como SCRUM, SME e incluso algún CI/CD ocasional. La gente realmente tiene problemas con este último, en parte porque "CD" en el mundo DevOps puede significar tanto "entrega continua" como "despliegue continuo". DevOps no ofrece una solución única para tu organización. Por eso están fundamental entender la jerga del sector. Usar DevOps en tu negocio activa eficiencia, mejor comunicación y lanzamientos de productos más rápidos. Sin embargo, si tú dedicas tiempo a implementar aspectos DevOps que no Haz sentido para tu organización, puede Crea un desgaste negativo para tu empresa. En este artículo, son vamos a explorar las progresiones relacionadas con CI/CD y CI/CD/CD. Puede parecer un lío de letras ahora mismo, pero quédate con nosotros mientras te lo aclaramos.
DevOps 101: Definiciones
Si te estás leyendo esto, probablemente te quieras una respuesta a la pregunta del millón de dólares: ¿están CI/CD una progresión? Pero vamos a volver a lo básico primero ofreciendo algunas definiciones sencillas que ayudarán a los principiantes a entender nuestra discusión.
¿Qué es una progresión?
Para los fines de este artículo, una progresión está impulso hacia adelante en una cadena de ejercicios DevOps necesarios para alcanzar el objetivo final de mayor eficiencia y entrega de software más rápida. Una progresión es más crítica para el resultado final que una mera recomendación. Por naturaleza, la palabra sugiere que hay que completar una cosa en la progresión para que la siguiente pueda funcionar eficazmente, y así sucesivamente. El componente de orden de la progresión da lugar al nombre de CI/CD.
¿Qué es la integración continua?
La integración continua están un término utilizado en el desarrollo de software que abarca la fusión de código donde la codificación manual se encuentra con la automatización. El esfuerzo conjunto entre varias personas de un equipo de DevOps trabaja hacia el objetivo único de agilizar los procesos y ofrecer coherencia. Existe un componente de pruebas, ya que el proceso de codificación suele parecer que varias unidades de código se fusionan mientras la automatización de pruebas ocurre en cada fusión. Al tener a varios miembros del equipo trabajando en diferentes partes de lo que están un paquete completo de código eventual, la automatización de pruebas en tiempo real acelera el tiempo hasta producción. Bajo esta filosofía de codificación, los equipos DevOps implementan pequeños cambios, poco a poco, confirmando que cualquier prueba se están ejecutadas con frecuencia para comprobar el código en busca de problemas. Debido a la naturaleza de la programación moderna dispersa entre varias herramientas, recursos y plataformas, fusionar con éxito el código en un solo lugar identificable es un componente clave de esta práctica. En la mayoría de los casos, un repositorio de control de versiones es necesario para implementar la IC con éxito. Cuando un miembro del equipo termina de trabajar por su parte, envía su código a un repositorio para que se fusione con la siguiente pieza de código. La piedra angular de la CI está la coherencia. Con prácticas establecidas para producir, fusionar y probar paquetes y aplicaciones de código de forma consistente, los equipos pueden estar tranquilos en su capacidad para colaborar en pequeños cambios de código, haciendo que el paquete de software en su conjunto sea aún mejor. Una implicación de la CI están las pruebas continuas. Esto va más allá de simplemente lanzar pruebas automatizadas cada vez que se están fusionados un código. En su lugar, al integrar las pruebas automatizadas en la estructura de la tubería CI/CD, se crea un bucle de pruebas, a menudo denominado pruebas continuas.
¿Qué es la entrega continua?
Ahora que tú entiendes la idea detrás de la integración continua, aquí es donde se complica un poco. En muchas organizaciones DevOps, la integración continua no es un objetivo final sino un medio para un fin. Algunos líderes de TI llegan con la mentalidad de que la CI están el primer paso, siendo la entrega continua (CD) el segundo paso natural. ¡Voilà! ¿Una progresión, verdad? Pero no nos Obtén adelante. He aquí por qué: la entrega continua están un proceso que suele ocurrir tras pruebas infalibles en la fase de CI. En resumen, CD están el brazo automatizado, que impulsa paquetes de código que han completado el ciclo de CI a un entorno automatizado y configurado para pruebas y despliegue. En las organizaciones DevOps, no es raro que los equipos tengan múltiples entornos así dentro de diferentes recursos y para distintos medios. Un entorno de CD integral puede consistir en varios pasos con distintos grados de automatización y ejecución manual. Estos pueden incluir:
- Eliminar código del control de versiones y ejecutar una nueva versión.
- Mover código de un entorno informático a otro.
- Gestionar entornos y configuraciones para soportar código.
- Ejecutando todos los pasos necesarios de infraestructura cloud.
- Trasladar los componentes de la aplicación a servicios de base de datos, API o servidores web según sea necesario.
- Crear registros y proporcionar alertas.
Como demuestran los pasos anteriores, la entrega continua sirve como un medio para automatizar el entorno y la infraestructura necesarios para soportar el código producido por el bucle CI. Para muchas empresas, CI/CD están un medio para alcanzar el objetivo final de despliegue continuo, siendo el CD el intermediario necesario entre ambos. Sin embargo, a diferencia de lo que algunos líderes de TI puedan suponer, CI/CD no están un avance. De hecho, el despliegue continuo, tan solicitado, no es necesariamente el adecuado para todas las organizaciones, como explicaremos más adelante. Lo mejor para las organizaciones DevOps es utilizar cualquier cosa de CI y CD que tenga sentido para su negocio empresarial, en el orden que mejor les funcione. Imagina una empresa que tiene muchas restricciones de cumplimiento y regulación en el entorno de codificación. Esta organización podría saltarse completamente el CI y centrarse únicamente en automatizar la entrega. Por esa razón, el CI/CD no están una verdadera progresión tal y como la definimos antes, porque estas funciones pueden ocurrir fuera de orden o sin el apoyo de la otra
¿Qué es el despliegue continuo
Así que nos queda con el despliegue continuo (también conocido como CD, confuso, ¿verdad?). En muchos casos, cuando las empresas implementan CI/CD, lo que realmente quieren están CI/CD/CD. La filosofía del despliegue continuo permite automatizar cada paso del proceso CI/CD/CD sin necesidad de intervención manual. Por ejemplo, la entrega continua permite automatizar el código fusionado desde el bucle de CI hacia entornos de pruebas posteriores. Pero si te detienes ahí, el acto de despliegue están manual. Aquí entra el despliegue continuo. Con prácticas de despliegue continuo implementadas con éxito en toda una organización DevOps, toda la cadena CI/CD/CD está automatizada, eliminando el paso manual entre las pruebas finales mientras se traslada el código a entornos de despliegue. Durante esta fase, cada cambio está sujeto a pruebas automatizadas. Cuando supera la fase de pruebas, pasa directamente a la fase de producción, permitiendo a las empresas realizar múltiples despliegues en un solo día. Dicho esto, este último acto no es adecuado para todas las empresas. Simplemente aspirar a un despliegue continuo sin considerar su beneficio para tu organización están un acto equivocado. Una práctica común en el despliegue continuo que anima a los equipos a ocultar el trabajo en progreso tras las funcionalidades podría hacer que el proceso de desarrollo sea más engorroso y dificultar aún más la refactorización. Por ello, los líderes empresariales deberían entender lo que son buscan Obtén de una filosofía CI/CD/CD sin buscar ciegamente algún estándar de oro aleatorio.
Resumiendo
Al final, está claro Ve que ni CI/CD ni CI/CD/CD constituyen una verdadera progresión. Como no dependen unos de otros para avanzar en el desarrollo, se pueden seleccionar las mejores prácticas de cada uno, creando una filosofía de programación adaptada a las necesidades de cada negocio de programación. La buena noticia están que todas las empresas empresariales que incorporan DevOps pueden beneficiarse de aprender más sobre sus funciones y beneficios, además de aprender a implementar CI/CD o CI/CD/CD o cualquier variante para producir resultados más eficientes de forma constante.
Guía de DevOps
- ¿Qué es DevOps? Una introducción completa
- Una breve historia de DevOps
- Introducción a la arquitectura DevOps
- Automatización en DevOps: Por qué y cómo automatizar las prácticas de DevOps
- ¿Qué es CI/CD? Explicación sobre la integración continua y la entrega continua
- Cómo construir una tubería CI/CD usando Jenkins
- Métricas de DevOps para optimizar Pipelines CI/CD
- Métricas de entrega continua
- ¿Es la integración continua hacia el despliegue continuo una progresión, o no?
- Diferencias entre integración continua (CI), entrega (CD) y despliegue
- Control de código fuente y versiones en DevOps
- ¿Qué es las pruebas continuas?
- Marcos de automatización de pruebas: La guía definitiva
- Gestión de versiones en DevOps
- Explicación: Monitorización & Telemetría en DevOps
- Gestión del rendimiento de aplicaciones en DevOps
- Orquestación DevOps en el SDLC
- Introducción al DevOps de bases de datos
- El papel de los microservicios en DevOps
- El papel de la virtualización en DevOps
- Contenedores y DevOps: Cómo encajan los contenedores en los Pipelines de entrega de DevOps
- ¿Qué es una tubería de contenedores?
- ¿Qué es una cadena de herramientas DevOps?
- Gestión de contenedores y código para DevOps
- El papel de Agile en DevOps
- El papel de la nube en DevOps
- ¿Qué están FinDevOps?
- Principales tendencias DevOps en 2022
- Valores y principios de DevOps
- Métricas y KPIs de DevOps
- Consejos sobre DevOps para organizaciones pequeñas, medianas y grandes
- Estructura del equipo DevOps
- Los mejores libros de DevOps para leer hoy
- Reseña del libro The Phoenix Project: DevOps para todos
- Influencers de DevOps: 11 expertos en DevOps para seguir en Twitter
- GitHub, GitLab, Bitbucket y Azure DevOps: ¿Cuál es la diferencia?
- Mejores Prácticas: Cómo Diseñar Aplicaciones para Kubernetes
- Gestión de configuración en DevOps
- Estrategias de ramificación DevOps explicadas
- Títulos de trabajo, roles y responsabilidades en DevOps
- Pruebas en DevOps: Conceptos, Mejores Prácticas y Más
- La guía completa de certificaciones DevOps para 2022
- ¿Qué están el patrón de operador Kubernetes?
Estas publicaciones son mías y no representan necesariamente la posición, estrategias u opinión de BMC.