Programa
Fundamentos transversales
Marco teórico común a todas las áreas del curso. Establece los modelos y abstracciones necesarias para razonar sobre sistemas donde las fallas parciales, la ausencia de relojes globales y la concurrencia son la norma.
- Modelos arquitectónicos: cliente-servidor y peer-to-peer
- Remote Procedure Call
- Modelos sincrónicos y asincrónicos
- Semánticas de entrega
- Causalidad y tiempo
- Relojes lógicos y vectoriales
- Estado global y cortes del sistema
- Modelos de consistencia
- Modelos de falla
- Tolerancia a fallos
- Coordinación y consenso
Áreas de aplicación
Los contenidos se organizan en cuatro áreas de aplicación que no son independientes entre sí: los mismos problemas de consenso, replicación y consistencia aparecen en todas ellas. La división busca claridad pedagógica, no fronteras rígidas.
Área 1 — Compute
Cómo coordinar múltiples nodos para ejecutar trabajo de forma correcta, eficiente y tolerante a fallos, desde paradigmas clásicos hasta las demandas modernas del machine learning a escala.
- Paradigmas de cómputo distribuido
- Distribución y coordinación de tareas
- Detección y recuperación de fallos
- Cómputo batch y sus limitaciones
Área 2 — Storage
Persistir datos en múltiples nodos implica navegar trade-offs fundamentales entre consistencia, disponibilidad y performance. Esta área estudia cómo los sistemas reales resuelven esos trade-offs, desde filesystems hasta bases de datos globalmente distribuidas.
- Filesystems distribuidos
- Replicación y sharding
- Replicación por máquina de estados distribuida
- Transacciones distribuidas
- Consistencia en caches
- Replicación y anti-entropía
- Trade-offs entre consistencia y disponibilidad
Área 3 — Stream Processing
Muchas decisiones no pueden esperar a un procesamiento batch. Esta área estudia cómo procesar flujos de datos en tiempo real con garantías semánticas precisas, y los modelos de mensajería que hacen posible la comunicación asíncrona a escala.
- Mensajería distribuida y el log como estructura unificadora
- Message Oriented Middleware
- Modelos de comunicación: request-reply, publisher-subscriber
- Procesamiento de streams: tiempo de evento vs tiempo de procesamiento, watermarks, ventanas
- Modelo unificado batch y streaming
- Pipelines secuenciales y paralelos
Área 4 — Cloud Computing
El entorno donde todo lo anterior opera en producción. Esta área estudia cómo gestionar infraestructura a escala, obtener visibilidad sobre sistemas complejos y sostener confiabilidad cuando el hardware falla constantemente.
- Infraestructura a escala: scheduling y orquestación de recursos
- Load balancing y routing
- Sistemas elásticos y escalado automático
- Cómputo efímero y serverless
- Observabilidad: métricas, logs y trazas distribuidas
- Principios de diseño y operabilidad de servicios a escala