Definition

Monitoreo del rendimiento de aplicaciones o APM

El monitoreo del rendimiento de las aplicaciones (application performance monitoring o APM) es la colección de herramientas y procesos diseñados para ayudar a los profesionales de la tecnología de la información (TI) a garantizar que las aplicaciones con las que trabajan los usuarios cumplan con los estándares de rendimiento y proporcionen una valiosa experiencia de usuario (UX). El monitoreo del rendimiento de las aplicaciones se incluye en el término más general relacionado con la gestión del rendimiento de las aplicaciones. Si bien el monitoreo del rendimiento de la aplicación solo se centra en el seguimiento del rendimiento de una aplicación, la gestión del rendimiento de la aplicación se centra en el concepto más amplio de controlar los niveles de rendimiento de una aplicación —y el monitoreo es parte de esto.

Una solución eficaz de monitoreo del rendimiento de las aplicaciones debe centrarse en la supervisión de la infraestructura, así como en el seguimiento de la experiencia del usuario, las dependencias de las aplicaciones y las transacciones comerciales. Las herramientas de APM proporcionan a los administradores los datos que necesitan para descubrir, aislar y resolver rápidamente problemas que pueden afectar negativamente el rendimiento de una aplicación.

Los profesionales de TI pueden utilizar las métricas de rendimiento —que una herramienta APM recopila de una aplicación específica o de varias aplicaciones en la misma red— para identificar la causa raíz de un problema. Los datos que recopilan las herramientas APM incluyen la utilización de la CPU del cliente, las demandas de memoria, el rendimiento de los datos y el consumo de ancho de banda.

Propósito del APM

La disponibilidad continua y el rendimiento adecuado de una aplicación son esenciales para la capacidad de una empresa de mantener procesos comerciales ininterrumpidos. Una solución APM eficaz proporciona a una organización la capacidad de conectar el rendimiento de su aplicación con los resultados comerciales, aislar y corregir errores antes de que afecten al usuario final y reducir el tiempo medio de reparación (MTTR).

Las herramientas de APM recopilan y cuantifican datos de casi todo lo que influye en el rendimiento de una aplicación. En la base, las herramientas de monitoreo del rendimiento de las aplicaciones analizan la plataforma de alojamiento de la aplicación, extraen información sobre la utilización del proceso y examinan las demandas de memoria y las velocidades de lectura/escritura del disco. También rastrean la utilización del procesador, que consiste en la cantidad de operaciones por segundo que realiza el servidor de la CPU.

Si el uso de la memoria es alto, surgirán problemas de rendimiento de la aplicación. Como resultado, APM rastrea cuántos datos a corto plazo almacena una CPU.

A nivel de software, las herramientas de APM rastrean las tasas de error o la frecuencia con la que una aplicación se encuentra con un problema o falla. Por ejemplo, puede ocurrir un error cuando no hay suficiente memoria para que la aplicación acceda. Las herramientas de monitoreo del rendimiento de las aplicaciones también supervisan la ejecución del código para identificar dónde puede haber cuellos de botella durante los procesos que consumen mucha memoria, como la búsqueda en una base de datos.

El equilibrio de carga automatizado tiene el potencial de engañar a los profesionales de TI para que piensen que todo funciona correctamente porque el rendimiento combinado de los servidores parece estar bien. En realidad, la automatización podría estar enmascarando problemas en los que algunos servidores llevan más carga que otros. Las herramientas de APM pueden ayudar a los profesionales de TI a evitar este problema mediante el seguimiento de todos los servidores a la vez para averiguar dónde puede haber un problema.

Componentes del APM

El monitoreo del rendimiento de la aplicación se centra en el seguimiento de cinco componentes principales del rendimiento de la aplicación:

  • Arquitectura de la aplicación en tiempo de ejecución
  • Monitoreo de usuarios reales
  • Transacciones de negocios
  • Monitoreo de componentes
  • Análisis e informes

La arquitectura de la aplicación en tiempo de ejecución analiza los componentes de hardware y software utilizados en la ejecución de la aplicación y las partes con las que se comunican. Mediante el reconocimiento de patrones y la identificación de problemas de rendimiento, los profesionales de TI pueden anticipar el potencial de problemas futuros antes de que sucedan.

El monitoreo de usuarios reales, también conocido como monitoreo de la experiencia del usuario final, recopila datos de rendimiento basados ​​en el usuario para comprender qué tan bien se está desempeñando la aplicación para los usuarios y para evaluar los posibles problemas de rendimiento. El monitoreo de usuarios reales permite a una organización responder de manera eficiente a las fallas y comprender su impacto. Hay dos formas de realizar un seguimiento de la experiencia del usuario final:

  • Monitoreo sintético — utiliza sondas y bots para simular un usuario final para determinar problemas antes de que se abra la aplicación. Este método de seguimiento también se utiliza para supervisar los acuerdos de nivel de servicio (SLA) asociados con la aplicación.
  • Monitoreo sin agentes — utiliza sondas de datos para analizar el tráfico de red que viaja a través de conmutadores y balanceadores de carga. Esto revelará información sobre el rendimiento en toda la infraestructura, así como detalles sobre el cliente analizado –como su ubicación, sistema operativo y navegador.

Las transacciones comerciales, también conocidas como perfiles de transacciones definidos por el usuario, se enfocan en examinar las interacciones específicas del usuario y recrearlas para probar y comprender las condiciones que conducen a un problema de rendimiento. Este proceso ayudará a las organizaciones a rastrear eventos a medida que se mueven a través de los diversos componentes de la aplicación, así como a revelar cuándo y dónde ocurren los eventos —y si la eficiencia del rendimiento está optimizada.

El monitoreo de componentes, también conocido como análisis profundo de componentes de aplicaciones, implica el seguimiento de todos los componentes de la infraestructura de TI. Se realiza un monitoreo extenso y en profundidad de todos los recursos utilizados y eventos experimentados dentro de la infraestructura de rendimiento de la aplicación —esto incluye un análisis de todos los servidores, sistemas operativos, middleware, componentes de aplicaciones y componentes de red. El monitoreo de componentes proporciona una comprensión más profunda de los diversos elementos y vías identificadas en los procesos anteriores.

Los análisis y los informes implican traducir los datos recopilados de los procesos anteriores en información que se puede utilizar para:

  • definir una línea de base de rendimiento utilizando datos históricos y actuales que establezcan una expectativa de rendimiento normal de la aplicación;
  • identificar áreas potenciales de mejora comparando los cambios en la infraestructura con los cambios en el desempeño;
  • identificar, localizar y resolver de manera eficiente problemas de desempeño utilizando datos históricos y de referencia;
  • predecir y aliviar posibles problemas futuros realizando acciones.

Los componentes de análisis e informes son esenciales para garantizar que la organización reciba un buen retorno de la inversión (ROI).

Cómo funciona el APM

El monitoreo del rendimiento de las aplicaciones funciona observando cómo trabajan las aplicaciones y si se comportan de forma adecuada; si las aplicaciones no se comportan de manera adecuada, se recopilan datos sobre el origen del problema; los datos recopilados se analizan en el contexto de su impacto en el negocio, y el entorno de la aplicación se corrige para resolver cualquier problema similar antes de que ocurra.

Al configurar una solución APM, se deben considerar tres categorías de datos: métricas, archivos de seguimiento y de registro. Una métrica es una medida cuantificada que se puede utilizar para comprender el estado de un proceso específico. Las métricas a menudo se comparan con una línea de base definida para analizar el estado del sistema o del proceso. Los cambios en las métricas son una indicación común de un problema subyacente. Algunas de las métricas de monitoreo de aplicaciones más críticas incluyen:

  • Monitoreo del rendimiento web — mide el tiempo medio de respuesta de las interacciones del usuario final para ver si la velocidad está afectando el rendimiento de la aplicación.
  • Uso de la CPU — monitorea el uso de la CPU junto con las velocidades de lectura/escritura del disco y las demandas de memoria para ver si el uso está afectando el rendimiento de la aplicación.
  • Disponibilidad y tiempo de actividad de la aplicación — mide si la aplicación está en línea y disponible para los usuarios; se utiliza con frecuencia para determinar el cumplimiento del SLA de una organización.
  • Tasas de solicitud — mide la cantidad de tráfico recibido por la aplicación para identificar cualquier aumento, disminución o coincidencia de usuarios significativos.
  • Satisfacción del cliente — revela cómo se sienten los clientes acerca de la aplicación en comparación con una línea de base definida.
  • Tasas de error — observa cómo la aplicación se degrada o falla a nivel de software.
  • Número de instancias — cuenta cuántas instancias de servidor o aplicación se están ejecutando al mismo tiempo. Esto es especialmente importante para las aplicaciones en la nube.

Un rastreo es el procesamiento completo de una solicitud. Un seguimiento se utiliza para ilustrar y comprender el recorrido completo de una solicitud a medida que viaja a través de todos los componentes y servicios de la red. Un rastreo contiene cientos de puntos de datos que pueden indicar errores, diagnosticar amenazas de seguridad y detectar y aislar problemas de red.

Los archivos de registro son creados automáticamente por una aplicación o sistema operativo; contienen información sobre el comportamiento del usuario y los eventos que tuvieron lugar en la aplicación. Los archivos de registro se utilizan para realizar un análisis de la causa raíz, comprender por qué cambió una métrica e identificar dónde comenzó un evento.

Usos del APM

Los profesionales de TI pueden crear reglas para que la herramienta APM les avise cuando surge un problema o cuando el rendimiento de una aplicación cae en un área específica. También pueden priorizar las aplicaciones en función de su importancia empresarial.

En implementaciones virtualizadas, las herramientas APM pueden ayudar a los profesionales de TI a monitorear los servidores de aplicaciones para asegurarse de que cumplen con un SLA.

La nube introduce una serie de dependencias adicionales en el rendimiento de las aplicaciones, incluso cuando las aplicaciones no están basadas en la nube. Por esta razón, existe un monitoreo del desempeño de las aplicaciones en la nube, que se enfoca en rastrear el desempeño de las aplicaciones basadas en implementaciones en la nube privada o híbrida.

Por ejemplo, una solución APM debe monitorear las comunicaciones de red para ver si existe un problema de comunicación entre la aplicación y cualquier servicio en la nube que requiera ejecutar, o entre la aplicación y los propios usuarios. Para hacerlo, muchas herramientas monitorean tanto la latencia como la cantidad de solicitudes entrantes y salientes que realiza una aplicación.

Herramientas APM

Las herramientas de APM rastrean el rendimiento de una aplicación a lo largo del tiempo y ayudan a los profesionales de TI a comprender el efecto que tienen las diferentes dependencias en el rendimiento de una aplicación. Al elegir una herramienta de APM, las organizaciones deben buscar productos que se centren en la facilidad de uso, las experiencias del usuario y el desarrollo de conocimientos prácticos a partir de los datos recopilados.

La herramienta APM también debería poder:

  • realizar un seguimiento del rendimiento a nivel de código;
  • administrar aplicaciones escritas en el idioma elegido por la empresa;
  • supervisar la pila de infraestructura completa;
  • identificar las conexiones entre el rendimiento de la aplicación y los resultados comerciales; y
  • aprovechar la inteligencia artificial (IA).

Algunas de las mejores herramientas de APM en el mercado incluyen:

  • Google Stackdriver Monitoring y Google Cloud Console
  • Red Hat OpenShift Container Platform
  • Microsoft System Center
  • Azure Application Insights
  • Dell Foglight
  • Stackify Retrace
  • New Relic APM y New Relic Alerts
  • Pulse Secure Virtual Traffic Manager

Proveedores principales

El mercado de APM tiene muchas opciones además de las herramientas enumeradas anteriormente. Otros proveedores incluyen AppDynamics, CA Technologies, Datadog, SolarWinds y Splunk. La oferta de AppDynamics monitorea toda la pila de infraestructura, incluye diagnósticos a nivel de código y permite a los profesionales de TI monitorear a los usuarios en todas las plataformas. CA Technologies tiene una herramienta de análisis de causa raíz que los profesionales de TI pueden utilizar para identificar la fuente de un problema en el código. Datadog tiene una herramienta APM basada en la nube que ofrece muchas integraciones de terceros y una interfaz de programa de aplicación (API) totalmente personalizable.

SolarWinds APM tiene varias herramientas que TI puede elegir, incluido Pingdom, que supervisa el rendimiento de las aplicaciones web. Splunk proporciona monitoreo basado en registros que incluye agregación y análisis de registros.

Otras opciones en el mercado son Dynatrace, Grafana, LogicMonitor, Nagios y Sensu.

Este contenido se actualizó por última vez en julio 2021

Investigue más sobre Bases de datos y software Oracle