Boost Academy
FormaciónEvaluacionesPerfil
Volver
  • En directo

Elasticsearch — Avanzado

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

Skills que aprenderás

  • elasticsearch

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

Dirigido a ingenieros de datos, arquitectos de plataforma y SREs con experiencia sólida en Elasticsearch que necesitan diseñar, operar y optimizar clústeres en producción a escala. A lo largo de las diez horas del curso los participantes afrontarán los retos de mayor complejidad técnica del ecosistema: desde diseñar topologías multi-tier con asignación de roles y políticas de routing hasta construir pipelines de ingesta tolerantes a fallos, automatizar el ciclo de vida completo de los índices y anticipar escenarios de degradación con runbooks operativos. El resultado concreto es que cada participante saldrá capaz de tomar decisiones de arquitectura respaldadas en métricas reales, justificar trade-offs de consistencia frente a disponibilidad, y entregar un clúster Elasticsearch observable, resiliente y alineado con los SLA del negocio.

Al finalizar el curso el participante será capaz de:

  1. Describir los principios que rigen la distribución de roles de nodo, las fases del ciclo de vida de un índice y los mecanismos de consistencia en escrituras masivas dentro de un clúster Elasticsearch, relacionando cada concepto con su impacto en latencia, coste y fiabilidad.
  2. Analizar el estado de un clúster existente —su mapping, distribución de shards, configuración de refresh y translog— identificando anti-patrones y cuellos de botella con las APIs de diagnóstico disponibles (_cat, _cluster/stats, profile API).
  3. Diseñar una arquitectura multi-tier (hot-warm-cold-frozen) con su estrategia de sharding, políticas ILM/SLM y pipelines de ingesta complejas, justificando cada decisión frente a requisitos concretos de rendimiento, retención y coste.
  4. Implementar las optimizaciones, automatizaciones y runbooks diseñados —incluyendo tuning de aggregations, configuración de Watcher/Elastic Alerting y procedimientos de recuperación— validando el impacto con benchmarks y métricas antes/después.
  5. Evaluar críticamente los trade-offs resultantes (consistencia vs. disponibilidad, coste de almacenamiento vs. latencia, flexibilidad de mapping vs. consumo de heap) y proponer mejoras iterativas documentadas con criterios de aceptación medibles.

Bloque 1 — Arquitectura de clúster multi-tier y gestión de shards

Este primer bloque sienta las bases arquitectónicas del curso. Se estudia en profundidad el modelo de roles de nodo de Elasticsearch (master, data-hot, data-warm, data-cold, data-frozen, coordinating, ingest) y cómo la asignación correcta de cada rol condiciona tanto el rendimiento como el coste operativo. A partir de ahí se aborda la estrategia de sharding para índices de alto volumen: criterios para fijar el número y tamaño de shards, detección de desequilibrios mediante _cat/shards y _cluster/stats, y técnicas de rebalanceo. El bloque cierra con el diseño de políticas de shard allocation y routing que permiten dirigir el tráfico de lectura y escritura al tier adecuado en cada momento del ciclo de vida del dato.

Bloque 2 — Mapping avanzado y ciclo de vida de índices

El segundo bloque profundiza en dos palancas críticas de rendimiento a largo plazo. En la parte de mapping se trabaja la detección y corrección de anti-patrones habituales —field explosion por dynamic mapping descontrolado, elección inadecuada de tipos de campo, _source sobredimensionado— cuantificando su efecto en consumo de heap y en la velocidad de búsqueda. En la parte de ciclo de vida se construyen políticas ILM que cubren todas las transiciones de fase (incluyendo operaciones de shrink y rollover) y se complementan con políticas Snapshot Lifecycle Management para garantizar la retención y recuperabilidad de los datos, validando el comportamiento completo sobre datos reales o simulados.

Bloque 3 — Optimización de queries y aggregations complejas

Este bloque se centra en el rendimiento en lectura. Se parte de aggregations multi-nivel (terms anidados, date histograms con sub-aggregations) y se aplican de forma sistemática las técnicas de optimización disponibles: precarga de global ordinals con eager_global_ordinals, selección del execution_hint apropiado según cardinalidad y uso de la caché de shards. Cada intervención se mide con la profile API para cuantificar la reducción de latencia y validar que la mejora es real y sostenible antes de promoverla a producción.

Bloque 4 — Ingest pipelines complejas y escritura masiva

El cuarto bloque aborda la capa de ingesta y los compromisos de durabilidad en escritura. Se diseñan pipelines que combinan processors de distinta naturaleza —grok para parsing, enrich para lookup, conditional y script para lógica de negocio— con enrutamiento a índices diferenciados y manejo explícito de errores mediante on_failure, garantizando trazabilidad completa del documento. En paralelo se analiza el trade-off entre consistencia y disponibilidad en operaciones de bulk indexing, seleccionando y justificando los valores de wait_for_active_shards, refresh_interval y translog.durability en función de un SLA definido.

Bloque 5 — Resiliencia operativa, observabilidad y alerting

El bloque final integra todo lo anterior desde la perspectiva de operaciones en producción. Se estudian los escenarios de degradación más críticos (split-brain, circuit breaker trips, hot spots de shards, disk watermark) y se diseñan runbooks con umbrales de alerta y procedimientos de recuperación automatizados. La detección proactiva se implementa mediante Watcher o Elastic Alerting, configurando reglas que monitorizan crecimiento inesperado de índices, latencia p95 fuera de umbral y presión de disco, con notificaciones accionables que reducen el tiempo medio de respuesta ante incidentes.

  • Elasticsearch 8.x y Kibana 8.x accesibles (entorno local vía Docker Compose, Elastic Cloud trial o clúster corporativo con permisos de administrador).
  • Docker Desktop (o equivalente) con al menos 8 GB de RAM asignados para levantar un clúster multi-nodo de prueba.
  • Cliente HTTP con soporte para peticiones REST: Kibana Dev Tools, curl o cualquier cliente compatible (Postman, HTTPie).
  • Acceso de escritura al clúster para crear índices, políticas ILM/SLM, ingest pipelines y Watchers.
  • Herramienta de benchmarking recomendada: Rally (esrally) para la generación de métricas antes/después en los ejercicios de optimización de sharding y aggregations.
  • Editor de texto o IDE con soporte JSON/YAML (VS Code con extensión REST Client es la opción recomendada).

Se requiere haber completado el curso ELA02 o disponer de un nivel equivalente que incluya: gestión de índices y mappings en Elasticsearch, escritura y ejecución de queries y aggregations de complejidad media, comprensión del modelo de distribución de datos en shards y réplicas, y experiencia práctica con la API REST de Elasticsearch mediante Kibana Dev Tools o cliente equivalente. Los participantes deben sentirse cómodos interpretando respuestas de la API y leyendo documentación técnica oficial en inglés.