Real User Monitoring (RUM), también conocido como monitoreo de experiencia de usuario final o monitoreo de usuario real, es una metodología de observabilidad que recopila datos sobre el rendimiento y la interacción de una aplicación web o móvil directamente desde los navegadores o dispositivos de los usuarios finales. A diferencia del Synthetic Monitoring, que simula el comportamiento del usuario, RUM captura métricas como el tiempo de carga de la página (Page Load Time), el tiempo hasta el primer byte (Time to First Byte - TTFB), Core Web Vitals (LCP, FID, CLS), errores de JavaScript, latencia de la red, y el comportamiento de navegación (clics, scrolls) de usuarios reales en sus entornos reales. Esto se logra inyectando un pequeño script JavaScript en las páginas web o utilizando SDKs en aplicaciones móviles que envían datos de forma asíncrona a un backend de análisis.

La implementación de RUM es ubicua en el ecosistema de aplicaciones modernas. Herramientas comerciales como New Relic Browser, Dynatrace RUM, Datadog RUM, y Akamai mPulse ofrecen soluciones completas para la instrumentación, recolección y análisis de datos RUM. Google Analytics 4 (GA4) también incorpora capacidades RUM para el análisis de comportamiento y rendimiento del usuario. En el ámbito de código abierto, proyectos como Boomerang.js (parte de Akamai mPulse) o la recolección manual de métricas de Performance API y Reporting API del navegador, combinadas con soluciones de backend como ELK Stack (Elasticsearch, Logstash, Kibana) o Prometheus/Grafana, permiten a las organizaciones construir sus propias plataformas RUM. Estas herramientas se integran típicamente en el frontend de las aplicaciones web o en los SDKs de las aplicaciones móviles.

Para un Arquitecto de Sistemas, RUM es fundamental para comprender el impacto real de las decisiones de diseño y la infraestructura en la experiencia del usuario final. Permite identificar cuellos de botella de rendimiento específicos del cliente (ej. problemas de red en ciertas regiones, dispositivos lentos, errores de JavaScript que afectan a subconjuntos de usuarios) que no serían visibles con el monitoreo de infraestructura o Synthetic Monitoring. La elección de una solución RUM implica trade-offs: las soluciones comerciales ofrecen riqueza de características y facilidad de implementación a cambio de costos y posible 'vendor lock-in', mientras que las soluciones 'build-your-own' ofrecen mayor flexibilidad y control, pero requieren una inversión significativa en desarrollo y mantenimiento. Un arquitecto debe considerar la sobrecarga de rendimiento del script RUM, la privacidad de los datos del usuario (GDPR, CCPA), la escalabilidad de la ingesta y el procesamiento de datos, y la integración con otras herramientas de observabilidad para obtener una visión holística del sistema.