Temario del curso
Introducción a los sistemas distribuidos
- ¿Qué es un sistema distribuido?
- Desafíos comunes: latencia, consistencia, disponibilidad.
- Visión general de los componentes del sistema y modelos de comunicación.
Principios de escalabilidad
- Escalado vertical frente a horizontal.
- Balanceo de carga y elasticidad.
- Escalado del almacenamiento, procesamiento (compute) y E/S.
Patrones arquitectónicos
- Arquitecturas cliente-servidor y multicapa.
- Arquitectura orientada a servicios y de microservicios.
- Arquitectura impulsada por eventos y colas de mensajes.
Teorema CAP y modelos de consistencia
- Explicación del teorema CAP.
- Consistencia fuerte frente a consistencia eventual.
- Elección entre consistencia y disponibilidad.
Estrategias de distribución y almacenamiento de datos
- Particionamiento y fragmentación (sharding).
- Estrategias de replicación y lecturas/escrituras por quórum.
- Bases de datos distribuidas y almacenes clave-valor.
Comunicación y coordinación en sistemas distribuidos
- REST, gRPC, corredores de mensajes (p. ej., Kafka, RabbitMQ).
- Elección de líder y consenso distribuido.
- Uso de Zookeeper o etcd para la coordinación.
Tolerancia a fallos y confiabilidad
- Diseño para el fallo y degradación controlada.
- Mecanismos de reintento, tiempos de espera y cortocircuitos (circuit breakers).
- Monitoreo, observabilidad e ingeniería del caos.
Prácticas modernas de implementación nativas en la nube
- Contenedores, orquestación y Kubernetes.
- Ausencia de estado (statelessness) e inmutabilidad.
- Mejores prácticas para la seguridad en sistemas distribuidos.
Resumen y siguientes pasos
Requerimientos
- Comprensión de conceptos básicos de redes y diseño de sistemas.
- Experiencia con prácticas generales de desarrollo de software.
- El conocimiento previo de la computación en la nube y el diseño de APIs es útil.
Audiencia objetivo
- Arquitectos de software y líderes técnicos.
- Ingenieros backend y profesionales de DevOps.
- Diseñadores de sistemas que desarrollan aplicaciones escalables en la nube.
Reseñas (3)
La explicación de todos los componentes y su uso en los ejemplos
Olga Elizova
Curso - Enterprise Architecture in the UAF
Traducción Automática
Proyecto preparado en el que podríamos trabajar desde el inicio sin perder tiempo configurando archivos innecesarios para los ejercicios. Disposición a responder todas las preguntas planteadas por los participantes.
Robert Walczak - Hitachi Energy
Curso - Systems Modeling with SysML and Enterprise Architect (EA)
Traducción Automática
Practica ejercicios en EA.
Pawel - Krajowa Szkola Skarbowosci
Curso - UML in Enterprise Architect (workshops)
Traducción Automática