Disponibilidad de servicios y la experiencia de usuario

Abraham Nevado, CTO de Lucierna, resume las formas de medición de la experiencia de usuario como paso indispensable para cuantificar la calidad de las aplicaciones.

En la actualidad existen multitud de iniciativas que consideran la experiencia del usuario final como una de las métricas claves para cuantificar la calidad de las aplicaciones. Naturalmente esta métrica es la más relevante a la hora de comprender la satisfacción del usuario final y su valor indiscutible, tanto para el negocio como para IT.

No obstante, es conveniente profundizar en los diferentes mecanismos que existen para medir la experiencia del usuario final puesto que, sólo comprendiéndolos de manera profunda, podrá estimarse la calidad de la métrica obtenida.

La generación y medida de transacciones sintéticas consisten en simular a usuarios mediante el empleo de scripts y extrapolar la experiencia de estos “robots” como la experiencia global. Existen diferentes formatos de despliegue de esta solución, pasando por scripts instalados en los centros de datos del cliente hasta modalidades SaaS desde diferentes puntos geográficos y operadores. Sin embargo todos ellos adolecen de la misma problemática: por un lado se genera carga adicional sobre la plataforma; no todas las transacciones de negocio son reproducibles hasta el final (la reserva de un vuelo, por ejemplo); y, por último, la calidad de la aproximación –que a fin de cuentas es el número de transacciones generadas por los robots- será irrelevante comparada con la totalidad de transacciones generadas por los usuarios reales.

Una segunda aproximación es la basada en sondas pasivas. En este caso un equipo físico o virtual, se conecta a la salida del centro de datos y se le envía una copia de todo el tráfico http(s) entrante saliente. Estas soluciones son muy poco intrusivas y con buenos resultados a la hora de medir la disponibilidad del servicio, aunque es importante considerar la siguiente premisa: la única manera de medir la experiencia del usuario final es en su dispositivo de acceso. Y es que el impacto de elementos de red fuera del centro de datos  con almacenamiento y reenvío  (proxies corporativos en la red de acceso del cliente o soluciones de filtrado de contenidos), así como la capacidad y recursos disponibles del equipo de acceso pueden generar multitud de condiciones en las que a la salida del centro de datos la pseudo experiencia del usuario sea satisfactoria mientras que la experiencia real del usuario final sea muy insuficiente.

El tercer gran grupo de soluciones consiste en medir, la experiencia del usuario final en cada equipo del usuario final. Diferentes ingenios permiten embeber pequeñas piezas de código que miden la experiencia del usuario en su dispositivo sin necesidad de modificar una sola línea de código de la aplicación, por ejemplo mediante la reinyección de Javascript. Esta aproximación ofrece el resultado más preciso de la métrica deseada porque se mide donde realmente ocurre, en el dispositivo  de acceso. De este modo puede llegar a completarse esta métrica con otros indicadores clave como el ancho de banda efectivo extremo a extremo o la capacidad del canal. Generalmente este tipo de aproximación ofrecen un resultado óptimo y completo con una única limitación: suelen estar circunscritas a aplicaciones web exclusivamente. Aunque en la actualidad existen algunas aproximaciones que también permiten conocer la experiencia del usuario final incluso para aplicaciones nativas móviles.

A modo de resumen, es conveniente señalar que de los tres grupos de técnicas existentes para conocer la experiencia del usuario final, sólo la que se basa en reinyección de código ejecutable en el cliente permiten medir realmente la experiencia del usuario final y, por tanto, obtener el indicador real y completo de cómo se está experimentando una aplicaciones por los usuarios finales.