OpenTelemetry es el estándar abierto de observabilidad más adoptado del ecosistema cloud-native, mantenido por la CNCF (Cloud Native Computing Foundation). Nacido de la fusión de OpenTracing y OpenCensus, OpenTelemetry proporciona un conjunto unificado de APIs, SDKs y herramientas para generar, recopilar y exportar datos de telemetría (trazas, métricas y logs) desde aplicaciones distribuidas, con independencia del lenguaje de programación y del backend de observabilidad utilizado.
El proyecto resuelve uno de los problemas fundamentales de la observabilidad moderna, la dependencia del proveedor. Con OpenTelemetry, las aplicaciones se instrumentan una sola vez y los datos de telemetría pueden exportarse a cualquier backend compatible (Jaeger, Prometheus, Grafana Tempo, Loki, Elasticsearch, Datadog, entre otros) a través del protocolo estándar OTLP. El OpenTelemetry Collector actúa como componente central de la arquitectura, recibiendo datos de múltiples fuentes, procesándolos (filtrado, batching, sampling, enriquecimiento) y exportándolos a uno o varios destinos simultáneamente.
El estándar ha alcanzado la madurez completa como plataforma de observabilidad. La especificación 1.x es estable y los SDKs están en GA para todos los lenguajes principales (Java, Python, .NET, Go, JavaScript, Rust), con auto-instrumentation agents listos para producción. El Collector se distribuye en variantes Core, Contrib y OpAMP para gestión remota de configuración. Se ha añadido Profiling como cuarto signal junto a trazas, métricas y logs, la Events API ha madurado hacia estable, las Semantic Conventions 1.x cubren el modelado de atributos de forma consistente y el OpenTelemetry Operator para Kubernetes automatiza la instrumentación de pods, la inyección de sidecars del Collector y la gestión de Targets para auto-instrumentation.
Este curso recorre desde los conceptos fundamentales de observabilidad hasta el despliegue en producción con Kubernetes. Aprenderás a instrumentar aplicaciones en Python, Java y Node.js con auto-instrumentation y SDKs manuales, a generar y correlacionar trazas, métricas y logs, a configurar el Collector con pipelines completas y a exportar datos a los backends más utilizados del mercado, con ejercicios prácticos que reproducen escenarios reales de aplicaciones distribuidas.
Qué incluye este itinerario
- Fundamentos: conceptos de observabilidad, arquitectura de OpenTelemetry, modelo de señales y correlación entre trazas, métricas y logs.
- Instalación y entorno: SDKs para Python, Java y Node.js, auto-instrumentación, primeras trazas y Collector con Docker.
- Trazas: spans, propagación de contexto W3C TraceContext, atributos, eventos, links y estrategias de sampling.
- Métricas: Counter, Histogram, Gauge, UpDownCounter, vistas, exemplars y metric readers.
- Logs: Log Bridge API, correlación con trazas, logging estructurado y procesadores de log records.
- Collector: arquitectura (receivers, processors, exporters), configuración de pipelines y procesamiento avanzado.
- Backends: exportación a Jaeger, Prometheus, Grafana Tempo, protocolo OTLP y comparativa de herramientas.
- Producción: buenas prácticas de instrumentación, rendimiento, resource detection, Kubernetes y troubleshooting.
Público objetivo
- Desarrolladores backend que necesitan instrumentar sus aplicaciones distribuidas con un estándar abierto y portable.
- Ingenieros DevOps y SRE que buscan implementar observabilidad unificada con trazas, métricas y logs correlacionados.
- Arquitectos de software que diseñan la estrategia de observabilidad de sistemas cloud-native y microservicios.
- Equipos de plataforma que despliegan y gestionan infraestructura de observabilidad con OpenTelemetry Collector y Kubernetes.
Prerrequisitos: conocimientos básicos de desarrollo web (HTTP, APIs REST), familiaridad con Docker y contenedores, y nociones de al menos un lenguaje de programación (Python, Java o Node.js).