Contenidos de la Diplomatura
Las siguientes materias obligatorias se van a dictar durante la Diplomatura:
Exploraremos el mundo DevOps, abordando su definición, los roles y responsabilidades de un Ingeniero DevOps, y la evolución de su cultura. Se explora el uso e implementación de DevOps en el ciclo de vida del software, con un enfoque en herramientas como Git y sus características principales, además de la gestión de artefactos de software, herramientas de construcción y dependencias.
Exploraremos aspectos como la distribución y gestión de sistemas operativos Linux, la administración básica y scripting con Bash, así como la introducción a bases de datos y la comparación entre SQL y NoSQL. También abordaremos los fundamentos de los microservicios, incluyendo su organización, administración y migración desde sistemas monolíticos. Además, se tratará la tecnología de contenedores con Docker y una introducción a las APIs.
Exploraremos la gestión de calidad y el ciclo de vida del desarrollo de software, centrándose en aspectos como la introducción a la calidad y el desarrollo de microservicios. Se exploran esquemas de ramas, como GitFlow, GitHub Flow y GitLab Flow, así como el desarrollo basado en troncales. Se estudian conceptos de integración continua, automatización de construcción y pruebas de código, análisis estático y dinámico de código, y convenciones de commits. Además, se examinan prácticas como el deployment continuo, la entrega continua y la revisión de código bloqueante.
Exploraremos la construcción y orquestación de contenedores, comenzando con una introducción a la orquestación y la evolución de los sistemas. Se profundiza en Kubernetes y su arquitectura, incluyendo la creación y puesta en marcha de clusters, así como la gestión de redes y la automatización de comprobaciones de salud de aplicaciones. También se aborda la depuración de errores y la seguridad en clusters de Kubernetes, con un enfoque en el control de acceso basado en roles (RBAC).
Esta materia aborda los fundamentos esenciales de la Infraestructura en la Nube y su gestión eficiente. Desde la transición de los entornos tradicionales hacia la nube hasta la exploración de servicios y recursos clave, aprenderás a diseñar, implementar y operar infraestructuras escalables y seguras en entornos de nube pública, privada e híbrida. Además, nos sumergiremos en la práctica de Infraestructura como Código (IaaC), utilizando herramientas como Terraform para automatizar y gestionar la infraestructura de manera eficiente y reproducible. Finalmente, integraremos los principios de DevOps para automatizar despliegues, realizar pruebas y optimizar la gestión de la infraestructura en la nube.
Exploraremos la observabilidad y confiabilidad en la ingeniería de sistemas, introduciendo la ingeniería de confiabilidad en sitios (SRE) y la composición de equipos. Se abordan conceptos clave como SLOs, SLIs, SLAs y presupuestos de errores, así como la observabilidad y el monitoreo a través de la recolección de datos de métricas, logs y trazas. Se discute la diferencia entre monitoreo de rendimiento de aplicaciones y servidores, la instrumentación de código y la ingeniería del caos. Además, se exploran prácticas relacionadas con la gestión de incidentes y la elaboración de informes de análisis de causas raíz, así como los servicios de “on-call”.