Tareas avanzadas: monitorización de experiencia de usuario
En el siglo pasado teníamos ordenadores muy primitivos y ahora, en los albores de un nuevo milenio, ¿¡Somos los usuarios los que nos hemos vuelto primitivos!? ¿Queréis saber más? Conozcamos la monitorización de experiencia de usuario.
Mi primer ordenador, en 1987, fue un portátil con pantalla LCD monocromática y con 16 kilobytes de memoria para programas. Eran 15.584 preciados bytes y que se leían y ejecutaban muy rápidamente. Cuando comencé a estudiar ingeniería le tocó al noble artefacto realizar integrales por aproximación y, ¡bam!, aquí entra la experiencia de usuario, cuando el profesor me pedía comparar su resultado final contra el ordenador.
Algunas veces, dependiendo de la complejidad de la fórmula y las iteraciones solicitadas, finalizaba el profesor antes que la computadora. Por eso yo debía escoger bien esos parámetros antes de iniciar el cálculo, a ojo de buen cubero. Una década después ya existía GNU/Linux, inició el auge del Internet (que no ha parado hasta nuestros días) y comenzamos a conectar por aplicaciones que permiten tener una ventana terminal y delegar así el cálculo o carga de trabajo sobre servidores dedicados a ello.
El usuario con experiencia
Lo que sí teníamos claro era que hacía falta poder de cómputo. Habían pasado décadas en las que se delegaba en terminales remotas y/o terminales tontas y toda la carga de trabajo se hacía en un «supercomputador». Sir Tim Berners-Lee creó, de facto, el HTML y las páginas web eran como anuncios de tablero estáticos, que cambiaban de vez en cuando. Se inventó algo llamado Interfaz de entrada común (CGI) para permitir cierto dinamismo en ellas. Así fue como empezamos a preocuparnos por el tiempo que tardaban en resolver cálculos y resultados para luego presentarlos en una plantilla de página web.
Las bases de datos fueron evolucionando: yo usé MS Access® para aplicaciones pequeñas y para todo lo demás dBase® y Clipper® . Luego vino Visual Fox Pro® con el cual pude manejar decenas de millones de registros en un ordenador personal.
Era inevitable que las bases de datos pasaran de largo sin impactar en nuestras vidas. Ya en este siglo el lenguaje PHP se encargó no solo de crear páginas web, su código HTML, sino que podíamos generar de manera personalizada, en varias versiones, según parámetros diferentes, conectando directamente a las bases de datos y extraer datos para los usuarios en tiempo real.
Breve retrospectiva
Con el advenimiento de este siglo nace Pandora FMS (en el año 2004, para ser precisos) y el chequeo y tiempo de carga de una página web, su componente HTML, forma parte de lo que considero la monitorización primitiva. Incluso tiene algunos componentes avanzados, como búsqueda de texto en la página web o inicio de sesión sencilla, tipo POST, para tomar el tiempo que tarda en devolver un resultado, entre otros Módulos. Para Pandora FMS cada medida es llamado Módulo los cuales están agrupados mediante Agentes.
Mientras tanto las aplicaciones de escritorio, las conocidas ahora como on premise, también fueron evolucionando. En dichas aplicaciones, todo su código binario reside en el dispositivo donde se ejecutan, y los datos, bien lo obtienen de un fichero local o, más útil y masivamente usado, se conectan a una base de datos para obtener y editar información. También son conocidas como aplicaciones nativas de cada sistema operativo en particular.
Pandora FMS puede hacer chequeos en base de datos remotos y podemos colocar operaciones que generalmente haría un usuario. Por ejemplo, pedir los últimos siete días de ventas, -si está en línea la base de datos- cuánto tiempo tarda en devolver ese resultado: si tarda X cantidad de segundos o más, devolvernos una advertencia por pantalla o una alerta por correo, SMS, etcétera. Esto da una idea aproximada del estado y funcionamiento de un sistema, pero no es aún una monitorización de experiencia de usuario.
Aplicaciones complejas
Como el poder de cálculo en los servidores siempre ha sido mayor que en nuestros hogares u oficinas, se realizó el ingenio de la interfaz de programación de aplicaciones, mejor conocida como API. Una API es un conjunto de funciones, procedimientos y subrutinas que ofrece una “biblioteca” para ser utilizadas por otro software. Pandora FMS y muchas aplicaciones tienen esta manera de permitir que terceros desarrollen sus propias interfaces para realizar tareas predefinidas: ¿crear un nuevo artículo en la base de datos? ¿Publicar un listado de precios? Estas tareas son candidatas a ser realizadas por medio de una API.
Pero he aquí que nos vamos acercando a la monitorización de la experiencia de usuario: si la aplicación creada por un tercero va lenta ¿dónde está el cuello de botella?, ¿en la aplicación?, ¿en el servidor?, ¿en la comunicación del servidor? ¿Hay otras causas para este retraso?
Otro detalle a tomar en cuenta es nuestro factor humano:me ha tocado personalmente que me indiquen que una aplicación que he realizado «va lenta». He tomado el código fuente, le he cambiado el color de fondo a los formularios, he compilado e instalado y he recibido variedad de respuestas diferentes: ¡que mejoró, que empeoró, etcétera! Eso es lo que se llama informar de manera cualitativa, pero sin cifras ni hechos que lo sustenten.
Pandora FMS tiene casos reales de monitorización de experiencia donde han informado de manera cuantitativa cómo y cuándo se han detectado retrasos en los procesos. Así ya vamos llegando al presente, a las aplicaciones que más utilizamos al momento de escribir estas líneas.
Aplicaciones web
Ya veis cómo Internet ha cambiado nuestra manera de trabajar hasta llegar a algo que es prácticamente ubicuo hoy en día: las aplicaciones web. Por medio de un navegador web se identifican los usuarios y realizan todo en línea, ya sea que la aplicación web conecte directamente o, por medio de API, a una o más bases de datos.
Presentan la ventaja de poder cambiar rápidamente los formularios para los usuarios, pero abre otros problemas como el reparto de carga de trabajo entre varios servidores y la redundancia en el almacenamiento de datos. Para todo esto Pandora FMS tiene excelentes herramientas, e incluso hasta podemos agregar las nuestras, ¡así de flexible es!
Dichas aplicaciones web también pueden ser delegadas en terceros, y si este es el caso Pandora FMS puede monitorizar los acuerdos de nivel de servicio (Service Level Agreement o SLA): dichos escenarios son realmente complejos e incluso pueden necesitar incluir la monitorización de experiencia de usuario.
Usuarios primitivos
Así las cosas hemos llegado a la gran preocupación de nuestros tiempos: ¿Es suficientemente poderoso nuestro ordenador para ejecutar nuestro navegador web preferido? Porque, en realidad, la gran mayoría solamente ejecuta un navegador web y allí lee su correo electrónico, se comunica por redes sociales, realiza su trabajo remoto durante la pandemia, accede a sus cuentas bancarias, publica en su blog, lleva hojas de cálculo en línea para diferentes asuntos… Son incluso decenas de pestañas abiertas, cada una consumiendo ciclos de procesador y memoria por el navegador web.
Nos hemos vuelto rudimentarios y elementales, incluso nuestro navegador web se actualiza automáticamente. Podemos adquirir un equipo nuevo y en poco tiempo tener todo funcionando otra vez como lo teníamos ya que por completo está basado en el navegador web. Incluso yo tengo cuentas en Mozilla Firefox y Google Chrome que sincronizan con mis otros dispositivos como teléfonos móviles y lectores de libros electrónicos: ellos ofrecen este servicio para tener todo centralizado.
Con Pandora FMS y su Agente Software (pequeña aplicación instalada en cada artefacto y que monitoriza de forma local) podemos rápidamente conocer si dichos navegadores web representan un carga muy grande de trabajo al aparato, así como inventario de software y hardware de todos ellos.
¿Acaso hemos monitorizado ya bastante con esta breve retrospectiva que os he relatado? Aquí es donde viene la monitorización de experiencia de usuario.
Monitorización de experiencia
La monitorización de experiencia de usuario es, prácticamente, simular ser un usuario que ejecuta unas tareas de monitorización predefinidas y cuyos resultados son cuidadosamente medidos, guardados y enviados al servidor Pandora FMS correspondiente.
Fue inventada para todo esto que os he explicado, tanto aplicaciones web como aplicaciones de escritorio.
Siendo sincero, no soy el primero que escribe en este blog acerca de la monitorización de experiencia de usuario:
Para las aplicaciones web, Pandora Web Robot (PWR).
Para las aplicaciones de escritorio en MS Windows®: Pandora Desktop Robot (PDR).
Esencialmente, y en ambos casos, se trata de mover y hacer clic con el ratón y/o pulsar el teclado para cada una de las opciones de la aplicación a monitorizar. Si queréis conocer a fondo los detalles, sin duda debéis hacer clic en cada uno de esos dos artículos luego de finalizar aquí vuestra lectura, que falta poco para terminar.
Aplicaciones web progresivas
Por supuesto que el mundo cambia constantemente. Ahora los navegadores web, por medio del apoyo de cada sistema operativo, ofrecen las aplicaciones web progresivas que difuminan las fronteras entre aplicaciones web y aplicaciones de escritorio.
Basan su tecnología en HTML, CSS y JavaScript (que hace las veces de PHP pero del lado del cliente) cosa que no es sorpresa alguna para nosotros que estamos acostumbrados a las aplicaciones web. La diferencia estriba en que utiliza procesos en segundo plano que se encargan de interceptar nuestras peticiones al dominio donde reside el servidor del sistema web, pero van más allá utilizando la memoria caché del navegador web. No necesitan de instalación tal como la conocemos (si acaso que el usuario consienta su utilización) e incluso pueden hacer uso de sus propias bases de datos locales como SQLite, por ejemplo.
Aquí la monitorización se complica un poco, ya que dichas aplicaciones progresivas son capaces de trabajar fuera de línea con los datos guardados previamente: será cuestión de que programemos solicitudes con contenido de valores aleatorios para evitar este comportamiento. También podemos afinar y apuntar bien nuestros Agentes Software para hilar fino en nuestra tarea de monitorización. Pero todo eso es ya material suficiente para otro artículo.
Antes de despedirnos, recuerda que Pandora FMS es un software de monitorización flexible, capaz de monitorizar dispositivos, infraestructuras, aplicaciones, servicios y procesos de negocio.
¿Quieres conocer mejor qué es lo que Pandora FMS puede ofrecerte? Descúbrelo entrando aquí: https://pandorafms.com/es
Si cuentas con más de 100 dispositivos para monitorizar puedes contactar con nosotros a través del siguiente formulario: https://pandorafms.com/es/contactar/
Además, recuerda que si tus necesidades de monitorización son más limitadas tienes a tu disposición la versión OpenSource de Pandora FMS. Encuentra más información aquí: https://pandorafms.org/es/
No dudes en enviar tus consultas. ¡El equipazo de Pandora FMS estará encantado de atenderte!
Programador desde 1993 en KS7000.net.ve (desde 2014 soluciones en software libre para farmacias comerciales en Venezuela). Escribe regularmente para Pandora FMS y ofrece consejos en el foro. También colaborador entusiasta en Wikipedia y Wikidata. Machacador de hierros en gimnasios y cuando puede se ejercita en ciclismo también. Fanático de la ciencia ficción. Programmer since 1993 in KS7000.net.ve (since 2014 free software solutions for commercial pharmacies in Venezuela). He writes regularly for Pandora FMS and offers advice in the forum. Also an enthusiastic contributor to Wikipedia and Wikidata. Crusher of irons in gyms and when he can he exercises in cycling as well. Science fiction fan.