El software de gestión del rendimiento de aplicaciones (APM) ayuda a una organización a garantizar que sus aplicaciones críticas cumplan con las expectativas establecidas de rendimiento, disponibilidad y experiencia del cliente o del usuario final.
Lo hace midiendo el rendimiento de la aplicación, alertando a los administradores cuando no se cumplen las líneas base de rendimiento, proporcionando visibilidad de las causas fundamentales de los problemas de rendimiento y resolviendo automáticamente muchos problemas de rendimiento antes de que afecten a los usuarios o al negocio.
APM es también una abreviatura de supervisión del rendimiento de aplicaciones. Los términos a menudo se usan indistintamente, pero la supervisión del rendimiento de aplicaciones es en realidad un componente de la gestión del rendimiento de muchas aplicaciones, porque, a final, debe supervisar el rendimiento para gestionarlo.
Sin embargo, cada vez más, las soluciones de gestión del rendimiento de aplicaciones están pasando de depender de las herramientas tradicionales de supervisión del rendimiento de las aplicaciones a incorporar la observabilidad, una tecnología de análisis y recopilación de datos de rendimiento que se adapta mejor a la complejidad de las aplicaciones modernas y distribuidas nativas de la nube.
Una vez más, APM recopila datos de rendimiento de las aplicaciones de software, los analiza para detectar posibles problemas de rendimiento y proporciona información o toma medidas para acelerar la resolución de esos problemas. La principal diferencia en la forma en que recopilan y analizan los datos es la diferencia entre la supervisión del rendimiento de la aplicación y la observabilidad.
En la supervisión del rendimiento de aplicaciones, los agentes se implementan en todo el entorno de la aplicación y la infraestructura de soporte, para "supervisar" el rendimiento mediante muestreos del rendimiento y métricas relacionadas con el rendimiento (a veces llamadas telemetría), por lo general con una frecuencia de una vez por minuto. Los tipos de supervisión que realizan estos agentes incluyen:
Recopila métricas de rendimiento (como tiempo de carga, tiempo de respuesta, tiempo de actividad, tiempo de inactividad) de la interfaz de usuario en el dispositivo del usuario final. (Esto solía llamarse supervisión de la experiencia del usuario final, pero se amplió para reconocer que las entidades no humanas, como robots u otros componentes de software, también interactúan con la aplicación y tienen expectativas de rendimiento propias). La supervisión de la experiencia digital generalmente admite la supervisión de usuarios reales, que supervisa la experiencia de un usuario real en el sistema, la supervisión sintética, para pruebas de rendimiento en entornos de producción y no producción.
Incluye la supervisión de todo el lote de aplicaciones o marco de aplicaciones (por ejemplo, Java o .NET), sistema operativo, base de datos, API, middleware, servidor de aplicaciones web, interfaz de usuario, así como supervisión de la infraestructura de TI que muestra factores como la utilización de la CPU, el espacio en disco y rendimiento de la red. La supervisión del lote generalmente incluye un seguimiento a nivel de código, que puede ayudar a detectar partes de código que podrían estar causando un cuello de botella en el rendimiento.
Muestra el rendimiento de consultas o procedimientos SQL, además de la supervisión de la base de datos proporcionada por los agentes de supervisión de aplicaciones.
Supervisa la disponibilidad real de aplicaciones y componentes de hardware (porque las aplicaciones pueden generar datos de rendimiento incluso cuando no son accesibles para el usuario final).
Además de recopilar datos de rendimiento, estos agentes realizan perfiles de transacciones definidos por el usuario, rastreando cada transacción desde la interfaz de usuario o dispositivo del usuario final a través de cada componente de aplicación o recurso involucrado en la transacción. Esta información se utiliza para determinar las dependencias de las aplicaciones y para crear un mapa de topología: una visualización de las dependencias entre la aplicación y los componentes de la infraestructura, idealmente en las instalaciones, la nube privada, la nube pública (incluido cualquier solución de software como servicio o SaaS) y/o entornos de nube híbrida.
Las soluciones de APM suelen proporcionar un controlador y un panel centralizado donde las métricas de rendimiento recopiladas se agregan, analizan y comparan con las líneas de base establecidas. El panel alerta a los administradores del sistema sobre desviaciones de las líneas de base que indican problemas de rendimiento reales o potenciales. También proporciona información contextual y conocimientos prácticos que los administradores pueden utilizar para solucionar y resolver los problemas.
APM es lo suficientemente eficaz para supervisar y solucionar problemas de aplicaciones monolíticas o aplicaciones distribuidas tradicionales, donde se publica nuevo código de forma periódica y los flujos de trabajo y las dependencias entre los componentes de la aplicación, los servidores y los recursos relacionados son bien conocidos o fáciles de rastrear.
Pero hoy, a medida que las organizaciones adoptan prácticas modernas de desarrollo y tecnologías nativas de la nube (metodologías Agile y DevOps, microservicios, contenedores Docker, Kubernetes y funciones sin servidor), implementan nuevos componentes de aplicaciones con tanta frecuencia, en tantos lugares, en tantos lenguajes y durante períodos de tiempo tan variados que el muestreo de datos de una vez por minuto de las soluciones de supervisión tradicionales no puede seguir el ritmo.
La observabilidad intercambia los agentes de supervisión tradicionales con instrumentación que recopila datos contextuales y de rendimiento sin parar, y utiliza técnicas de machine learning para correlacionar y analizar los datos en tiempo real. Con una solución de observabilidad, los equipos de desarrollo, operaciones de TI e ingeniería de confiabilidad del sitio (SRE) pueden:
La supervisión tradicional solo busca desviaciones conocidas de las líneas de base conocidas. La funcionalidad de machine learning de una plataforma de observabilidad puede detectar patrones en la telemetría de rendimiento para identificar nuevas desviaciones que se correlacionan con problemas de rendimiento.
La observabilidad permite a los equipos de DevOps integrar la supervisión en las primeras fases del proceso de desarrollo de software, para que puedan probar, identificar y solucionar problemas en el nuevo código antes de que afecten la experiencia del cliente o los acuerdos de nivel de servicio (SLA).
Por ejemplo, los desarrolladores pueden especificar la instrumentación de observabilidad como parte de la configuración de un clúster de Kubernetes, de modo que cualquier nuevo clúster comience a recopilar telemetría desde el momento en que gira hacia arriba hasta que gira hacia abajo.
La observabilidad no reemplaza la supervisión, sino que permite una mejor supervisión y una mejor APM.
Hoy en día, las herramientas de APM aprovechan la observabilidad y la inteligencia artificial en diversos grados. Algunos combinan la supervisión del rendimiento de las aplicaciones tradicionales con la inteligencia artificial para automatizar el descubrimiento de las rutas de transacciones cambiantes y las dependencias de las aplicaciones. Otros combinan la observabilidad con la inteligencia artificial para determinar automáticamente las líneas de base de rendimiento y filtrar las señales, o insights accionables, del 'ruido' de los datos de gestión de operaciones de TI (ITOM).
El analista de la industria Gartner encuentra que las organizaciones pueden lograr una "reducción del ruido del 60% en ITOM mediante el uso de herramientas aumentadas por IA".
El objetivo final, y el futuro de APM y las operaciones de TI, es combinar la observabilidad con la inteligencia artificial para operaciones de TI, o AIOps, para crear una infraestructura de recuperación y optimización automáticas. Juntos, el flujo constante de telemetría de observabilidad en tiempo real y el machine learning y la automatización AIOps pueden prever problemas de rendimiento de las aplicaciones en función de los resultados del sistema, resolverlos antes de que afecten la experiencia o las operaciones del usuario final, e incluso tomar acciones para optimizar el rendimiento de las aplicaciones, todo sin intervención de gestión.
Innove más rápido, reduzca los costos operativos y transforme las operaciones de TI (ITOps) con una plataforma AIOps que brinda visibilidad de los datos de rendimiento y las dependencias en todos los entornos.
Descubra la plataforma de observabilidad empresarial líder para nubes híbridas.Mejore la gestión del rendimiento de las aplicaciones y acelere las líneas de trabajo de CI/CD sin importar dónde residan las aplicaciones.
Descubra cómo la IA para TI mejora los resultados de negocio, genera mayores ingresos y reduce los costos y los riesgos para las organizaciones.
Alcance nuevos niveles de eficiencia y resiliencia en sus operaciones de TI.
SRE utiliza la ingeniería de software para automatizar las tareas de operaciones de TI que, de lo contrario, los administradores de sistemas realizarían manualmente.
Obtenga una visibilidad completa de la asignación de recursos de su aplicación e infraestructura que contribuye al tiempo de respuesta del usuario y cualquier congestión de recursos.