CIB 02
Ingeniería de
Software
MSC. ING Fernando R. Flores Solís
DEVOPS
DEVOPS
• El término DevOps, que es una combinación de los términos ingleses development
(desarrollo) y operations (operaciones), designa la unión de personas, procesos y
tecnología para ofrecer valor a los clientes de forma constante.
• ¿Qué significa DevOps para los equipos? DevOps permite que los roles que antes estaban
aislados (desarrollo, operaciones de TI, ingeniería de la calidad y seguridad) se coordinen
y colaboren para producir productos mejores y más confiables. Al adoptar una cultura de
DevOps junto con prácticas y herramientas de DevOps, los equipos adquieren la
capacidad de responder mejor a las necesidades de los clientes, aumentar la confianza
en las aplicaciones que crean y alcanzar los objetivos empresariales en menos tiempo.
3
Ventajas de DevOps
• Los equipos que adoptan la cultura, las prácticas y las herramientas de DevOps mejoran
el rendimiento y crean productos de más calidad en menos tiempo, lo que aumenta la
satisfacción de los clientes. Esta mejora de la colaboración y la productividad es
fundamental también para alcanzar objetivos de negocio como estos:
• Reducción del tiempo de comercialización
• Adaptación al mercado y a la competencia
• Mantenimiento de la estabilidad y la confiabilidad del sistema
• Mejora del tiempo medio de recuperación
4
Cultura de DevOps
Aunque la adopción de prácticas de DevOps automatiza y optimiza los procesos con
tecnología, todo comienza con la cultura interna de la organización y con las personas que
participan en ella. El desafío de cultivar una cultura de DevOps requiere cambios
profundos en la forma en la que las personas trabajan y colaboran. Pero cuando las
organizaciones se comprometen a implementar una cultura de DevOps, pueden crear un
entorno que facilite el desarrollo de equipos de alto rendimiento.
• Colaboración, visibilidad y alineación
• Cambios en el ámbito y en la responsabilidad
• Ciclos de lanzamiento de versiones más cortos
• Aprendizaje continuo
5
DevOps y el ciclo de vida de las aplicaciones
6
DevOps y el ciclo de vida de las aplicaciones
Planificación:
• Definir los objetivos del proyecto.
• Crear historias de usuario y tareas en el backlog.
• Priorizar las tareas y planificar las iteraciones.
Desarrollo:
• Escribir y revisar el código.
• Realizar pruebas unitarias.
• Integración continua: integrar el código frecuentemente en el repositorio compartido.
7
DevOps y el ciclo de vida de las aplicaciones
Compilación:
• Compilar el código fuente en un binario ejecutable.
• Realizar pruebas automatizadas.
• Validar la compilación para asegurar que no hay errores.
Pruebas:
• Ejecutar pruebas automatizadas y manuales.
• Realizar pruebas de integración, funcionales y de regresión.
• Asegurar la calidad del software y la conformidad con los requisitos.
8
DevOps y el ciclo de vida de las aplicaciones
Lanzamiento :
• Preparar el entorno de producción.
• Implementar el software en entornos de preproducción y producción.
• Realizar revisiones de lanzamiento y aprobaciones.
Implementación:
• Implementar el software en producción de manera automatizada.
• Monitorizar la implementación para asegurar que se realiza correctamente.
• Utilizar técnicas como despliegue continuo y entrega continua.
9
DevOps y el ciclo de vida de las aplicaciones
Lanzamiento :
• Preparar el entorno de producción.
• Implementar el software en entornos de preproducción y producción.
• Realizar revisiones de lanzamiento y aprobaciones.
Implementación:
• Implementar el software en producción de manera automatizada.
• Monitorizar la implementación para asegurar que se realiza correctamente.
• Utilizar técnicas como despliegue continuo y entrega continua.
10
DevOps y el ciclo de vida de las aplicaciones
Operación :
• Monitorizar el rendimiento del sistema y la aplicación.
• Gestionar la infraestructura y los recursos.
• Responder a incidentes y resolver problemas en tiempo real.
Monitorización :
• Recolectar datos y métricas del sistema y las aplicaciones.
• Analizar el rendimiento y detectar anomalías.
• Retroalimentar el equipo de desarrollo con información para mejoras futuras.
11
DevOps y el ciclo de vida de las aplicaciones
Retroalimentación y Mejora Continua :
• Revisar los resultados de cada ciclo de desarrollo y operaciones.
• Identificar áreas de mejora y optimización.
• Implementar cambios y mejoras en el proceso de desarrollo y operación..
12
Herramientas DEVOPS
13