Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Microservicios — Avanzado

22h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • microservicios

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso está dirigido a ingenieros de software con experiencia previa en arquitecturas de microservicios que buscan dominar los patrones y técnicas más exigentes del diseño distribuido. A lo largo de 22 horas, los participantes profundizarán en los fundamentos de la arquitectura orientada a eventos con Redis Streams, los patrones de consistencia distribuida como Saga y CQRS, la observabilidad avanzada mediante trazas distribuidas y definición de SLOs, la seguridad entre servicios más allá del API gateway, y las estrategias de despliegue sin downtime. Al finalizar, el alumno será capaz de diseñar, implementar y operar sistemas de microservicios complejos con garantías verificables de resiliencia, coherencia de datos, seguridad y disponibilidad en entornos de producción.

  1. Explicar los fundamentos de la arquitectura event-driven, los patrones de evento (event notification y event-carried state transfer) y el principio de desacoplamiento temporal entre servicios.
  2. Explicar el modelo de consistencia eventual, sus implicaciones para el negocio y los criterios que diferencian los escenarios donde es aceptable de aquellos donde no lo es.
  3. Diseñar una arquitectura event-driven con Redis Streams configurando consumer groups independientes por servicio y verificando la tolerancia al reinicio sin pérdida de mensajes.
  4. Diseñar una arquitectura CQRS separando el modelo de escritura del de lectura con proyecciones actualizadas de forma asíncrona mediante eventos.
  5. Implementar el patrón Saga en variante de coreografía para una transacción distribuida de tres pasos, incluyendo acciones de compensación verificadas ante fallo intermedio.
  6. Diseñar e implementar la estrategia de seguridad entre servicios con validación de JWT en cada receptor, lista de servicios autorizados por endpoint y rechazo verificable de peticiones no autorizadas.
  7. Instrumentar trazas distribuidas en un sistema de tres servicios propagando correlation IDs end-to-end, de modo que cualquier petición fallida sea diagnosticable desde el gateway hasta el servicio origen del error.
  8. Definir los SLOs de un sistema de microservicios e implementar las métricas y alertas correspondientes con Prometheus y Grafana para verificar su cumplimiento.
  9. Implementar una estrategia de despliegue blue-green que garantice la compleción de peticiones en vuelo antes del cambio de routing, sin errores ni inconsistencias durante el switch.
  10. Evaluar de forma integrada las decisiones de diseño de un sistema de microservicios: elegir patrones de consistencia, modelo de seguridad, estrategia de observabilidad y política de despliegue justificando cada elección frente a requisitos de negocio concretos.

Arquitectura orientada a eventos con Redis Streams Se estudian los fundamentos del paradigma event-driven y los dos patrones de evento fundamentales: event notification, donde el evento señala que algo ocurrió sin transportar estado completo, y event-carried state transfer, donde el evento lleva toda la información necesaria para que el consumidor actúe sin consultar al emisor. Se profundiza en la estructura de Redis Streams, la configuración de consumer groups independientes por servicio y los mecanismos de acknowledgement que garantizan la tolerancia al reinicio sin pérdida de mensajes. Los participantes diseñan e implementan un sistema de tres servicios completamente desacoplados temporalmente y verifican su comportamiento ante caídas y reinicios.

Consistencia distribuida: Saga y CQRS Este bloque aborda los dos grandes patrones de gestión de consistencia en sistemas distribuidos. Se analiza el patrón Saga en su variante de coreografía, donde cada servicio reacciona a eventos y emite los suyos propios sin orquestador central; se implementa una transacción de tres pasos con sus correspondientes acciones de compensación y se valida mediante tests que las compensaciones se ejecutan correctamente ante fallos intermedios. A continuación se estudia CQRS como separación explícita entre el modelo de escritura y el de lectura: se diseñan proyecciones de lectura actualizadas de forma asíncrona a través de eventos y se analiza con rigor en qué contextos de negocio la consistencia eventual derivada es admisible y en cuáles constituye un riesgo inaceptable.

Observabilidad avanzada: trazas distribuidas y SLOs Se trabajan las dos dimensiones clave de la observabilidad en producción. En la parte de trazabilidad, los participantes instrumentan la propagación de correlation IDs end-to-end a través de peticiones HTTP y eventos Redis Streams en un sistema de tres servicios, de modo que cualquier petición fallida sea diagnosticable buscando por ese identificador en los logs centralizados, desde el API gateway hasta el servicio que introdujo el error. En la parte de SLOs, se define formalmente la disponibilidad P99, la latencia P95 por servicio y la tasa de error end-to-end, y se implementan las métricas con Prometheus y los dashboards y alertas en Grafana necesarios para monitorizar el cumplimiento de esos objetivos en tiempo real.

Seguridad entre servicios Se examina la limitación de confiar únicamente en el API gateway para la validación de tokens y se diseña una estrategia de seguridad de defensa en profundidad. Cada servicio receptor valida el JWT de forma independiente, se define una lista explícita de servicios autorizados por endpoint y se verifica mediante tests automatizados que las peticiones con token inválido, expirado o provenientes de un servicio no autorizado son rechazadas de forma consistente en todos los niveles de la arquitectura.

Despliegue sin downtime: blue-green Se estudia la estrategia de despliegue blue-green como mecanismo para actualizar microservicios en producción sin interrupciones de servicio. Los participantes implementan la lógica de routing entre las versiones activa y nueva, verifican que las peticiones en vuelo se completan íntegramente en la versión anterior antes de que el tráfico migre a la nueva, y demuestran mediante tests de integración que durante el proceso de switch no se producen errores, respuestas inconsistentes ni pérdida de datos.

  • Acceso a una máquina con Docker Desktop o Docker Engine instalado (versión 24 o superior).
  • Docker Compose v2 disponible en la misma máquina.
  • Redis Stack 7.x (imagen oficial redis/redis-stack) ejecutable mediante Docker.
  • Prometheus y Grafana desplegables mediante Docker Compose (imágenes oficiales).
  • Editor de código con soporte para el lenguaje del curso (VS Code recomendado con extensiones de Docker y REST Client).
  • Cliente HTTP para pruebas manuales: curl, HTTPie o extensión REST Client.
  • Git instalado y acceso al repositorio de ejercicios del curso.
  • Conexión a internet para descargar imágenes Docker y dependencias de proyecto durante las sesiones prácticas.
  • Diseño y desarrollo de microservicios con comunicación HTTP y asíncrona (nivel intermedio, cubierto en MIC202).
  • Manejo de contenedores Docker y orquestación básica con Docker Compose.
  • Conocimiento operativo de Redis: estructuras de datos, comandos básicos y comprensión del modelo pub/sub.
  • Familiaridad con JWT: estructura del token, firma y verificación.
  • Experiencia escribiendo tests de integración en al menos un lenguaje backend.
  • Conceptos básicos de métricas y logging estructurado.