Temario del curso
Introducción a los Sistemas Distribuidos
- ¿Qué es un sistema distribuido?
- Desafíos comunes: latencia, consistencia, disponibilidad
- Descripción general de los componentes del sistema y modelos de comunicación
Principios de Escalabilidad
- Escalado vertical vs. horizontal
- Carga equilibrada y elasticidad
- Escalado de almacenamiento, computación e I/O
Patrones Arquitectónicos
- Arquitecturas cliente-servidor y multinivel
- Arquitecturas orientadas a servicios y microservicios
- Arquitectura basada en eventos y colas de mensajes
Teorema CAP y Modelos de Consistencia
- Explicación del teorema CAP
- Consistencia fuerte vs. eventual
- Elegir entre consistencia y disponibilidad
Estrategias de Distribución y Almacenamiento de Datos
- Particionamiento y sharding
- Estrategias de replicación y lecturas/escrituras quorum
- Bases de datos distribuidas y almacenes clave-valor
Comunicación y Coordinación en Sistemas Distribuidos
- REST, gRPC, brokers de mensajes (por ejemplo, Kafka, RabbitMQ)
- Elección de líder y consenso distribuido
- Uso de Zookeeper o etcd para coordinación
Tolerancia a Fallas y Fiabilidad
- Diseño para fallar y degradación graceful
- Mecanismos de reintento, timeouts y circuit breakers
- Monitoreo, observabilidad e ingeniería del caos
Buenas Prácticas en Implementaciones Nativas de la Nube y Modernas
- Contenedores, orquestación y Kubernetes
- Estatelessness e inmutabilidad
- Prácticas recomendadas para la seguridad de los sistemas distribuidos
Resumen y Próximos Pasos
Requerimientos
- Un conocimiento de los conceptos básicos de redes y diseño de sistemas
- Experiencia con prácticas generales de desarrollo de software
- Familiaridad con la informática en la nube y el diseño de API es útil
Audiencia
- Arquitectos de software y líderes técnicos
- Ingenieros backend y profesionales DevOps
- Diseñadores de sistemas que construyen 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