Empezaremos por explicar lo que no es un APM. Un APM no es software de monitorización como intentan vender muchos proveedores, para esto ya existen otras herramientas específicas como Nagios o Icinga2.
¿Qué es un APM?
Un APM (Application Performance Management) es un software que nos permite descubrir aplicaciones, mostrar la experiencia de usuario, trazar y diagnosticar problemas a nivel de aplicación. Es una herramienta esencial para ayudar a los equipos tanto de desarrollo como de sistemas a optimizar y monitorizar el rendimiento de una aplicación.
¿Qué valores mide un APM?
Los APM recogen y cuantifican cientos de valores para luego poder medir el rendimiento de una aplicación. Los más básicos pueden ser valores como la CPU, RAM, escrituras/lecturas disco o algunos mas complejos como los siguientes:
- Errores de aplicación: los APM tienen capacidad de filtrar los errores de aplicación y de mostrar cuando y cuantas veces han ocurrido
- Tiempos de respuesta de aplicación
- Trazas lentas: en función de la configuración especificada al APM podemos ver las peticiones lentas y trazarlas internamente
- Queries de Base de Datos: tiempos medios y por query de ejecución en BBDD, lo que nos permite saber si tenemos queries que pueden estar impactando en la aplicación y que son mejorables.
- Tiempos de respuesta de las llamadas externas: tiempos de respuesta en llamadas a proveedores externos como pasarelas de pago, webservice, etc.
- Experiencia de usuario: los APM mas completos permiten trazar la experiencia de usuario en la página web
¿Qué problemas podemos identificar rápidamente con un APM?
- Queries de BBDD o transacciones externas lentas
- Mediante el profiling podemos ver si nuestra aplicación Java tiene problemas de Garbage Collection o se está quedando sin memoria en alguna de las zonas de la JVM
- Identificar transacciones individuales que no han sido exitosas pudiendo ver en que parte de la transacción se ha quedado el usuario
- Monitorizar las métricas básicas como CPU, memoria, red, etc.
- Identificar los errores de aplicación con el control propio de errores que lleva el APM
- Identificar a través de KPIs las posibles regresiones que ha tenido una aplicación a nivel de rendimiento
¿Necesito un APM?
Si eres un desarrollador deberías utilizarlo en todos tus desarrollos, tendrás que tener en cuenta que dependiendo de la tecnología tendrás que usar un software de APM u otro ya que algunos no cubren todo el rango. Si das soporte a una aplicación o a los componentes de la infraestructura de esta entonces el APM es una herramienta muy valiosa.
En Hiberus Sistemas podemos ofrecerte la solución de APM que mas se adecue a las necesidades de tu empresa, desde nuestro propio servicio cloud APM hasta la implantación de las principales marcas del mercado: App Dynamics, New Relic, WatchDog…
¿Quieres más información sobre nuestros servicios de monitorización?
Contacta con nuestro equipo de Sistemas