Saltar al contenido principal
Volver a todos los artículos
DevOps5 min de lectura

Observabilidad con Presupuesto Cero: Espía tu App en Producción sin Gastar un Euro

Descubre cómo implementar un sistema de observabilidad completo (logs, métricas y trazas) sin pagar licencias. Te enseñamos las herramientas y técnicas open-source para saber qué pasa en producción con presupuesto cero.

Como emprendedor y desarrollador, he lanzado docenas de productos. Y si algo he aprendido a las malas es que tu aplicación no está terminada cuando la subes a producción. Ahí es cuando empieza el verdadero juego.

Todo va bien... hasta que un usuario te dice que algo no funciona. Entras en pánico. Revisas el código, pero no ves nada raro. ¿Qué está pasando? Estás volando a ciegas. Necesitas visibilidad. Necesitas observabilidad.

El problema es que herramientas como Datadog, New Relic o Splunk son increíbles, pero sus facturas pueden asustar a cualquier startup o proyecto personal. La buena noticia es que no necesitas gastar un dineral para saber qué demonios ocurre en tu sistema. Puedes montar un stack de observabilidad profesional con un presupuesto de exactamente 0€.

Aquí te cuento cómo lo hago yo, basado en los tres pilares de la observabilidad.

Pilar 1: Logs - El historial de todo lo que pasa

Los logs son la forma más sencilla de empezar. Son un registro cronológico de eventos. Pero un `console.log('hola')` no te va a salvar la vida a las 3 AM.

La técnica clave: Logging estructurado. Olvídate de las líneas de texto plano. Formatea tus logs como objetos JSON. ¿Por qué? Porque así se convierten en datos que puedes filtrar, buscar y analizar de forma automática.

Casi todos los lenguajes tienen librerías para esto. En Node.js, usa `pino`. En Python, configura el `logging` estándar para que emita JSON. Un buen log se ve así:


{
  "level": "error",
  "time": "2023-10-27T10:00:00Z",
  "msg": "Failed to process payment",
  "trace_id": "abc-123-xyz-789",
  "user_id": "usr_45",
  "error": "Credit card expired"
}

Herramientas con presupuesto cero:

* Loki: Es parte del stack de Grafana. La idea de Loki es genial: en lugar de indexar el contenido completo de tus logs (que es carísimo), solo indexa un pequeño conjunto de etiquetas (como `app`, `entorno`, `nivel`). Es absurdamente eficiente y barato de operar. Se integra de forma nativa con Grafana para la visualización. * Proveedores PaaS: Si usas Vercel, Render o Heroku, sus planes gratuitos suelen incluir una cantidad decente de almacenamiento y visualización de logs. ¡Aprovéchalo!

Pilar 2: Métricas - Los signos vitales de tu sistema

Las métricas son valores numéricos medidos a lo largo del tiempo: uso de CPU, memoria, número de peticiones por segundo, tasa de errores, latencia. Son el pulso de tu aplicación.

La técnica clave: Exponer un endpoint `/metrics` en tu aplicación que devuelva las métricas en un formato estándar.

Herramientas con presupuesto cero:

* Prometheus: Es el estándar de facto en el mundo open-source para la recolección de métricas. Funciona con un modelo de *pull*: periódicamente, le pide a tu aplicación que le envíe las métricas desde el endpoint `/metrics`. Es robusto, fiable y lo usa medio mundo. * Grafana: Es la pareja de baile perfecta para Prometheus. Grafana es una herramienta de visualización increíblemente potente que te permite crear dashboards para ver tus métricas en tiempo real. La combinación Prometheus + Grafana es el pan de cada día en miles de empresas. * Grafana Cloud (Free Tier): Si no quieres gestionar tu propio Prometheus, Grafana Cloud tiene un plan gratuito "para siempre" muy generoso que te permite enviar tus métricas y usar sus dashboards. Es una opción fantástica para empezar.

Pilar 3: Trazas Distribuidas - El GPS de tus peticiones

Si tienes una arquitectura de microservicios, los logs y las métricas no son suficientes. Una sola petición de un usuario puede viajar por 3, 5 o 10 servicios diferentes. Si algo falla en medio, ¿cómo sabes dónde fue?

Las trazas distribuidas resuelven esto. Asignan un ID único a cada petición y lo propagan a través de todos los servicios que toca, permitiéndote ver el viaje completo, incluyendo cuánto tiempo tardó en cada parada.

La técnica clave: Instrumentación. Añades una librería a tu código que se encarga de crear y propagar estas trazas automáticamente.

Herramientas con presupuesto cero:

* OpenTelemetry (OTel): Es un proyecto de la CNCF (la misma fundación que Kubernetes y Prometheus) que busca estandarizar la forma en que generamos telemetría (métricas, logs y trazas). Es agnóstico al proveedor, lo que significa que no te casas con nadie. Implementas OTel una vez y luego decides a dónde enviar los datos. * Jaeger o Tempo: Son sistemas open-source para almacenar y visualizar trazas. Jaeger es un proyecto más antiguo y maduro. Tempo es la solución de Grafana, diseñada para integrarse con Loki y Prometheus y ser, de nuevo, muy barata de operar.

El Stack Ganador: Grafana + Loki + Prometheus + Tempo (GLPT)

Si quieres autogestionarlo todo, la combinación de estas cuatro herramientas es imbatible. Te da una solución de observabilidad completa, profesional y 100% gratuita.

1. Prometheus recoge las métricas. 2. Loki recoge los logs. 3. Tempo recoge las trazas. 4. Grafana lo visualiza todo en un único lugar.

Puedes levantar este stack completo con un simple archivo `docker-compose.yml` en un VPS barato (o incluso en la capa gratuita de Oracle Cloud).

Dejar de volar a ciegas en producción no es un lujo. Es una necesidad. Y como has visto, no requiere un presupuesto de miles de euros. Solo necesitas la curiosidad para probar estas herramientas y la disciplina para hacer de la observabilidad una parte central de tu proceso de desarrollo. Empieza hoy, tu yo del futuro te lo agradecerá.

Escrito por Samuel Moreno

Socio y Desarrollador en Sinergia Barcelona.