En los campos de la tecnología de la información y la gestión de sistemas , la gestión del rendimiento de las aplicaciones ( APM ) es el seguimiento y la gestión del rendimiento y la disponibilidad de las aplicaciones de software . APM se esfuerza por detectar y diagnosticar problemas complejos de rendimiento de aplicaciones para mantener el nivel de servicio esperado . APM es "la traducción de métricas de TI en significado comercial ([es decir] valor)". [1]
Medir el rendimiento de la aplicación
Se supervisan de cerca dos conjuntos de métricas de rendimiento . El primer conjunto de métricas de rendimiento define el rendimiento experimentado por los usuarios finales de la aplicación. Un ejemplo de rendimiento son los tiempos de respuesta promedio bajo carga máxima. Los componentes del conjunto incluyen tiempos de carga y respuesta.
- La carga es el volumen de transacciones procesadas por la aplicación, por ejemplo, transacciones por segundo (tps), solicitudes por segundo, páginas por segundo. Sin estar cargadas por demandas de búsqueda, cálculos, transmisiones, etc. basadas en computadoras, la mayoría de las aplicaciones son lo suficientemente rápidas, por lo que los programadores pueden no detectar problemas de rendimiento durante el desarrollo.
- Los tiempos de respuesta son los tiempos necesarios para que una aplicación responda a las acciones de un usuario con tal carga. [2]
El segundo conjunto de métricas de rendimiento mide los recursos computacionales utilizados por la aplicación para la carga, indicando si existe la capacidad adecuada para soportar la carga, así como las posibles ubicaciones de un cuello de botella de rendimiento. La medición de estas cantidades establece una línea de base de rendimiento empírico para la aplicación. La línea de base se puede utilizar para detectar cambios en el rendimiento. Los cambios en el rendimiento pueden correlacionarse con eventos externos y, posteriormente, usarse para predecir cambios futuros en el rendimiento de la aplicación. [3]
El uso de APM es común para aplicaciones web, que se presta mejor a las técnicas de monitoreo más detalladas. [4] Además de medir el tiempo de respuesta de un usuario, los tiempos de respuesta de los componentes de una aplicación web también se pueden monitorear para ayudar a identificar las causas del retraso. También existen dispositivos HTTP que pueden decodificar tiempos de respuesta específicos de la transacción en la capa del servidor web de la aplicación.
En su Marco conceptual de APM , Gartner Research describe cinco dimensiones de APM: [5] [6] [7] [8]
- Monitoreo de la experiencia del usuario final ( activo y pasivo )
- Descubrimiento y modelado de arquitectura en tiempo de ejecución de aplicaciones
- Perfiles de transacciones definidos por el usuario (también llamado gestión de transacciones comerciales )
- Supervisión de componentes de la aplicación
- Informes y análisis de datos de aplicaciones
En 2016, Gartner Research actualizó su definición en tres dimensiones funcionales principales: [9]
- La monitorización de la experiencia del usuario final (EUEM) se ha convertido en monitorización de la experiencia digital (DEM);
- Una nueva dimensión, el descubrimiento, el seguimiento y el diagnóstico de aplicaciones (ADTD), combina tres dimensiones anteriormente separadas (descubrimiento y visualización de la topología de la aplicación [arquitectura en tiempo de ejecución], creación de perfiles de transacciones definidas por el usuario y análisis profundo del componente de la aplicación), ya que las tres sobre solución de problemas y están interrelacionados;
- Análisis de aplicaciones (AA).
En 2019, investigadores de KTH Royal Institute of Technology , Harvard Business School , Technical University of Munich y BMW realizaron un estudio centrado en el problema de que las soluciones APM existentes carecen de capacidades sólidas de detección de anomalías y técnicas de análisis de causa raíz. La mayoría requiere esfuerzos manuales y conocimientos de dominio. Desarrollaron un modelo de aprendizaje automático no supervisado basado en densidad para detectar anomalías dentro de una aplicación empresarial, basándose en datos de múltiples sistemas APM. Usando dos meses de datos de aplicaciones en vivo, muestran que el modelo detecta el comportamiento anormal del sistema de manera más confiable que una técnica de detección de valores atípicos comúnmente utilizada y proporciona información para detectar las causas raíz. [10]
Asuntos actuales
Desde el primer semestre de 2013, APM ha entrado en un período de intensa competencia de tecnología y estrategia con una multiplicidad de proveedores y puntos de vista. [11] Esto ha provocado una conmoción en el mercado con proveedores de orígenes no relacionados (incluido el monitoreo de redes, administración de sistemas, instrumentación de aplicaciones y monitoreo del rendimiento web) que adoptan mensajes en torno a APM [ ¿cuál? ] . Como resultado, el término APM se ha diluido y se ha convertido en un concepto para administrar el rendimiento de las aplicaciones en muchas plataformas informáticas diversas, en lugar de un mercado único. [ aclaración necesaria ] [12] Con tantos proveedores para elegir, seleccionar uno puede ser un desafío. Es importante evaluar cada uno de ellos cuidadosamente para asegurarse de que sus capacidades satisfagan sus necesidades. [13]
Dos desafíos para implementar APM son (1) puede ser difícil instrumentar una aplicación para monitorear el rendimiento de la aplicación, especialmente entre los componentes de una aplicación, y (2) las aplicaciones se pueden virtualizar , lo que aumenta la variabilidad de las mediciones. [14] [15] Para aliviar el primer problema , la gestión de servicios de aplicaciones (ASM) proporciona un enfoque centrado en las aplicaciones, donde la visibilidad del rendimiento del servicio empresarial es un objetivo clave. El segundo aspecto presente en las aplicaciones distribuidas, virtuales y basadas en la nube plantea un desafío único para el monitoreo del rendimiento de las aplicaciones porque la mayoría de los componentes clave del sistema ya no están alojados en una sola máquina. Es probable que cada función haya sido diseñada ahora como un servicio de Internet que se ejecuta en varios sistemas virtualizados. Es muy probable que las aplicaciones en sí mismas se estén moviendo de un sistema a otro para cumplir con los objetivos de nivel de servicio y hacer frente a las interrupciones momentáneas. [dieciséis]
El marco conceptual de APM
Las aplicaciones en sí mismas son cada vez más difíciles de administrar a medida que avanzan hacia construcciones de múltiples elementos y niveles múltiples altamente distribuidas que en muchos casos se basan en marcos de desarrollo de aplicaciones como .NET o Java. [17] El Marco Conceptual de APM fue diseñado para ayudar a priorizar un enfoque sobre en qué enfocarse primero para una implementación rápida y una comprensión general del modelo de APM de cinco dimensiones. La diapositiva del marco describe tres áreas de enfoque para cada dimensión y describe sus beneficios potenciales. Estas áreas se denominan " Primarias " a continuación, y las dimensiones de menor prioridad se denominan " Secundarias " . [18]
Experiencia del usuario final (principal)
Medir el tránsito del tráfico desde la solicitud del usuario a los datos y viceversa es parte de la captura de la experiencia del usuario final (EUE). [19] El resultado de esta medición se conoce como monitoreo de aplicaciones en tiempo real (también conocido como monitoreo de arriba hacia abajo), que tiene dos componentes, pasivo y activo. La supervisión pasiva suele ser un dispositivo sin agentes que se implementa mediante la duplicación de puertos de red . Una característica clave a considerar es la capacidad de admitir análisis de componentes múltiples (por ejemplo, base de datos, cliente / navegador). El monitoreo activo , por otro lado, consiste en sondas sintéticas y robots web predefinidos para informar la disponibilidad del sistema y las transacciones comerciales. El monitoreo activo es un buen complemento del monitoreo pasivo; Juntos, estos dos componentes ayudan a proporcionar visibilidad del estado de la aplicación durante las horas de menor actividad cuando el volumen de transacciones es bajo.
La gestión de la experiencia del usuario (UEM) es una subcategoría que surgió de la dimensión EUE para monitorear el contexto de comportamiento del usuario. UEM, como se practica hoy, va más allá de la disponibilidad para capturar latencias e inconsistencias cuando los seres humanos interactúan con aplicaciones y otros servicios. [20] UEM generalmente se basa en agentes y puede incluir inyección de JavaScript para monitorear en el dispositivo del usuario final. UEM se considera otra faceta del monitoreo de aplicaciones en tiempo real.
Arquitectura de la aplicación en tiempo de ejecución (secundaria)
Las ofertas de Application Discovery and Dependency Mapping (ADDM) existen para automatizar el proceso de mapeo de transacciones y aplicaciones a los componentes de la infraestructura subyacente. [21] Al prepararse para implementar una arquitectura de aplicación en tiempo de ejecución, es necesario asegurarse de que el monitoreo ascendente / descendente esté implementado para todos los nodos y servidores dentro del entorno (también conocido como monitoreo ascendente). Esto ayuda a sentar las bases para la correlación de eventos y proporciona la base para una comprensión general de cómo las topologías de red interactúan con las arquitecturas de aplicaciones.
Transacción comercial (principal)
Céntrese en las transacciones definidas por el usuario o en las definiciones de la página URL que tienen algún significado para la comunidad empresarial. Por ejemplo, si hay de 200 a 300 definiciones de página únicas para una aplicación determinada, agrúpelas en 8-12 categorías de alto nivel. Esto permite informes de SLA significativos y proporciona información de tendencias sobre el rendimiento de la aplicación desde una perspectiva empresarial: comience con categorías amplias y refínelas con el tiempo. Para una comprensión más profunda, consulte Gestión de transacciones comerciales .
Monitoreo de componentes de inmersión profunda (secundario)
El monitoreo profundo de componentes (DDCM) requiere la instalación de un agente y generalmente está dirigido al middleware , enfocándose en servidores web, de aplicaciones y de mensajería. Debe proporcionar una vista en tiempo real de las pilas de J2EE y .NET , vinculándolas a las transacciones comerciales definidas por el usuario. Un monitor robusto muestra una ruta clara desde la ejecución del código (por ejemplo, spring y struts) hasta la URL renderizada y finalmente hasta la solicitud del usuario. Dado que DDCM está estrechamente relacionado con la segunda dimensión del modelo APM, la mayoría de los productos de este campo también proporcionan asignación de dependencia de descubrimiento de aplicaciones (ADDM) como parte de su oferta.
Análisis / informes (principal)
Es importante llegar a un conjunto común de métricas para recopilar e informar sobre cada aplicación, luego estandarizar en una vista común sobre cómo presentar los datos de rendimiento de la aplicación. La recopilación de datos sin procesar de otros conjuntos de herramientas en el modelo APM proporciona flexibilidad en los informes de aplicaciones. Esto permite responder una amplia variedad de preguntas de rendimiento a medida que surgen, a pesar de las diferentes plataformas en las que se puede ejecutar cada aplicación. Demasiada información es abrumadora. Por eso es importante mantener los informes simples o no se utilizarán. [22]
Software APM
- Perfilador de fuego negro
- Perímetro
- NV elástica
- Instana
- JumpSoft
- Software SmartBear
- Apilar
- AppDynamics
- Nueva Reliquia
Ver también
- Medición de la respuesta de la aplicación
- Gestión de servicios de aplicaciones
- Rendimiento de transacciones comerciales
- Lista de herramientas de análisis de rendimiento
- Administración de redes
- Monitoreo de sitios web
Referencias
- ^ Dragich, Larry (4 de abril de 2012). "La anatomía de APM - 4 elementos fundamentales para una estrategia exitosa" . APM Digest.
- ^ Dubie, Denise (11 de noviembre de 2006). "Gestión del desempeño desde el punto de vista del cliente" . NetworkWorld . Consultado el 22 de marzo de 2013 .
- ^ Dragich, Larry (11 de mayo de 2012). "APM y MoM - Conjuntos de soluciones simbióticas" . APM Digest.
- ^ "Lo que debe saber sobre APM - Parte 1" . NEXUS en tiempo real. 2013. Archivado desde el original el 14 de diciembre de 2013.
- ^ "Mantenga las cinco dimensiones funcionales de APM distintas" . Investigación de Gartner (número de identificación = G00206101). 16 de septiembre de 2010.
- ^ "Analítica vs. APM" . APM Digest. 28 de enero de 2013.
- ^ "Una comparación de las suites de gestión del rendimiento de aplicaciones de CA, HP y Oracle" (PDF) . Grupo de consultoría Crimson . Consultado el 22 de marzo de 2013 .
- ^ "Cuadrante mágico para la supervisión del rendimiento de aplicaciones" . Gartner . Consultado el 18 de diciembre de 2013 .
- ^ "Magic Quadrant for Application Performance Monitoring Suites, 2016" . Investigación de Gartner (número de identificación = G00298377). 21 de diciembre de 2016.
- ^ Elsner; Aleatrati Khosroshahi; MacCormack; Lagerström (enero de 2019). "Aprendizaje automático multivariante no supervisado para la detección de anomalías en aplicaciones empresariales" . Proc. de la 52ª Conferencia Internacional de Ciencias de Sistemas de Hawái (HICSS). doi : 10.24251 / HICSS.2019.703 . Consultado el 4 de mayo de 2021 . Cite journal requiere
|journal=
( ayuda ) - ^ "Convergencia APM: Monitoreo vs Gestión" . APM Digest. 6 de marzo de 2013.
- ^ "Espectro de gestión de rendimiento de aplicaciones" (PDF) . Investigación TRAC. 11 de marzo de 2013. Archivado desde el original (PDF) el 17 de abril de 2013.
- ^ "5 capacidades a considerar al seleccionar una solución de monitoreo de desempeño de aplicaciones" . APMdigest: gestión del rendimiento de las aplicaciones . 2017-04-03 . Consultado el 26 de septiembre de 2017 .
- ^ Khanna, Gunjan; Beaty, Kirk A .; Kar, Gautam; Kochut, Andrzej (2006). "Gestión del rendimiento de las aplicaciones en un entorno de servidor virtualizado". Simposio de gestión y operaciones de red, 2006. NOMS 2006. 10º IEEE / IFIP : 373–381. doi : 10.1109 / NOMS.2006.1687567 . ISBN 978-1-4244-0142-0.
- ^ Matchett, Mike. "¿La virtualización está estancada en el rendimiento?" . Revisión de virtualización . Consultado el 22 de marzo de 2013 .
- ^ "Diferencias entre enfoques de APM - una charla con Jesse Rothstein de Extrahop" . ZDNet. 9 de diciembre de 2011.
- ^ "Los cinco elementos esenciales de la supervisión del rendimiento de las aplicaciones" . NEXUS en tiempo real. 2010.
- ^ "Priorizar el modelo APM de Gartner: el marco conceptual APM" . APM Digest. 15 de marzo de 2012.
- ^ "Herramientas de supervisión del rendimiento de las aplicaciones: tres estrategias de proveedores" . SearchNetworking. 25 de marzo de 2013.
- ^ "Información del Panel de gestión de la experiencia del usuario en Boston" . APM Digest. 23 de marzo de 2012.
- ^ "Investigación y mercados: radar para el descubrimiento de aplicaciones y mapeo de dependencia (ADDM)" . Business Wire. 19 de mayo de 2011.
- ^ "Big Data y análisis avanzado: historias de éxito desde el frente" . Forbes . 3 de diciembre de 2012.