Solucionar problemas de performance y obtener el control total del rendimiento:
Los departamentos de negocio consumen millones de horas anualmente en desarrollar funcionalidades que generarán nuevo negocio entre sus clientes digitales.
Las nuevas metodologías DevOps y el Appilcation Performance Management llegan a un mundo en el que las aplicaciones son el mayor activo de las empresas. Después de la transformación digital se ha instalado la “Vida digital” un concepto que hace que las grandes empresas tengan que considerar la relación con sus clientes y su red basada en las infraestructuras IT y en sus aplicaciones. Esto conforma un panorama que provoca picos históricos tanto en el online transaccional cómo en el procesamiento de datos en batch.
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.
El principal foco de los equipos de desarrollo
El dinamismo con el que se mueve el mundo ha creado marcos de trabajo colaborativo DevOps y hace que los equipos de desarrollo se hayan sumado a las metodologías agile como el scrum para el desarrollo de proyectos de forma rápida y flexible, es decir el proyecto se trocea en pequeñas partes que tienen que completarse en un pequeño espacio de tiempo. La velocidad a la que se desarrollan las nuevas aplicaciones deja tiempo para poder realizar las pruebas necesarias de solidez funcional, atender a las buenas prácticas de las herramientas de calidad del código y algún tipo de prueba de estrés, pero no se puede realizar una prueba del rendimiento de las nuevas versiones en producción, donde se encuentran las máquinas y usuarios reales.
Automatizar el rendimiento en producción
Las compañías invierten millones de horas de forma anual en desarrollar nuevas funcionalidades. El método que se está imponiendo es desarrollar un marco de rendimiento de la entidad, este marco tiene que identificar unos umbrales de uso de la infraestructura que no deben ser sobrepasados, tanto de CPU como de tiempo de respuesta o tiempo de procesamiento.
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.