Arquitectura

Observabilidad en Microservicios

Diseña plataformas de observabilidad con Micrometer, OpenTelemetry, Prometheus, Grafana y Elastic, más los servicios gestionados de AWS, Azure y Google Cloud.

Publicado el 25 min de lectura Nivel avanzado Por
  • Microservicios
  • Observabilidad
  • Micrometer
  • OpenTelemetry
  • Prometheus
  • Grafana
  • Elasticsearch
  • Kibana
Ilustración del artículo: Observabilidad en Microservicios

¿Qué es la Observabilidad en una Arquitectura de Microservicios?

La observabilidad es la capacidad de comprender el estado interno de un sistema distribuido a partir de la información que este genera. En arquitecturas basadas en microservicios, donde una única petición puede recorrer decenas de servicios, colas, bases de datos y APIs externas, disponer de métricas, logs y trazas deja de ser una opción para convertirse en un requisito arquitectónico.

Uno de los errores más frecuentes en proyectos de modernización consiste en dejar la observabilidad para las últimas fases del desarrollo. Cuando aparecen los primeros problemas de rendimiento o las incidencias en producción, el equipo descubre que no dispone de la información necesaria para localizar el origen del fallo, analizar cuellos de botella o entender el recorrido completo de una petición entre microservicios.

Diseñar la observabilidad desde el inicio permite construir sistemas preparados para evolucionar, escalar y operar en producción. La elección de herramientas como Micrometer, Prometheus, Grafana, Elasticsearch, Kibana, OpenTelemetry o los servicios nativos de AWS, Azure y Google Cloud debe responder a una estrategia de arquitectura y no únicamente a preferencias tecnológicas.

Diseño de observabilidad para arquitecturas de microservicios
Arquitectura de observabilidad moderna basada en métricas, logs, trazas distribuidas y plataformas cloud.

¿Qué aprenderás en esta guía?

  • Por qué la observabilidad debe diseñarse desde el inicio del proyecto.
  • Diferencias entre monitorización y observabilidad.
  • Cómo se complementan métricas, logs y trazas distribuidas.
  • Cuándo utilizar Micrometer, Prometheus, Grafana, Elasticsearch, Kibana y OpenTelemetry.
  • Qué soluciones ofrecen AWS X-Ray, Azure Application Insights y Google Cloud Trace.
  • Cómo diseñar la observabilidad durante una migración de un monolito a microservicios.
  • Buenas prácticas, errores habituales y recomendaciones arquitectónicas.

"La observabilidad no consiste en instalar herramientas; consiste en diseñar un sistema capaz de explicar qué está ocurriendo cuando algo falla."

¿Qué problema resuelve la Observabilidad?

Cuando una aplicación está formada por un único monolito resulta relativamente sencillo localizar un error. Una petición entra en la aplicación, ejecuta la lógica de negocio, consulta la base de datos y devuelve una respuesta. Si algo falla, normalmente basta con revisar el log del servidor para encontrar la causa.

Sin embargo, esta situación cambia radicalmente cuando una organización adopta una arquitectura basada en microservicios. Una única operación de negocio puede atravesar decenas de servicios, colas de mensajería, APIs externas, bases de datos y componentes desplegados en diferentes regiones cloud. Sin una estrategia de observabilidad resulta prácticamente imposible comprender qué está ocurriendo dentro del sistema.

Monolito frente a arquitectura de microservicios
A medida que aumenta la distribución del sistema, también aumenta la complejidad para diagnosticar incidencias.

Los problemas aparecen muy rápido

Incidencias difíciles de localizar

Una petición puede recorrer numerosos microservicios y cualquier fallo intermedio dificulta identificar el origen real del problema.

Logs dispersos

Cada servicio genera sus propios registros, lo que obliga a consultar múltiples fuentes para reconstruir una única operación de negocio.

Falta de trazabilidad

Sin trazas distribuidas es imposible conocer el recorrido completo de una petición entre servicios, colas y sistemas externos.

Diagnóstico lento

Los equipos dedican horas a localizar incidencias que podrían resolverse en minutos con una plataforma de observabilidad correctamente diseñada.

En arquitecturas distribuidas, el mayor riesgo no es que un servicio falle, sino no disponer de la información necesaria para descubrir por qué ha fallado.

El verdadero problema

Muchas organizaciones consideran la observabilidad como una tarea de infraestructura que debe abordarse una vez finalizado el desarrollo. En la práctica, esta decisión provoca que las métricas, los logs, las trazas distribuidas y las alertas se incorporen de forma improvisada cuando la aplicación ya está en producción.

La observabilidad debe diseñarse junto con la arquitectura del sistema. Desde el primer microservicio es necesario definir qué métricas se expondrán, cómo se estructurarán los logs, qué información viajará en cada traza distribuida, cómo se correlacionarán las peticiones entre servicios y qué indicadores permitirán detectar problemas antes de que afecten a los usuarios.

Diseño de la observabilidad desde la arquitectura
La observabilidad debe formar parte del diseño arquitectónico desde el inicio del proyecto y evolucionar junto al sistema.

⚠ El error más habitual

Es muy frecuente encontrar proyectos que instalan Prometheus, Grafana, Elasticsearch o Kibana cuando la plataforma ya está en producción y los primeros problemas comienzan a aparecer.

Disponer de estas herramientas no significa que el sistema sea observable.

Una arquitectura observable requiere definir desde el inicio qué eventos son importantes para el negocio, qué métricas deben medirse, cómo se correlacionarán las peticiones mediante Trace IDs y Correlation IDs y qué alertas permitirán detectar anomalías antes de que impacten en los usuarios.

¿Qué es la Observabilidad?

La observabilidad es la capacidad de comprender el estado interno de un sistema distribuido a partir de la información que este genera. En una arquitectura basada en microservicios, donde una única petición puede atravesar múltiples servicios, colas de mensajería, bases de datos y APIs externas, conocer qué está ocurriendo en cada momento resulta imprescindible para garantizar la estabilidad del sistema.

A diferencia de la monitorización tradicional, que únicamente informa cuando un indicador supera un determinado umbral, la observabilidad permite responder preguntas que no estaban previstas durante el diseño del sistema. Su objetivo no es únicamente detectar errores, sino ayudar a comprender por qué se producen, dónde aparecen y cómo afectan al resto de componentes de la plataforma.

Principio fundamental

Una métrica indica que existe un problema. Un log explica qué ha ocurrido. Una traza distribuida muestra exactamente dónde se ha producido.

La observabilidad debe diseñarse desde el principio

Uno de los errores más habituales consiste en pensar que la observabilidad puede añadirse una vez finalizado el desarrollo. En realidad, forma parte del diseño arquitectónico del sistema. La definición de métricas, eventos, logs estructurados, trazas, dashboards y alertas debe comenzar al mismo tiempo que se diseñan los microservicios.

De esta forma, cada servicio nace preparado para proporcionar la información necesaria durante todo su ciclo de vida, facilitando el mantenimiento, el diagnóstico de incidencias y la evolución de la plataforma a medida que aumenta su complejidad.

La observabilidad no consiste en instalar Prometheus, Grafana o OpenTelemetry. Consiste en diseñar una arquitectura capaz de explicar, en cualquier momento, qué está ocurriendo dentro del sistema.

Los tres pilares de la Observabilidad

La observabilidad moderna se fundamenta en tres tipos de información que, combinados, permiten comprender el comportamiento completo de una arquitectura distribuida. Cada uno responde a preguntas diferentes y aporta una perspectiva complementaria del sistema.

Ningún pilar es suficiente por sí solo. Las métricas permiten detectar anomalías, los logs ayudan a comprender qué ha ocurrido y las trazas distribuidas muestran el recorrido exacto que ha seguido una petición a través de todos los microservicios implicados.

Los tres pilares de la observabilidad
Métricas, Logs y Trazas Distribuidas forman la base de cualquier plataforma moderna de observabilidad.

Métricas (Metrics)

Las métricas proporcionan una visión agregada del estado del sistema. Permiten conocer indicadores como el consumo de CPU y memoria, la latencia de las peticiones, el número de solicitudes por segundo o la tasa de errores de un servicio.

GET /orders

Latency: 145 ms

Requests/sec: 520

Error Rate: 0.4 %

CPU: 63 %

Memory: 1.8 GB

Herramientas habituales

Micrometer • Prometheus • Grafana • CloudWatch Metrics • Azure Monitor • Google Cloud Monitoring

Logs

Los logs representan el registro detallado de todo lo que ocurre dentro de una aplicación. Permiten reconstruir una operación concreta, identificar excepciones, registrar auditorías y comprender el contexto exacto en el que se produjo una incidencia.

2026-07-05T10:21:35Z

service=orders

traceId=8fd32ab91...

level=ERROR

Payment timeout

orderId=54126

Herramientas habituales

Fluent Bit • Filebeat • Elasticsearch • OpenSearch • Kibana • CloudWatch Logs • Azure Log Analytics

Trazas Distribuidas (Distributed Tracing)

Las trazas distribuidas permiten seguir una petición completa desde que entra en el sistema hasta que finaliza, mostrando el tiempo invertido en cada microservicio, cada llamada HTTP, cada consulta a la base de datos y cada interacción con servicios externos.

API Gateway

   ↓

Orders Service

   ↓

Payment Service

   ↓

Inventory Service

   ↓

Notification Service

Herramientas habituales

OpenTelemetry • Jaeger • Grafana Tempo • AWS X-Ray • Azure Application Insights • Google Cloud Trace

¿Cómo trabajan juntos?

En una arquitectura correctamente diseñada, los tres pilares se complementan continuamente. Una alerta puede indicar un incremento en la latencia de un servicio mediante una métrica. A partir de esa alerta, el equipo analiza los logs para identificar la excepción y utiliza las trazas distribuidas para localizar exactamente el componente que está provocando el problema.

Flujo completo de observabilidad
Una incidencia se analiza combinando métricas, logs y trazas distribuidas para obtener una visión completa del sistema.

Métricas

  • Detectan anomalías.
  • Permiten crear alertas.
  • Consumo reducido.
  • Visión agregada del sistema.

Logs

  • Explican qué ocurrió.
  • Facilitan auditorías.
  • Contexto detallado.
  • Búsquedas avanzadas.

Trazas distribuidas

  • Siguen la petición completa.
  • Detectan cuellos de botella.
  • Relacionan microservicios.
  • Reducen el MTTR.
Las métricas indican que existe un problema, los logs ayudan a entender qué ha sucedido y las trazas distribuidas muestran exactamente dónde se ha originado. La verdadera observabilidad aparece cuando los tres trabajan de forma conjunta.

Diseñando la Observabilidad desde el Inicio

Uno de los errores más habituales en proyectos de modernización consiste en considerar la observabilidad como una tarea que puede abordarse al finalizar el desarrollo. En muchas organizaciones las herramientas de monitorización comienzan a instalarse cuando aparecen las primeras incidencias en producción, momento en el que resulta mucho más complejo instrumentar correctamente todos los servicios.

La observabilidad debe formar parte del diseño arquitectónico desde el primer día. Igual que se define la comunicación entre microservicios, el modelo de datos o la estrategia de seguridad, también deben diseñarse las métricas, los logs, las trazas distribuidas, las alertas y los indicadores que permitirán comprender el comportamiento del sistema en producción.

Diseñar correctamente esta estrategia evita costosas modificaciones posteriores y permite que cada nuevo microservicio nazca preparado para integrarse dentro de una plataforma de observabilidad común.

SLIs / SLOs Métricas Logs Traces Dashboards Alertas

Definir primero los objetivos del sistema

Antes de elegir cualquier herramienta es necesario identificar qué información será importante durante la operación del sistema. Algunas preguntas habituales son:

• ¿Qué tiempo máximo de respuesta debe tener la API?

• ¿Cuántos errores por minuto son aceptables?

• ¿Qué métricas necesita el negocio?

• ¿Qué operaciones deben quedar auditadas?

• ¿Qué información permitirá localizar un fallo?

• ¿Qué servicios son críticos?

• ¿Qué alertas deben generar una intervención inmediata?

Instrumentar todos los microservicios de forma homogénea

Cada servicio debe generar la misma información siguiendo convenciones comunes. Esto facilita la correlación entre métricas, logs y trazas, simplifica la construcción de dashboards y permite que toda la organización trabaje sobre un modelo uniforme de observabilidad.

HTTP Request

↓

Trace ID

↓

Correlation ID

↓

Structured Logs

↓

Business Metrics

↓

Distributed Trace

↓

Alerting

Buenas prácticas de diseño

Logs estructurados

Utilizar siempre formato JSON para facilitar búsquedas y análisis automáticos.

Correlation IDs

Todas las peticiones deben poder seguirse entre microservicios mediante identificadores únicos.

Métricas de negocio

No limitarse a CPU o memoria; medir también pedidos, pagos, usuarios activos o transacciones completadas.

Alertas útiles

Diseñar alertas accionables que indiquen problemas reales y eviten la fatiga por exceso de notificaciones.

La observabilidad evoluciona junto con la arquitectura

A medida que aparecen nuevos microservicios, colas de mensajería, procesos asíncronos o integraciones externas, también debe evolucionar la plataforma de observabilidad. Cada nuevo componente debe integrarse desde el primer momento en la estrategia común de métricas, logs y trazas distribuidas.

La mejor plataforma de observabilidad no es la que tiene más herramientas, sino la que fue diseñada junto con la arquitectura desde el inicio del proyecto.

¿Qué herramientas elegir según cada escenario?

Uno de los errores más habituales consiste en buscar una única herramienta capaz de resolver todos los problemas de observabilidad. En realidad, una plataforma moderna combina distintas soluciones especializadas para recopilar, almacenar, visualizar y correlacionar métricas, logs y trazas distribuidas.

La elección dependerá de numerosos factores: la infraestructura utilizada, el proveedor cloud, el volumen de datos, el presupuesto disponible, las necesidades de auditoría o el nivel de integración requerido con el resto del ecosistema tecnológico.

Comparativa de herramientas

Micrometer

La opción recomendada para instrumentar aplicaciones Spring Boot. Permite exponer métricas de forma independiente del sistema donde posteriormente serán almacenadas.

Prometheus + Grafana

La combinación más utilizada para métricas en Kubernetes, OpenShift y entornos Cloud Native. Excelente para dashboards, alertas y monitorización de infraestructura.

Elasticsearch + Kibana

Ideal para centralizar logs estructurados, auditoría, búsquedas avanzadas y análisis forense de incidencias en producción.

OpenTelemetry

Estándar abierto para generar métricas, logs y trazas distribuidas sin depender de un proveedor cloud específico.

AWS X-Ray

Muy recomendable cuando toda la plataforma reside sobre AWS. Se integra de forma nativa con ECS, EKS, Lambda, API Gateway, SQS, SNS y Step Functions.

Azure Application Insights

Solución integrada para aplicaciones desplegadas sobre Azure. Facilita el análisis de rendimiento, dependencias y trazas distribuidas.

Google Cloud Trace

Especialmente interesante para aplicaciones desplegadas sobre GKE, Cloud Run, Cloud Functions o arquitecturas serverless en Google Cloud.

OpenTelemetry Collector

Componente encargado de recibir, transformar y distribuir toda la telemetría hacia Prometheus, Grafana, Jaeger, X-Ray, Elasticsearch o cualquier otro backend.

¿Qué utilizar en cada situación?

Spring Boot

↓

Micrometer

↓

OpenTelemetry SDK

↓

OpenTelemetry Collector

├──────────────► Prometheus ► Grafana

├──────────────► Elasticsearch ► Kibana

├──────────────► AWS X-Ray

├──────────────► Azure Application Insights

└──────────────► Google Cloud Trace

Recomendaciones según el entorno

Kubernetes / OpenShift

  • Micrometer
  • OpenTelemetry
  • Prometheus
  • Grafana
  • ELK

AWS

  • Micrometer
  • OpenTelemetry
  • AWS X-Ray
  • CloudWatch
  • Amazon Managed Prometheus

Azure

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • OpenTelemetry

Google Cloud

  • Cloud Trace
  • Cloud Monitoring
  • Cloud Logging
  • OpenTelemetry

Recomendación arquitectónica

Siempre que sea posible, instrumenta las aplicaciones utilizando OpenTelemetry y deja que un OpenTelemetry Collector exporte la información hacia el backend más adecuado. Esta aproximación desacopla la aplicación del proveedor cloud y facilita futuras migraciones entre AWS, Azure, Google Cloud o entornos on-premise.

La mejor herramienta no es la que ofrece más funcionalidades, sino la que mejor se adapta a la arquitectura, al equipo y al entorno donde va a ejecutarse la aplicación.

Diseñando la Observabilidad durante una migración de Monolito a Microservicios

Migrar un monolito hacia una arquitectura basada en microservicios no consiste únicamente en dividir una aplicación en múltiples servicios. También implica rediseñar completamente la forma en que se supervisa, diagnostica y opera el sistema.

En un monolito, la mayoría de los problemas pueden localizarse consultando un único fichero de logs o depurando un único proceso. Cuando la aplicación evoluciona hacia decenas de microservicios, esa estrategia deja de ser válida y la observabilidad pasa a convertirse en un requisito arquitectónico imprescindible.

Migración desde un monolito hacia una arquitectura de microservicios
La complejidad operacional aumenta significativamente durante una migración hacia microservicios.

Fase 1 · Observabilidad en el monolito

Antes de extraer el primer microservicio conviene instrumentar el monolito. Esta fase permite comprender el comportamiento de la aplicación actual y establecer una línea base sobre la que comparar la nueva arquitectura.

Aplicación Monolítica

↓

Micrometer

↓

Métricas

↓

Logs estructurados

↓

Dashboards iniciales

✔ Objetivo

Conocer el comportamiento real del sistema antes de iniciar la migración.

Fase 2 · Extracción de los primeros microservicios

Cuando aparecen los primeros servicios independientes resulta necesario introducir trazabilidad entre ellos. Cada petición debe incorporar un Trace ID y un Correlation ID que permitan reconstruir el recorrido completo de una operación de negocio.

Cliente

↓

API Gateway

↓

Monolito

↓

Nuevo Microservicio

Fase 3 · Centralización de la telemetría

Conforme aumenta el número de servicios ya no resulta viable consultar los logs individualmente. Todas las métricas, logs y trazas deben enviarse a una plataforma común de observabilidad.

Microservicios

↓

OpenTelemetry

↓

OpenTelemetry Collector

├── Prometheus

├── Elasticsearch

└── Cloud Provider

Fase 4 · Arquitectura completamente distribuida

Cuando la plataforma ya está formada por numerosos microservicios, procesos asíncronos, colas de mensajería y servicios cloud, la observabilidad deja de centrarse únicamente en la infraestructura para incorporar también indicadores funcionales del negocio.

Métricas técnicas

CPU, memoria, latencia, throughput, errores, disponibilidad y utilización de recursos.

Métricas de negocio

Pedidos realizados, pagos completados, usuarios activos, reservas procesadas o transacciones finalizadas.

Alertas inteligentes

Detectan degradaciones reales del servicio evitando falsas alarmas y reduciendo la fatiga operativa.

Trazabilidad extremo a extremo

Cada petición puede seguirse desde el cliente hasta la última llamada realizada a un sistema externo.

Evolución recomendada

Fase Objetivo principal Tecnologías recomendadas
Monolito Instrumentación inicial Micrometer + Logs estructurados
Primeros microservicios Correlación de peticiones OpenTelemetry
Arquitectura distribuida Centralización de telemetría OTel Collector + Prometheus + ELK
Cloud Native Operación a gran escala AWS X-Ray / Azure Application Insights / Google Cloud Trace

Recomendación arquitectónica

No esperes a tener veinte microservicios para implantar una estrategia de observabilidad. Instrumenta correctamente el monolito, establece convenciones comunes y mantén el mismo modelo de telemetría durante toda la migración. Cuanto antes se diseñe la observabilidad, menor será el coste de evolución de la plataforma.

La migración a microservicios no termina cuando el sistema funciona, sino cuando eres capaz de comprender en tiempo real qué está ocurriendo dentro de él.

Buenas prácticas para diseñar una plataforma de observabilidad

Implantar herramientas como Prometheus, Grafana o OpenTelemetry no garantiza que una plataforma sea realmente observable. La diferencia entre una solución útil y otra difícil de mantener suele encontrarse en las decisiones de diseño adoptadas desde el inicio del proyecto.

Una estrategia de observabilidad bien definida debe ser homogénea para todos los microservicios, facilitar el diagnóstico de incidencias y proporcionar información útil tanto para los equipos técnicos como para el negocio.

Instrumenta desde el primer microservicio

Cada nuevo servicio debe exponer métricas, generar logs estructurados y participar automáticamente en las trazas distribuidas. Cuanto antes se instrumente una aplicación, menor será el esfuerzo necesario para mantener la plataforma en el futuro.

Utiliza OpenTelemetry como estándar

Siempre que sea posible, instrumenta las aplicaciones utilizando OpenTelemetry. De este modo la aplicación permanecerá desacoplada del proveedor cloud y podrás enviar la telemetría a Prometheus, Grafana, Jaeger, AWS X-Ray, Azure Application Insights o Google Cloud Trace sin modificar el código de negocio.

Spring Boot

↓

Micrometer

↓

OpenTelemetry SDK

↓

OpenTelemetry Collector

↓

Backend de observabilidad

Genera logs estructurados

Evita los mensajes de texto difíciles de analizar. Utiliza siempre formato JSON e incluye información contextual como el nombre del servicio, el entorno, el usuario, el Trace ID y el Correlation ID.

{
  "timestamp":"2026-07-05T12:30:15Z",
  "service":"orders-service",
  "traceId":"8f3b2d...",
  "correlationId":"ORD-45821",
  "level":"ERROR",
  "message":"Payment timeout"
}

Define métricas técnicas y métricas de negocio

La infraestructura debe supervisar CPU, memoria, latencias o tasas de error, pero también es importante medir indicadores funcionales como pedidos procesados, pagos realizados, reservas confirmadas o usuarios activos.

Diseña dashboards para cada perfil

Un único panel rara vez satisface las necesidades de toda la organización. Los equipos de operaciones, desarrollo y negocio necesitan visualizar información diferente según sus responsabilidades.

Desarrollo

Latencias, excepciones, dependencias, trazas distribuidas y uso de recursos.

Operaciones

Disponibilidad, consumo de infraestructura, alertas, escalabilidad y capacidad.

Negocio

Transacciones completadas, ventas, conversiones y KPIs funcionales.

Seguridad

Auditoría, accesos, autenticación y cumplimiento normativo.

Diseña alertas accionables

Una alerta debe indicar siempre una acción concreta. Evita generar notificaciones por pequeños picos de CPU o memoria que no afectan al servicio. Es preferible disponer de pocas alertas realmente útiles que de cientos de avisos ignorados por el equipo.

Revisa periódicamente la estrategia de observabilidad

La plataforma evolucionará continuamente con nuevos microservicios, integraciones y procesos de negocio. La observabilidad también debe evolucionar incorporando nuevas métricas, dashboards y objetivos de servicio que reflejen la realidad del sistema.

Una buena plataforma de observabilidad no se mide por la cantidad de dashboards que posee, sino por la rapidez con la que permite responder una pregunta cuando aparece una incidencia en producción.

Errores más comunes al diseñar una plataforma de observabilidad

La observabilidad se ha convertido en uno de los pilares fundamentales de las arquitecturas modernas, pero sigue siendo habitual encontrar proyectos donde las herramientas se implantan demasiado tarde o sin una estrategia clara. El resultado suele ser una gran cantidad de métricas, logs y dashboards que generan mucho ruido, pero muy poca información útil.

A continuación se muestran algunos de los errores más frecuentes que aparecen durante la implantación de plataformas de observabilidad en entornos empresariales.

❌ Error 1 — Dejar la observabilidad para el final

Es probablemente el error más habitual. Muchas organizaciones comienzan a instrumentar la aplicación cuando aparecen los primeros problemas en producción.

La observabilidad debe diseñarse junto con la arquitectura, no una vez finalizado el desarrollo.

❌ Error 2 — Pensar que Prometheus o Grafana solucionan el problema

Instalar herramientas no convierte automáticamente una plataforma en observable.

Sin una estrategia de métricas, logs, trazas, dashboards y alertas, las herramientas únicamente recopilarán información difícil de interpretar.

❌ Error 3 — No propagar Trace IDs y Correlation IDs

Cada petición debe conservar su identificador durante todo el recorrido entre microservicios.

Cliente

↓

API Gateway

↓

Orders Service

↓

Payment Service

↓

Notification Service

↓

Trace ID = Siempre el mismo

Sin esta correlación resulta prácticamente imposible reconstruir una operación distribuida.

❌ Error 4 — Registrar únicamente logs en texto plano

Los logs deberían generarse siempre en formato estructurado (JSON) para facilitar búsquedas, correlaciones y análisis automáticos mediante Elasticsearch o plataformas similares.

❌ Error 5 — Medir únicamente infraestructura

CPU, memoria o disco son indicadores importantes, pero no reflejan necesariamente el estado del negocio.

También deben medirse métricas funcionales como pedidos procesados, pagos realizados, usuarios conectados o reservas confirmadas.

❌ Error 6 — Crear demasiadas alertas

Una plataforma saturada de notificaciones provoca que los equipos terminen ignorando los avisos importantes.

Las alertas deben ser accionables y representar problemas reales.

❌ Error 7 — No instrumentar procesos asíncronos

En arquitecturas modernas gran parte de la lógica de negocio se ejecuta mediante Kafka, RabbitMQ, Amazon SQS o eventos.

Estos procesos también deben generar métricas, logs y trazas distribuidas para mantener la trazabilidad extremo a extremo.

❌ Error 8 — Acoplar la aplicación al proveedor Cloud

Instrumentar directamente con APIs propietarias dificulta futuras migraciones entre AWS, Azure, Google Cloud o entornos On-Premise.

Siempre que sea posible utiliza OpenTelemetry como estándar y deja que un Collector exporte la telemetría al backend correspondiente.

❌ Error 9 — Ignorar el coste de almacenamiento

Los logs, métricas y trazas pueden crecer varios gigabytes al día.

Define políticas de retención, compresión y archivado para evitar incrementos innecesarios en los costes de infraestructura.

❌ Error 10 — No revisar la plataforma periódicamente

La observabilidad evoluciona junto con la arquitectura.

Cada nuevo microservicio, integración o proceso de negocio debe incorporarse a dashboards, métricas, alertas y trazas distribuidas.

Resumen de recomendaciones

✔ Recomendado ❌ Evitar
Instrumentar desde el inicio Esperar a producción
OpenTelemetry SDKs propietarios
Logs JSON Texto plano
Métricas técnicas y de negocio Solo CPU y memoria
Trazabilidad extremo a extremo Microservicios aislados
Alertas útiles Cientos de notificaciones
Dashboards orientados al negocio Paneles genéricos
Revisar la estrategia periódicamente Diseñarla una sola vez
Una plataforma observable no es aquella que almacena más información, sino aquella que permite responder en pocos minutos qué está ocurriendo, por qué está ocurriendo y cómo resolver la incidencia.

Conclusiones

La observabilidad ha dejado de ser una característica opcional para convertirse en uno de los pilares fundamentales de cualquier arquitectura basada en microservicios. A medida que las aplicaciones evolucionan hacia sistemas distribuidos, aumenta la necesidad de comprender en tiempo real qué está ocurriendo dentro de la plataforma, dónde aparecen los problemas y cómo afectan al negocio.

A lo largo de esta guía hemos visto que la observabilidad no consiste en instalar Prometheus, Grafana, Elasticsearch o cualquier otra herramienta. Su verdadero objetivo es diseñar una estrategia capaz de recopilar, correlacionar y analizar métricas, logs y trazas distribuidas desde el primer día del proyecto.

Cuando la observabilidad forma parte del diseño arquitectónico desde el inicio, resulta mucho más sencillo evolucionar desde un monolito hacia microservicios, reducir el tiempo de resolución de incidencias, optimizar el rendimiento y proporcionar una plataforma preparada para crecer durante muchos años.

Resumen de una arquitectura de observabilidad para microservicios
La observabilidad conecta métricas, logs, trazas distribuidas y objetivos de servicio para ofrecer una visión completa del sistema.

Checklist para una arquitectura observable

Diseñar la observabilidad desde el inicio del proyecto.
Instrumentar todos los microservicios de forma homogénea.
Utilizar métricas, logs y trazas distribuidas conjuntamente.
Propagar siempre Trace IDs y Correlation IDs.
Definir SLIs y SLOs antes de desplegar en producción.
Centralizar la telemetría mediante OpenTelemetry Collector.
Crear dashboards específicos para cada equipo.
Revisar periódicamente métricas, alertas y objetivos.

¿Qué plataforma elegir?

Entornos Cloud Native

  • Micrometer para instrumentación.
  • OpenTelemetry como estándar.
  • Prometheus y Grafana para métricas.
  • ELK u OpenSearch para logs.
  • Collector para desacoplar la telemetría.

Integración con proveedores Cloud

  • AWS X-Ray para ecosistemas AWS.
  • Azure Application Insights en Azure.
  • Google Cloud Trace en Google Cloud.
  • Combinar siempre con OpenTelemetry cuando sea posible.

La evolución de la observabilidad

La observabilidad no termina cuando la aplicación entra en producción. Evoluciona continuamente junto con la arquitectura. Cada nuevo microservicio, integración, proceso asíncrono o servicio cloud debe incorporarse a la estrategia común de métricas, logs, trazas, dashboards y alertas para mantener una visión coherente del sistema.

1

Instrumentación

Incorporar métricas, logs y trazas desde el primer servicio.

2

Centralización

Reunir toda la telemetría en una plataforma común de observabilidad.

3

Correlación

Relacionar métricas, logs y trazas para comprender cualquier incidencia de extremo a extremo.

4

Optimización continua

Revisar objetivos de servicio, dashboards, alertas e indicadores de negocio durante toda la vida del sistema.

La observabilidad comienza con la arquitectura

Diseñar correctamente una plataforma de observabilidad desde el inicio reduce el tiempo de resolución de incidencias, mejora la disponibilidad de los servicios y facilita la evolución hacia arquitecturas distribuidas preparadas para crecer durante años.

  • Spring Boot y OpenTelemetry
  • Prometheus y Grafana
  • Elasticsearch y Kibana
  • AWS X-Ray, Azure Application Insights y Google Cloud Trace
  • Microservicios Cloud Native
Fotografía de Javier García Pérez, Arquitecto de Software Java freelance
SOBRE EL AUTOR

Javier García Pérez

Arquitecto de Software Java freelance · Madrid, España

Más de 15 años diseñando y modernizando plataformas Java críticas en banca, retail, seguros, aerolíneas y administración pública, con proyectos para BBVA, Iberia, Carrefour, Tendam, Ocaso y el Govern de les Illes Balears.

Trabajo a diario con Spring Boot, Quarkus, arquitectura hexagonal, Domain-Driven Design, microservicios event-driven sobre Kafka, AWS, Kubernetes, observabilidad con OpenTelemetry e integración de IA generativa con Spring AI y arquitecturas RAG. Escribo sobre lo que aplico en producción, no sobre teoría.

¿Necesitas diseñar una plataforma de observabilidad para tu arquitectura de microservicios?

Te ayudo a implantar soluciones de observabilidad escalables utilizando OpenTelemetry, Prometheus, Grafana, ELK, AWS, Azure o Google Cloud.