Ingeniería de Software
Luna Carlos Ricardo
DevOps
Equipo: 2
Arellano Andrade Fernando Alexis
Monroy Esquivel Elena Yared
Hernández Martínez Alexis Isaí
Vázquez García Luis Darío
Mora Torres Daniel Alejandro
¿QÚE SON?
Es una combinación de cultura, prácticas y
herramientas que une a los equipos de desarrollo y
operaciones de TI para entregar software de alta
calidad de forma más rápida y confiable.
HISTORIA Y ORIGEN
Se originó en la primera década del 2000 como una
respuesta a los silos entre los equipos de desarrollo y
operaciones, que generaban ineficiencia y retrasos en la
entrega de software. El término fue popularizado por Patrick
Debois en 2009 tras el primer evento DevOpsDays,
marcando un cambio cultural hacia la colaboración continua,
las herramientas automatizadas y la entrega ágil de
software.
OBJETIVOS
Velocidad y Agilidad: Entrega continua que permite cumplir
objetivos comerciales de forma oportuna y consistente
Aprendizaje Continuo: Experimentación constante que facilita
correcciones tempranas y mejora continua
Colaboración Unificada: Eliminación de silos entre equipos
creando flujos de trabajo cohesionados
Valor al Cliente: Capacidad de responder rápidamente a
cambios y entregar productos de alta calidad
Competitividad: Combinación perfecta de agilidad,
colaboración y enfoque en experiencia del cliente.
CLASIFICACIÓN
Existen dos enfoques principales para una cadena de
herramientas DevOps: una cadena de herramientas integral
o una cadena de herramientas abierta. Una solución
DevOps integral proporciona una solución completa que
normalmente no se integra con herramientas de terceros.
Una cadena de herramientas abierta puede personalizarse
según las necesidades de un equipo con diferentes
herramientas.
Diferencias entre desarrollo tradicional y DevOps
DESARROLLO
CARACTERÍSTICA DEVOPS
TRADICIONAL
Lineal y secuencial - Fases Iterativo y continuo - Ciclo
Modelo de Proceso
consecutivas constante
Equipos aislados por Equipos multidisciplinares
Estructura de Equipos
departamentos integrados
Cumplir requisitos Entregar valor rápido y
Objetivo Principal
definidos inicialmente frecuente al usuario
Largo (meses/años) - Corto (horas/semanas) -
Ciclo de Entrega
Versiones grandes Entregas pequeñas
Documentación formal y Comunicación continua y
Comunicación
traspasos automatización
QA al final del proceso - Calidad integrada desde el
Enfoque en Calidad
Verificación tardía inicio
Respuesta al Cambio Rígida y costosa Ágil y flexible
Mínima - Despliegues
Automatización Máxima en todo el ciclo
manuales
Cumplir plan, presupuesto Frecuencia despliegues,
Métrica de Éxito
y alcance tiempo de restauración
"Tirar código por encima Responsabilidad
Cultura
del muro" compartida y colaboración
ESTRUCTURA DE LAS DEVOPS
El "Ciclo Infinito" de DevOps (Las 8 C's)
1. PLANIFICACIÓN Y DESARROLLO
Gestion ágil (Scrum, Kanban)
Control de versiones (Git)
Herramientas: Jira, GitHub, GitLab
2. INTEGRACIÓN CONTINUA (CI)
Fusion frecuente de código
Builds y pruebas automáticas
Herramientas: Jenkins, GitHub Actions
3. ENTREGA Y DESPLIEGUE CONTINUOS (CD)
Liberación rápida y segura a producción
Automatización de despliegues
Herramientas: Jenkins, ArgoCD
4. PRUEBAS CONTINUAS
Calidad en cada etapa
Pruebas automatizadas integrales
Herramientas: Selenium, JUnit, Cypress
ESTRUCTURA DE LAS DEVOPS
5. MONITORIZACIÓN Y RETROALIMENTACIÓN
Métricas de rendimiento y negocio
Logs y alertas en tiempo real
Herramientas: Prometheus, Grafana, ELK Stack
6. OPERACIONES CONTINUAS
Estabilidad y escalabilidad
Respuesta a incidentes
Gestión de infraestructura
7. COLABORACIÓN Y COMUNICACIÓN
Cultura de responsabilidad compartida
ChatOps y post-mortems
Eliminación de silos
8. CIBERSEGURIDAD CONTINUA (DevSecOps)
Seguridad integrada en todas las fases
Análisis estático de código
Escaneo de vulnerabilidades
¿PARA QUÉ FUNCIONA?
El objetivo principal de DevOps es que las empresas puedan entregar software más rápido, de forma
más confiable y con mayor calidad para responder de manera efectiva a las necesidades del
mercado.
Funciona para:
Acelerar la entrega: Permite lanzar nuevas características o corregir errores a los usuarios de
manera mucho más rápida y frecuente. Esto se logra con la Integración Continua (CI) y la Entrega
Continua (CD), que automatizan la construcción, prueba y despliegue del software.
Mejorar la colaboración: Rompe las barreras ("silos") entre los equipos de desarrollo y
operaciones, haciendo que trabajen juntos con objetivos compartidos. Esto se traduce en una
mejor comunicación y menos problemas al pasar el software a producción.
Automatizar procesos: Elimina tareas manuales y repetitivas, como las pruebas, el despliegue de
software y la gestión de la infraestructura. Esto reduce los errores humanos y libera al personal
para que se enfoque en innovar.
Aumentar la confiabilidad y estabilidad: Al realizar cambios pequeños y frecuentes, y monitorear
continuamente el sistema, es más fácil encontrar y solucionar problemas rápidamente,
garantizando que la aplicación funcione bien para el usuario.
VENTAJAS
• Mayor Velocidad de Entrega
Lanzamiento más rápido y frecuente de características, productos y correcciones
• Mayor Calidad y Fiabilidad
Software más estable con menos fallos críticos mediante automatización y despliegues
incrementales
• Mejor Colaboración y Comunicación
Cultura de responsabilidad compartida y transparencia entre equipos
• Automatización de Procesos
Eliminación de tareas manuales y repetitivas, reduciendo errores humanos
• Mejor Respuesta a Problemas
Detección y solución inmediata de fallos mediante monitorización continua
• Mayor Rentabilidad
Reducción de costos operativos mediante eficiencia y optimización de recursos
DESVENTAJAS
Requiere un Cambio Cultural Profundo: La implementación exitosa va más allá de las herramientas;
exige cambiar la mentalidad y la forma de trabajar de toda la organización, lo que a menudo genera
resistencia.
• Curva de Aprendizaje y Complejidad: Se requiere que los equipos adquieran nuevas habilidades y
dominen un gran número de herramientas especializadas (contenedores, orquestadores,
infraestructura como código, etc.).
• Inversión Inicial en Herramientas: La automatización es el pilar de DevOps y depende de
herramientas de software robustas (para CI/CD, monitoreo, etc.), lo que puede representar una
inversión inicial significativa.
• Riesgo de Dependencia de la Automatización: Si las tuberías de automatización (pipelines CI/CD)
están mal configuradas o fallan, el proceso de desarrollo y despliegue puede detenerse por completo.
• Integración de Seguridad (DevSecOps): Al acelerar el ritmo de entrega, asegurar que la seguridad
se integre en cada fase del proceso (un enfoque conocido como DevSecOps) puede ser un desafío
adicional para evitar vulnerabilidades.
FUTURO DE LAS DEVOPS
El futuro de DevOps se centra en tres pilares clave:
1. Plataformas de Autoservicio
Se evoluciona hacia equipos de plataforma que crean entornos estandarizados donde los
desarrolladores pueden implementar sus aplicaciones de forma autónoma y segura, sin
necesidad de ser expertos en infraestructura.
2. Automatización Inteligente con IA
La inteligencia artificial potenciará los procesos de DevOps, permitiendo:
Detección temprana de fallos
Optimización automática de recursos
Corrección proactiva de problemas
3. Seguridad y Eficiencia Integradas
La seguridad se convierte en un componente nativo de todo el ciclo de desarrollo, mientras
que la gestión de costos en la nube se integra directamente en los procesos de despliegue y
operación.
EJEMPLOS
Netflix
Netflix adoptó DevOps para lograr una resiliencia extrema en su
plataforma, que funciona completamente en la nube de AWS. Su
innovación más famosa es la "Simian Army" (Ejército de Simios), un
conjunto de herramientas que provoca fallos intencionales en sus
sistemas en producción. La más conocida es el "Chaos Monkey",
que termina servidores al azar sin previo aviso.
La filosofía es que, en una arquitectura de nube a gran escala, los
fallos son inevitables. En lugar de intentar evitarlos, Netflix se
asegura mediante DevOps y automatización que su sistema sea
capaz de soportarlos. Si el Chaos Monkey mata un servidor y
ningún usuario se entera porque el sistema se repara
automáticamente, entonces su arquitectura es lo suficientemente
robusta. Esto les permite ofrecer una disponibilidad del 99.99% a
más de 200 millones de suscriptores en todo el mundo.
EJEMPLOS
Amazon
Amazon ofrece soluciones para DevOps a través de
Amazon Web Services (AWS), un conjunto de
herramientas que automatizan la entrega de software, la
infraestructura y la gestión de aplicaciones, permitiendo
la colaboración entre equipos de desarrollo y
operaciones. AWS proporciona servicios como
CodePipeline para CI/CD, DevOps Guru para el
rendimiento operativo, y herramientas para la
infraestructura como código y monitorización.
REFERENCIAS
[Link]
[Link]
and-benefits
[Link]
tools#:~:text=There%20are%20two%20primary%20approaches,team's%2
0needs%20with%20different%20tools
[Link]
Google Cloud - DevOps Capabilities ([Link]/devops)
Amazon Web Services - What is DevOps? ([Link]/devops)
MUCHAS GRACIAS