Real User Measurements (RUM), también conocido como Real User Monitoring, es una metodología de observabilidad que implica la recopilación de métricas de rendimiento y experiencia directamente desde los dispositivos de los usuarios finales (navegadores web, aplicaciones móviles, etc.) mientras interactúan con un sistema. A diferencia del monitoreo sintético, que simula el comportamiento del usuario desde ubicaciones controladas, RUM captura datos en tiempo real sobre la latencia de la red, el tiempo de carga de la página, la interactividad (First Input Delay, Cumulative Layout Shift) y errores, reflejando las condiciones reales de la red, el dispositivo y la ubicación geográfica de cada usuario. 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 vuelta a un servicio de recolección.
En el mundo real, RUM es implementado por una variedad de herramientas y plataformas de Application Performance Monitoring (APM) y monitoreo de experiencia digital. Ejemplos concretos incluyen Dynatrace RUM, New Relic Browser, Datadog RUM y Akamai mPulse. Estas herramientas integran scripts o SDKs que instrumentan automáticamente las aplicaciones web y móviles para capturar métricas como Largest Contentful Paint (LCP), First Contentful Paint (FCP), Time to Interactive (TTI), y Core Web Vitals. Los datos recopilados se agregan y visualizan en dashboards, permitiendo a los equipos identificar cuellos de botella de rendimiento, correlacionar problemas con segmentos de usuarios específicos y optimizar la experiencia del usuario final en función de datos empíricos.
Para un Arquitecto de Sistemas, RUM es fundamental para la toma de decisiones estratégicas y el diseño de sistemas centrados en el usuario. Permite validar la efectividad de optimizaciones de backend y frontend, identificar problemas de rendimiento que solo se manifiestan en condiciones de red o dispositivos específicos, y priorizar mejoras basadas en el impacto real en la experiencia del cliente. Los trade-offs incluyen la sobrecarga mínima que el script RUM puede añadir al tiempo de carga inicial de la página, la privacidad de los datos del usuario (requiriendo cumplimiento con regulaciones como GDPR o CCPA) y el costo de procesamiento y almacenamiento de grandes volúmenes de datos. Un arquitecto debe considerar cómo integrar RUM de manera no intrusiva, cómo anonimizar y agregar datos de forma efectiva, y cómo utilizar los insights de RUM para informar decisiones sobre CDN, edge computing, optimización de recursos y diseño de APIs, asegurando que la arquitectura entregue una experiencia de usuario óptima en el mundo real.