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.
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.
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
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.