Temario del curso
Introducción a los Sistemas Distribuidos
- ¿Qué es un sistema distribuido?
- Desafíos comunes: latencia, consistencia y disponibilidad
- Visión general de los componentes del sistema y los modelos de comunicación
Principios de Escalabilidad
- Escalabilidad vertical frente a horizontal
- Equilibrio de carga y elasticidad
- Escalado del almacenamiento, la capacidad de cómputo y la E/S
Patrones Arquitectónicos
- Arquitecturas cliente-servidor y multitier
- Arquitecturas orientadas 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
- Elegir entre consistencia y disponibilidad
Estrategias de Distribución y Almacenamiento de Datos
- Particionamiento y fragmentación (sharding)
- Estrategias de replicación y lecturas/escrituras con quórum
- Bases de datos distribuidas y almacenes de clave-valor
Comunicación y Coordinación en Sistemas Distribuidos
- REST, gRPC y corredores de mensajes (por ejemplo, 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 fallos y degradación elegante
- Mecanismos de reintento, tiempos de espera y disyuntores (circuit breakers)
- Monitoreo, observabilidad e ingeniería del caos
Prácticas de Implementación Nativas para la Nube y Modernas
- Contenedores, orquestación y Kubernetes
- Estado sin memoria (statelessness) e inmutabilidad
- Mejores prácticas para la seguridad de sistemas distribuidos
Resumen y Próximos Pasos
Requerimientos
- Comprensión de los 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 beneficioso
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
Testimonios (3)
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
La presentación del formador y su forma de comunicarse.
Gianpiero Arico - Urmet Spa
Curso - Embedded Linux Systems Architecture
Traducción Automática
Practica ejercicios en EA.
Pawel - Krajowa Szkola Skarbowosci
Curso - UML in Enterprise Architect (workshops)
Traducción Automática