Command Center: un universo de aplicaciones ordenado
Para monitorear el estado de aplicaciones y servicios, desarrollamos Command Center (CC), un software capaz de registrar y facilitar la búsqueda de eventos, así como también mostrarlos en una interfaz gráfica amigable y clara.
Entre los principales objetivos de CC, se encuentra la necesidad de tener un sistema de alta eficiencia en cuanto al consumo de recursos de procesamiento, almacenamiento y transferencia de información. Adicionalmente, se requiere que los equipos de desarrollo cuenten con herramientas que le permitan hacer debug y solucionar problemas rápidamente. Por último, es necesario que cualquier persona que vea el dashboard pueda identificar a simple vista la presencia de un error, aún sin tener conocimientos técnicos específicos.
Teniendo en cuenta estos tres objetivos, se planteó una propuesta de mejora que consta de:
- El logger o registrador de eventos. Un motor capaz de registrar millones de operaciones en una pequeña fracción de tiempo (10000/6.858).
- Management, un cliente web, desarrollado en Blazor, que permite buscar, clasificar y explorar eventos por distintos criterios, mejorando el debugging de errores y la identificación temprana de problemas.
- Dashboard o Monitor, la interfaz gráfica que resume la información recogida por el logger y la exhibe de manera ordenada y precisa.
Logger
Logger es un servicio en backend encargado de registrar todos los eventos del proceso informático monitoreado, ya sea de conectividad, aplicación, servicio en backend, API, etc. Los datos recolectados se acumulan en memoria hasta alcanzar un volumen predefinido y luego se persisten en la base de datos.
Los eventos registrados son clasificados por múltiples criterios. Por ejemplo, en base a su impacto en el sistema, pueden ser: Operaciones, Issues o Errores. Esta clasificación facilita la indexación y posterior búsqueda de información en el registro. No se debe olvidar que el log puede constar de unas cuantas decenas de miles de registros por minuto en tan solo una app.
El logger fue desarrollado en F# y puede vincularse fácilmente en aplicaciones de diversas tecnologías. La versión actual se utiliza en sistemas de código C# y F#.
Control de los datos
Los datos recolectados previamente por el logger, se ponen a disposición mediante dos clientes web: Dashboard y Management.
Dashboard
Es un espacio diseñado para mostrar datos estadísticos en tiempo real. Dispone de un sector general donde se puede identificar inmediatamente la presencia de un error o la sumatoria de incidencias en el periodo seleccionado.
Además, muestra el detalle estadístico de los servicios monitoreados en apartados dedicados. Cada sección mostrará información como: cantidad de Issues, errores, Ping y cantidad de requests.
Al momento de diseñar el dashboard, se tuvo en cuenta, principalmente, la intención de generar impacto visual. En este sentido, se eligió un diseño que representa un universo de información, visto desde una ventana o escotilla al espacio. El fondo aporta una sensación de profundidad que refuerza este concepto y los elementos animados le dan vida a los indicadores que se actualizan constantemente.
Management
Este segundo cliente web de Command Center permite explorar, analizar y visualizar los datos de una manera eficiente. Aquí, el usuario es un desarrollador o personal del área IT, que podrá acceder a información más detallada sobre el funcionamiento de las apps
Este cliente busca mejorar la gestión y el control de la información, facilitando el acceso a los datos recogidos por el logger y brindando la posibilidad de analizar en detalle lo que se está enviando desde cualquier servicio o app. También permite consultar las requests, issues, traces y los failures.
Conclusión
En síntesis, Command Center se desarrolló tras identificar una necesidad puntual de nuestro cliente: mejorar el logging (registro de eventos) existente, aportándole robustez sin aumentar la carga de procesamiento. Al mismo tiempo, se decidió agregar un monitor que dispusiera de la información de manera clara para todas las aplicaciones y servicios del cliente.
Todo esto nos ha permitido un mayor control en el desempeño de las aplicaciones y mayor rapidez de respuesta ante fallos e incidencias, asegurando la calidad del trabajo y el buen desempeño del software.
Descubra cómo podemos ayudarle
Déjenos su solicitud, uno de nuestros comerciales lo contactará a la brevedad.