Acabas de deployar tu app Next.js en Vercel. Tu tech lead dice que necesitas monitoreo. Googleas "Next.js APM" y encontras la guia de setup de Datadog.

Paso 1: Instalar dd-trace. Paso 2: Instalar el Datadog Agent en tu servidor. Paso 3: Configurar datadog.yaml con 47 opciones. Paso 4: Configurar trace collection. Paso 5: Configurar log forwarding. Paso 6: Darte cuenta de que el Datadog Agent necesita un servidor — y vos estas en Vercel.

No tenes un servidor. Tenes funciones serverless. El agente no tiene donde vivir.

Que hacen realmente los agentes APM (y cuanto cuestan)

Un agente APM es un proceso separado que corre al lado de tu aplicacion. El agente de Datadog, el daemon de New Relic, el OneAgent de Dynatrace — todos siguen el mismo patron:

  1. Un proceso daemon corre en tu maquina (200-500MB de RAM)
  2. Una libreria especifica del lenguaje instrumenta tu codigo
  3. La libreria envia datos de tracing al daemon local
  4. El daemon agrupa, comprime y reenvia los datos a la nube del vendor

Esta arquitectura tenia sentido cuando todos corrian en instancias EC2 o pods de Kubernetes. Se rompe en tres escenarios que los developers de Next.js enfrentan constantemente:

Problema 1: Serverless no tiene maquina host

En Vercel, Netlify o AWS Lambda, no hay un servidor persistente. Cada invocacion de API route es una funcion aislada. El daemon del agente no tiene donde correr.

Problema 2: Los cold starts empeoran

Las librerias APM necesitan inicializarse cuando tu funcion arranca. Con dd-trace, eso agrega ~245ms a cada cold start — un 80% mas de tiempo de inicializacion en una funcion que normalmente arranca en 300ms.

Problema 3: Complejidad de configuracion

Un setup tipico de Datadog para Next.js requiere 10+ variables de entorno. Erra una y tenes datos parciales. Configura mal una y te llega una factura de $2,000 por exceso de traces.

El impuesto del agente: comparacion

CostoCon Agente (Datadog/New Relic)Sin Agente (SDK liviano)
Overhead de memoria300-500MB (daemon) + 50-100MB (lib)< 5MB
Penalidad de cold start+200-800ms+5-15ms
Variables de entorno10-15 requeridas1 (API key)
Tiempo de setup2-4 horas5 minutos
Costo mensual (equipo chico)$71-300+/host/mes$0-29/mes
Funciona en Vercel serverlessParcialmenteCompletamente

Como es el monitoreo sin agentes

En vez de daemon + libreria + pipeline de collectors, tenes un unico SDK liviano que corre dentro del proceso de tu aplicacion:

// instrumentation.ts
import { initWatch } from '@nurbak/watch'

export function register() {
  initWatch({
apiKey: process.env.NURBAK_WATCH_KEY,
  })
}

Sin daemon, sin archivo de config, sin 10 variables de entorno. El SDK:

  1. Inicializa en menos de 15ms (vs 200-800ms para agentes APM)
  2. Usa menos de 5MB de memoria
  3. Auto-descubre cada API route de tu app Next.js
  4. Agrupa y envia metricas de forma asincrona (cero impacto en response time)
  5. Sobrevive cold starts serverless porque es parte de tu funcion

Como funciona por dentro

El SDK usa el hook instrumentation.ts de Next.js 13.2+ para engancharse al lifecycle de requests. Usa diagnostics_channel de Node.js — sin monkey-patching, sin reescribir modulos, sin conflictos de versiones.

Las metricas se bufferean en memoria y se envian en batches cada 10 segundos. Si el endpoint de monitoreo esta caido, tu app sigue funcionando normalmente. El monitoreo observa, nunca interfiere.

Que obtenes sin el agente

Con Nurbak Watch, cada API route se trackea automaticamente:

  • Percentiles de latencia — P50, P95, P99 por endpoint
  • Tasas de error — porcentaje de 4xx y 5xx por ruta
  • Throughput — requests por minuto
  • Tracking de cold starts — frecuencia e impacto en latencia
  • Alertas instantaneas — Slack, email o WhatsApp en menos de 10 segundos

Cuando si necesitas un agente

Para ser honestos, los agentes no siempre estan mal. Necesitas un agente APM completo si:

  • Corres en Kubernetes con 50+ microservicios y necesitas distributed tracing
  • Necesitas profiling profundo de CPU y memoria
  • Compliance lo requiere (SOC 2, HIPAA)
  • Tenes un equipo de plataforma dedicado a observabilidad

Si nada de esto aplica — si sos un equipo de 1 a 15 developers haciendo un SaaS en Next.js — no necesitas un agente.

Migracion: sacar tu agente en 10 minutos

# Sacas el agente
npm uninstall dd-trace   # o newrelic, o @dynatrace/oneagent

# Instalas Nurbak Watch
npm install @nurbak/watch

# Agregas 5 lineas a instrumentation.ts
# Agregas 1 variable de entorno: NURBAK_WATCH_KEY
# Deploy

Tus cold starts acaban de mejorar 200-800ms. Tu uso de memoria bajo. Y seguís teniendo visibilidad completa de cada API route.

Empeza gratis

Nurbak Watch esta en beta y es completamente gratis durante el lanzamiento. Sin tarjeta de credito. Sin agente. Sin daemon. Sin archivo de config de 47 opciones.

Un npm install. Cinco lineas de codigo. Cada API route monitoreada.