Tecnología APM – Monitoreo del rendimiento de aplicaciones.
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.
Las nuevas metodologías DevOps y el Appilcation Performance Management llegan en un momento en el que las aplicaciones suponen el mayor activo de las empresas. Tras el concepto de transformación digital, se ha instaurado el de ‘vida digital‘ y ello conlleva una serie de competencias:
Atender a los clientes digitales.
Los equipos de negocio de las compañías idean nuevas funcionalidades para ofrecer a su red y clientes, estas versiones generan nuevos datos que ayudan a mejorar su relación con ellos. Estas nuevas funcionalidades se traducen en nuevas aplicaciones o nuevas versiones de las aplicaciones existentes.
Automatizar el rendimiento en producción
El marco de rendimiento, además de velar por el funcionamiento eficiente de nuestras aplicaciones hará que ahorremos muchísimo dinero de forma anual, no sólo por el ahorro que supone no implantar un sistema para controlar uno por uno las nuevas versiones, también por que se calcula que el aumento del consumo de las nuevas versiones que podría ser evitado, puede suponer un incremento del uso de recursos entorno al 15% anual.
Algoritmia de vigilancia y detección de TOPS
En la práctica este marco de rendimiento se basa en la vigilancia intensiva de las nuevas subidas a producción por parte de algoritmos, parametrizados según los umbrales del marco de rendimiento de la entidad. Esta algoritmia vertical tiene como base medir cada uno de los cambios de versión de las aplicaciones y relacionarla con el objetivo de negocio de la entidad con las infraestructuras: Consumo de CPU, elapsed o tiempo de respuesta. Este sistema genera tops con los elementos que sobrepasan los umbrales aceptables y los convierte en iniciativas de rendimiento para su revisión.
De esta forma automatizamos el proceso de vigilancia de los nuevos desarrollos, poniendo foco en los casos que realmente impactan en la relación con los usuarios digitales o con el plan de capacidad.
Algoritmia para la resolución de incidencias
Los algoritmos verticales detectan umbrales y los horizontales utilizan las bases de datos que aglutinan los casos de uso de rendimiento para ofrecer una modificación en el código de la aplicación, que no afecta a la funcionalidad, en base al aprendizaje generado a través de miles de mejoras realizadas en las aplicaciones. Estos algoritmos alineados con el objetivo de negocio son los que planifican una nueva versión, esta vez optimizada para consumir menos recursos del sistema.
Dentro de este proceso toman especial relevancia los analistas de rendimiento, un perfil muy escaso y especializado en revisar constantemente que relación de código, base de datos y reingeniería de los procesos es más optima según la configuración de la instalación y las diferentes arquitecturas que la soportan. Es la automatización más el ‘expertise’ de los Analistas lo que posibilitan una reducción media del 40% del consumo de los procesos. Los cambios suelen ser de pocas líneas de código de forma que los equipos de desarrollo invierten pocas horas en las modificaciones.
Cálculo de las ganancias
Por los mismos criterios que se dio de alta la iniciativa de rendimiento, por parte de los algoritmos de detección se monitoriza una vez implantada en producción. Se toman métricas de esta nueva versión y se comparan con la versión anterior. De esta manera se obtiene el ahorro de cada una de las acciones.
Este sistema nos ofrece una inversión rápidamente amortizable que genera un ROI rápido, además de que la mejora del código con el objetivo de reducir consumo no precisa de licencias adicionales, la ganancia es recurrente y mantenida durante todo el tiempo de vida de la aplicación.