Imagina que tu aplicación está fallando desde hace 20 minutos y te enteraste porque un cliente te mandó un WhatsApp. Esa situación, que es más común de lo que parece, es exactamente lo que una buena estrategia de observabilidad evita.
En Devint hemos implementado sistemas de observabilidad en proyectos de todos los tamaños, desde startups hasta empresas con miles de usuarios diarios. En este artículo te explicamos qué es, por qué importa y cómo implementarla de forma práctica.
El costo del downtime: por qué la observabilidad importa en números
Antes de hablar de herramientas y configuraciones, conviene hablar de dinero. El downtime y los problemas de rendimiento tienen costos directos e indirectos que rara vez se calculan de antemano:
| Tipo de empresa | Costo promedio por hora de downtime |
|---|---|
| E-commerce pequeño ($500K CLP/mes en ventas) | ~$70.000 CLP/hora perdida |
| SaaS B2B mediano | $2M - $10M CLP/hora (pérdida de contratos) |
| Plataforma transaccional (pagos, fintech) | $10M - $100M CLP/hora |
| Gran empresa retail (ventas online) | $50M - $500M CLP/hora |
Fuente: estimaciones basadas en benchmarks de Gartner y casos de clientes.
Pero el downtime directo es solo parte del costo. Los estudios muestran que:
- El 57% de los clientes que experimenta un fallo grave no vuelve a la plataforma (estudio Zendesk, 2023).
- El tiempo promedio de detección de incidentes sin observabilidad es 4-8 horas vs. menos de 5 minutos con alertas bien configuradas.
- El costo de reparar un bug detectado en producción es 6-15x mayor que el mismo bug detectado durante el desarrollo.
¿Qué es la observabilidad y por qué no es lo mismo que el monitoreo?
El monitoreo tradicional te dice si un servidor está caído. La observabilidad te dice por qué está caído, qué usuario lo provocó, en qué parte del flujo ocurrió y cuánto tiempo llevas con el problema sin saberlo.
La observabilidad se sostiene en tres pilares fundamentales:
- Métricas: valores numéricos en el tiempo (CPU, latencia, errores por minuto, usuarios activos).
- Logs: registros detallados de eventos en el sistema.
- Trazas (traces): seguimiento del recorrido de una solicitud a través de todos los servicios.
Cuando los tres están conectados, puedes pasar de “hay un error” a “este error lo genera el 3% de los usuarios que usan Safari en mobile cuando intentan pagar con tarjeta débito” en minutos.
¿Qué deberías medir en tu aplicación?
Antes de instalar herramientas, define qué importa. Usamos el modelo RED para servicios web:
- Rate: cuántas solicitudes por segundo recibe tu sistema.
- Errors: cuántas de esas solicitudes están fallando.
- Duration: cuánto tiempo tarda en responder cada solicitud.
Y el modelo USE para infraestructura:
- Utilización: porcentaje de uso del recurso (CPU, memoria).
- Saturación: si el recurso está sobrecargado.
- Errores: fallos del recurso en sí mismo.
Métricas de negocio: lo que realmente importa
Las métricas técnicas son útiles, pero las métricas de negocio son las que hacen despertar al CEO. Algunas que siempre recomendamos:
- Tasa de conversión en tiempo real: si baja un 20% en los últimos 10 minutos, hay un problema.
- Tiempo hasta el primer byte (TTFB): directamente relacionado con la experiencia del usuario.
- Tasa de abandono en formularios críticos: pagos, registros, cotizaciones.
- Tiempo de carga por región geográfica: especialmente relevante si tienes usuarios en varias ciudades de Chile.
Herramientas de observabilidad que usamos en Devint
No existe una sola herramienta perfecta para todo. Aquí nuestras recomendaciones según el tipo de proyecto:
Para proyectos pequeños y medianos
- Sentry: excelente para capturar errores en frontend y backend. Gratuito hasta cierto volumen. Muestra el stack trace completo con el contexto del usuario que generó el error.
- Better Uptime: monitoreo de disponibilidad con alertas por SMS/email. Ideal para saber cuando tu sitio está caído antes que tus clientes.
- Google Cloud Monitoring: si ya usas GCP, tiene integración nativa con App Engine, Cloud Run y Kubernetes.
Para proyectos de mayor escala
- Datadog: plataforma completa que unifica métricas, logs y trazas. Tiene un costo alto pero es lo más completo del mercado.
- Grafana + Prometheus: stack open source muy potente. Requiere más configuración pero es gratuito y altamente personalizable.
- OpenTelemetry: estándar abierto para instrumentar tu código. Una vez instrumentado, puedes enviar los datos a cualquier backend (Datadog, Grafana, New Relic, etc.).
Cómo implementar observabilidad paso a paso
Paso 1: Empieza con los errores no controlados
Antes de medir rendimiento, asegúrate de capturar todos los errores que actualmente se pierden en silencio. Integra Sentry (o equivalente) en tu aplicación. En un proyecto Node.js esto toma menos de 30 minutos.
npm install @sentry/node
Con eso ya tienes visibilidad de qué falla, dónde y con qué frecuencia.
Paso 2: Agrega logs estructurados
Los console.log("Error aquí") no escalan. Necesitas logs estructurados en formato JSON para poder consultarlos y filtrarlos:
{
"timestamp": "2025-08-28T14:32:00Z",
"level": "error",
"service": "payment-service",
"userId": "user_12345",
"message": "Fallo al procesar pago",
"errorCode": "CARD_DECLINED",
"durationMs": 1240
}
Con logs así, puedes responder preguntas como “¿cuántos usuarios tuvieron error de pago el último martes entre las 10 y las 12?”
Paso 3: Define tus SLIs y SLOs
Un SLI (Service Level Indicator) es una métrica que refleja la experiencia del usuario. Un SLO (Service Level Objective) es el objetivo que quieres cumplir para esa métrica.
Ejemplo práctico para un e-commerce:
- SLI: porcentaje de solicitudes de pago que se completan en menos de 2 segundos.
- SLO: ese porcentaje debe ser ≥ 99.5% medido en ventanas de 30 días.
Cuando caes por debajo del SLO, hay una alerta automática. Sin esto, no sabes cuándo tu aplicación deja de cumplir las expectativas de tus usuarios.
Paso 4: Crea dashboards orientados a personas, no a servidores
Un dashboard lleno de gráficos de CPU no le dice nada al gerente de producto. Diseña vistas para cada audiencia:
- Dashboard de negocio: usuarios activos, conversiones, ingresos en tiempo real.
- Dashboard de producto: flujos más usados, tasas de abandono por paso, errores por funcionalidad.
- Dashboard de infraestructura: recursos, latencias, disponibilidad por servicio.
Paso 5: Automatiza las respuestas a incidentes conocidos
Una vez que tienes visibilidad, el siguiente nivel es la automatización. Si el número de errores en el servicio de autenticación sube más del 5% en 5 minutos, activa automáticamente:
- Una alerta al canal de Slack del equipo.
- Un rollback automático al deploy anterior.
- Un ticket en Jira con el contexto del incidente.
Esto reduce el MTTR (tiempo promedio de resolución) de horas a minutos.
Errores comunes que vemos en proyectos sin observabilidad
- Alertas sin contexto: recibes un mail que dice “CPU al 90%” pero no sabes qué lo causó ni qué impacto tiene en los usuarios.
- Medir todo sin priorizar nada: tener 200 gráficos no sirve si no sabes cuál mirar cuando hay un problema.
- Logs sin retención: los logs desaparecen a las 24 horas y cuando quieres investigar un incidente, ya no están.
- No medir en producción: muchos equipos solo instrumentan el ambiente de desarrollo. Los problemas reales ocurren en producción.
¿Cuándo conviene contratar esto como servicio?
Implementar observabilidad correctamente requiere tiempo y experiencia. Si tu equipo está enfocado en desarrollar funcionalidades de negocio, tiene sentido contratar un equipo especializado que:
- Defina la estrategia de observabilidad junto a tu equipo.
- Instrumente el código existente sin interrumpir el desarrollo.
- Configure alertas inteligentes que no generen ruido.
- Cree los dashboards que realmente necesita cada área.
En Devint hemos hecho esto para empresas de retail, fintech y logística en Chile. Si tu aplicación está en producción y no tienes visibilidad de lo que pasa, estás operando a ciegas.
Comparativa de herramientas de observabilidad para equipos medianos
Una pregunta frecuente es qué stack elegir. La respuesta depende del equipo, el presupuesto y la escala. Aquí una comparación práctica:
| Herramienta | Función principal | Precio aprox. | Mejor para |
|---|---|---|---|
| Sentry | Rastreo de errores frontend/backend | Free / desde $26 USD/mes | Cualquier equipo, muy fácil de instalar |
| Datadog | Observabilidad full-stack (APM, logs, métricas) | Desde $15 USD/host/mes (escala rápido) | Equipos grandes con presupuesto |
| Grafana Cloud | Dashboards + Prometheus + Loki | Free tier generoso / desde $0 | Equipos técnicos que prefieren open source |
| Prometheus + Grafana (auto-hospedado) | Métricas + dashboards | Solo hosting (~$20-50 USD/mes) | Equipos con capacidad DevOps propia |
| New Relic | APM + infraestructura + logs | Free (100 GB/mes) / desde $49 USD/mes | Proyectos medianos con equipo técnico |
| Better Stack (ex Logtail) | Logs + uptime monitoring | Free / desde $24 USD/mes | Startups que quieren logs legibles |
| UptimeRobot | Monitoreo de disponibilidad | Free (50 monitores) / $7 USD/mes | Proyecto de cualquier tamaño |
Stack recomendado por etapa
Startup / proyecto inicial (presupuesto ~$0-$50 USD/mes):
- Sentry Free → errores en tiempo real
- UptimeRobot Free → alertas si el sitio cae
- Google Cloud Monitoring o Grafana Cloud Free → métricas básicas
Producto en crecimiento (presupuesto ~$100-$300 USD/mes):
- Sentry Team → errores con contexto completo
- Better Stack → logs centralizados y legibles
- Grafana Cloud → dashboards y alertas por métrica
Empresa mediana / alto volumen (presupuesto $500+ USD/mes):
- Datadog o New Relic → observabilidad integrada completa
- PagerDuty o Opsgenie → gestión de incidentes con rotación de guardia
- Jaeger o Zipkin → trazas distribuidas entre microservicios
Conclusión
La observabilidad no es un lujo para empresas grandes. Es la diferencia entre enterarte de un problema por tus clientes o antes de que ellos lo noten. Con las herramientas correctas y una estrategia bien definida, puedes implementar un nivel básico de observabilidad en menos de una semana.
¿Quieres evaluar el nivel de observabilidad de tu producto digital? Contáctanos y agendamos una revisión técnica sin costo.