Pasar al contenido principal

DevOps: Fundamentos y Tecnologías

Introducir al estudiante en el enfoque DevOps para la creación y explotación de software y a las prácticas, tecnologías, organización y cultura asociadas.

Objetivos

Introducir al estudiante en el enfoque DevOps para la creación y explotación de software y a las prácticas, tecnologías, organización y cultura asociadas.

Público objetivo
Profesionales y estudiantes de posgrado de Tecnología de la Información interesados en el enfoque y en las prácticas de DevOps.
Temario

1. Introducción
Visión general de DevOps, origen,antecedentes y objetivos. Conflicto crónico entre Desarrollo y
Operaciones. Su impacto en la calidad de los productos y en el desempeño de TI en las organizaciones.
Cadena de valor en los productos/servicios de TI. Las tres vías para mejorar el impacto de TI en el
desempeño de la organización: flujo rápido, retroalimentación constante, aprendizaje continuo.
 

2. Aspectos tecnológicos
Aspectos tecnológicos asociados a cada una de las vías para el logro de los objetivos de DevOps.
A. Primera vía (flujo rápido): Construcción, integración, entrega y despliegue continuos. Trunk
development. Pruebas y otros controles de calidad automatizados (p. ej. basados en JUnit, Newman,
Selenium, SonarQube), construcción de una canalización (pipeline) (p. ej. basada en Gitlab, Jenkins),
gestión de la configuración y su alcance. Creación de ambientes a demanda. Estrategias de
liberación/rollback (p. ej. basadas en unleash, togglz). Seguridad y cumplimiento (DevSecOps) (p. ej.
Gitlab SAST). Infraestructura como código (p. ej. basada en Ansible, Terraform). Contenedores (p. ej.
Docker, Kubernetes). Alternativas de despliegue.
B. Segunda vía (retroalimentación constante): Monitoreo y registro de la ejecución en un ambiente.
Telemetría, observabilidad, alarmas y explotación de logs (p. ej. en base a OpenTelemetry, AppDynamics,
Grafana, Datadog). Self-healing. Hypothesis-driven development y A/B testing (p. ej. en base a
GrowthBook).C. Tercera vía (aprendizaje continuo): ChatOps. Inyección de fallas en explotación para Resilience
Engineering.


3. Aspectos organizacionales
Aspectos generales y asociados a cada una de las vías para llevar a cabo el cambio organizacional que
implica la adopción de DevOps (p. ej. en tecnología, procesos, estructura organizativa y cultura).
A: Adopción de DevOps: un cambio organizacional
Dinámica de los cambios organizacionales. Transformación de una cadena de valor. Métricas críticas.
Gestión de la restricción en la cadena de valor. Reducción de la deuda técnica. Visibilizar estado del
trabajo (p. ej. en base a Jira). Papel de las herramientas en el cambio cultural.
B: Primera vía (flujo rápido)
Impacto de la arquitectura en atributos de calidad (p. ej. seguridad, performance) y en la productividad de
desarrollo y operaciones. Relación entre la estructura organizativa en la producción de software y la
arquitectura resultante (Ley de Conway). Arquetipos organizacionales. Impacto de diversos factores
organizacionales en la velocidad del flujo (p. ej. desacoplar despliegue de liberación). Estrategias para
evolucionar la arquitectura.
C: Segunda vía (retroalimentación constante)
Observabilidad que abarque negocio, aplicación e infraestructura. Análisis rutinario de la observabilidad y
reducción de riesgos asociados a liberaciones. Participación/responsabilidad de personal de desarrollo en
tareas de operación. Participación/responsabilidad de personal de operaciones en arquitectura de los
sistemas. Revisión por pares para acercar la calidad al origen.
D: Tercera vía (aprendizaje continuo)
Establecimiento de una cultura justa de aprendizaje. Tratamiento de incidentes. Transformación de
descubrimientos locales en mejoras globales. Elecciones tecnológicas para alcanzar los objetivos
globales. Reserva de tiempo para generar mejora organizacional y aprendizaje.
 

4. Variantes en DevOps
Site Reliability Engineering (SRE)
Plattform Engineering

Conocimientos exigidos
Conocimientos en desarrollo de software.
Conocimientos deseables
Experiencia en desarrollo de software
Metodología de evaluación

La evaluación se realizará en base a:
• Participación en clase y ejercicios prácticos (20%)
• Entregas de trabajo grupal de laboratorio (50%)
• Evaluación escrita final individual (30%)
El curso se aprueba con el 60% de los puntos.

Detalles
Créditos
6
Arancel
28800
Inicio de curso
Fin de curso
Horario
Lunes, Martes y Jueves de 18:30 a 21:30
Docentes
Dra. Ing. Laura González
Ing. Jorge Triñanes