Menta

Blog

Monitorear tu aplicación te ayudará a ahorrar dinero

El buen servicio al cliente es crítico para cualquier negocio, incluidos los digitales. Por eso, vale la pena preguntarse: “¿Cómo beneficia a mi negocio monitorear constantemente mi página o mis aplicaciones web?” Pensemos en la siguiente situación. Una plataforma bancaria recibe a las 10 am múltiples peticiones de sus usuarios intentando realizar transacciones y, de pronto, la página  colapsa. El equipo de tecnología tendrá que dejar lo que esté haciendo y centrarse en resolver el problema antes de que esto impacte en quejas o, incluso, en penalizaciones económicas. Recordemos que el tiempo es dinero. Así, mientras el equipo de TI intenta resolver el fallo, la empresa está perdiendo dinero. En esos momentos es cuando las compañías recuerdan que monitorear sus página y aplicaciones puede traer múltiples beneficios.

Cabe destacar que, desde el momento que la empresa decide monitorear las aplicaciones, hay tres preguntas que debe responderse:

¿Mi aplicación y su entorno están disponibles?

¿Está funcionando correctamente?

¿Es rápida?

Indicadores de la pertinencia de un monitoreo

Si hablamos de una aplicación  o página web, a continuacións algunas incidencias que podrían ocurrir y que debemos tener presentes al momento de monitorear.

– Empujar los límites. Por ejemplo: si un disco está lleno, un servidor alcanza un límite en la memoria física o llega a la cantidad máxima de proceso en una tarea.

– Problemas con la red. Puede ocurrir que un sitio se vuelva inalcanzable, que haya grandes pérdidas de paquetes, conexiones de servidor, caídas o fallas de DNS.

– Fallas de componentes o servicios. Posiblemente el servidor de base de datos haya colapsado o algún query esté tomando demasiado tiempo y recursos.

– Problemas con servicios de terceros. Su cubo S3 es inalcanzable, su pasarela de pagos tiene problemas o su CDN no funciona.

– Problemas con sus aplicaciones. Errores y excepciones; inconsistencias en sus datos o incluso errores en su código.

Qué podemos lograr mediante el monitoreo

Una primer meta del monitoreo es alcanzar alta disponibilidad, minimizando el tiempo para detectar y mitigar (MTTD, MTTR). Es decir, tan pronto como surgen problemas en el desempeño, la información relacionada se transmite a los equipos de tecnología vía monitoreo automático, es decir, MTTD. Los equipos DevOps operan de acuerdo a esta información para aminorar los inconvenientes tan pronto como sea posible, para que los usuarios no se vean afectados. Esto es TTM. Los tiempos de resolución se miden, por lo que los equipos trabajan para mejorarlo. Luego de contrarrestar los inconvenientes, trabajan en cómo mitigar los problemas en esa ubicación para que no sean recurrentes. Esto se conoce como MTTR.

Una segunda meta del monitoreo es habilitar el “aprendizaje validado“. Este proceso nos muestra cómo cada implementación es una oportunidad para rastrear los resultados experimentales que alientan o disminuyen las hipótesis de por qué ocurrieron lo problemas. El seguimiento y las diferencias entre versiones permiten que los equipos midan el impacto del cambio y tomen decisiones de negocios. Si una hipótesis es descartada, el equipo puede fallar rápidamente o “hacer pivote“; sin embargo, si la hipótesis es respaldada, entonces el equipo puede avanzar. Estas decisiones basadas en datos conducen a nuevas hipótesis y a responder con más eficiencia y rapidez a un problema determinado.

Cómo se monitorea

“Telemetría“ es el mecanismo por medio del cual recolectamos datos del monitoreo. Este mecanismo puede utilizar agentes que están instalados en los entornos de implementación, por ejemplo, un SDK que se basa en marcadores insertados en el código fuente, el registro del servidor o una combinación de los anteriores. Generalmente, la Telemetría distingue entre la canalización de datos optimizados para las alertas y los tableros de control en tiempo real (dashboards). Además, también distingue los datos de mayor volumen que son necesarios para la resolución de problemas o análisis de uso. Por su parte, el monitoreo sintético funciona mediante la emisión de transacciones simuladas automatizadas, desde un usuario virtual hasta su aplicación, para imitar lo que éste podría hacer.

Como una buena práctica, es bueno tener mecanismos de monitoreo siempre activos en producción. Ya sea en entornos de prueba, control de calidad o desarrollo. Un despliegue bien monitoreado arroja datos sobre la salud y desempeño, para que el equipo pueda prestar atención a un incidente cuando éste ocurre.

Además, resulta clave el monitoreo al momento de hacer “migraciones“ o cambios importantes de arquitectura. Por ejemplo: cambiar de dos servidores de aplicación a cinco medianos; de plataforma, cambiar de Microsoft a Oracle; o de código, en el caso de que hubieran rediseñado su sitio.

Por todo lo anterior, queda claro que monitorear tus aplicaciones ofrecerá una mejor experiencia a tus usuarios y, también hay que decirlo, podrías ahorrar una buena cantidad de dinero evitando incidencias.

Para más información, favor de comunicarse con los especialistas de Menta