Pasar al contenido principal

DevOps: Fundamentos y Tecnologías

 El área de TI de una organización debe cumplir a la vez dos objetivos en cierta medida conflictivos: responder con rapidez a la necesidad de cambio y mantener la confiabilidad y disponibilidad de los servicios. 
 A menudo el área de Desarrollo asume el primer objetivo y el área de Operaciones el segundo, lo que puede dificultar el logro de ambos objetivos a la vez. La adopción del enfoque DevOps ha permitido a numerosas organizaciones superar esta problemática, posibilitando que cambios en sus aplicaciones sean puestos en producción en plazos más  cortos, con alta confiabilidad y seguridad así como con riesgos controlados. Esta capacidad les permite responder rápidamente a necesidades y condiciones cambiantes, entregando más valor a clientes  y usuarios. DevOps involucra tanto aspectos tecnológicos como organizacionales y culturales. Entre los  tecnológicos resultan esenciales la integración contínua y la automatización de tareas repetitivas, que son propensas a errores y fuente de demoras. Entre los aspectos organizacionales están el lograr una adecuada colaboración entre Desarrollo y Operaciones, involucrar de forma temprana (“shift left”) a Calidad y Seguridad de la Información,  acercar la calidad al origen, poner foco en el  logro de mejoras globales en el proceso de entrega de valor a clientes y usuarios, y habilitar el aprendizaje organizacional y una cultura de seguridad. El curso introduce al estudiante al mundo DevOps permitiéndole experimentar parte de los desafíos tecnológicos y organizacionales que implica y lo orienta para que pueda continuar profundizando sus conocimientos en aspectos específicos en función de sus necesidades e intereses.

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
MSc. Ing. Gustavo Guimerans
A/P Dardo de León
MSc. Ing. Andrés Nebel.