¿Por qué necesito un software APM en mi mainframe?

Por junio 27, 2018

Con la aparición de conceptos innovadores, presión por cada vez más rapidez y mayor competencia, las empresas están presionadas a reducir el costo, por un lado, y mejorar los servicios, por el otro. Conceptos como Agile, Fábrica de Software Moderna y muchos otros aumentan la presión por el desarrollo cada vez más rápido de aplicaciones y soluciones.

Sumado a esto tenemos que una de las muchas características positivas del mainframe es que el legado está garantizado, es decir, si actualiza su sistema operativo, las aplicaciones, en su mayoría, no deberán modificarse ni adaptarse al nuevo sistema operativo, algo muy diferente a otros entornos en los que es común que las empresas adelanten la actualización de sus sistemas operativos por falta de recursos (financieros, personal o técnicos) para la actualización de las aplicaciones. Pero esta facilidad puede complicar a largo plazo. A lo largo de los años, los sistemas sufren modificaciones, las bases de datos crecen, entran nuevas funcionalidades, entre otros factores. Incluso con estas modificaciones, todos los programas que no presentan problemas se siguen ejecutando durante años e incluso durante décadas sin ninguna adaptación a la nueva realidad y esto nos conduce a varias preguntas: ¿Estos programas siguen siendo tan eficientes como cuando fueron escritos? ¿El I/O sigue siendo eficiente? ¿Existen posibilidades de mejoras en el código fuente?

Todo esto combinado conduce a una peligrosa situación en la que el desempeño de las aplicaciones puede terminar en un segundo plano si no contamos con una herramienta eficiente y que consuma pocos recursos. Esta situación puede presentar resultados catastróficos para la empresa y generar situaciones de emergencia e indisponibilidad de los sistemas.

Para ayudar a responder a estas preguntas y solucionar los problemas, un administrador de desempeño de aplicaciones (Application Performance Manager) es necesario y, si se lo utiliza correctamente, ayuda a reducir los costos de un data center, además de mejorar el ROI y el SLA.

¿Qué ventajas me proporciona un APM?
Las ventajas son: Reducción de costos, aumento de la eficiencia de las aplicaciones y ayuda para alcanzar/mantener el SLA.

Imaginemos que una transacción CICS se ejecuta 1.000.000 (un millón) de veces por día y que el tiempo de CPU que cada ejecución consume es de 0,01 (una centésima) segundos. Durante el día, esta transacción utilizará 10.000 (diez mil) segundos de CPU o 2:46:40 horas de CPU. Con el uso de un APM logramos optimizar este programa y reducir su tiempo de ejecución en un 5 %. Este programa pasará a utilizar 0,0095 (95 milésimas) segundos. De este modo, el programa pasará a utilizar 9500 (nueve mil quinientos) segundos o 2:38:20 horas de CPU. Un ahorro diario de 8:20 minutos de CPU. Esto para un solo programa.

¿Cuántos otros estarían en la misma situación? ¿10, 20, 30? Supongamos que solo sean otros 10 programas en una situación similar. ¡Esto significaría un ahorro diario de 83 minutos de CPU! ¿Cuánto sería este ahorro traducido en MIPS o MSUs? ¿Y cuánta holgura aportaría esta reducción a los niveles de servicio de la empresa?

Un ejemplo real de ganancia de eficiencia:

Una empresa tenía un programa batch escrito hace algunos años y el tiempo total de ejecución era de aproximadamente 14 horas con un tiempo de CPU de alrededor 40 minutos. Utilizando CA MAT se realizó un análisis en el programa y se constató que existía un gran porcentaje de I/O wait para un determinado archivo. Tras el análisis del archivo, también se constató que su definición estaba lejos de ser la ideal, ya que el archivo se había definido para un máximo de 10.000 (diez mil) registros y actualmente contaba con más de 100.000.000 (cien millones) de registros. Claro que con solo 10.000 registros no hubo preocupación en la optimización de la definición del archivo con el objetivo de reducir las EXCP. Se realizó una primera definición del archivo y se llevaron adelante algunas pruebas. El cliente constató que el tiempo de procesamiento bajó de 14:00 horas a entre 2:00 y 3:00 horas. Se realizó otro análisis, esta vez considerando no solo la definición del archivo, sino también el desempeño de los discos en los que este archivo estaba asignado y de este modo se llegó a una nueva definición y el tiempo total de ejecución se redujo a poco más de 1 hora.

¿El cliente podría haber llegado a los mismos resultados sin un software de APM? Por supuesto que sí, pero el proceso sería mucho más lento y trabajoso.

Con el uso de un software de APM el resultado práctico es que con el código fuente optimizado, waits reducidos y archivos definidos de una excelente manera, las empresas trabajan más, atienden mejor a sus clientes y, lo mejor de todo, con un costo más bajo.

CA está lista para ayudar a sus clientes con CA MAT, que realiza el monitoreo de aplicaciones identificando las líneas de código más usadas, I/O ejecutado para aplicación de Waits que sufre la aplicación, paginación, y diferentes parámetros y variables que afectan el desempeño de una aplicación.

Debido a la manera en que fue desarrollado CA MAT, todo este monitoreo se realiza con un costo muy bajo de recursos de la máquina. Podemos esperar un uso de recursos de alrededor el 2 % sobre el porcentaje de CPU que utiliza la aplicación que se está monitoreando. De este modo, si un programa que está siendo monitoreado usa el 10 % de CPU, CA MAT utilizará solo el 0,2 % de CPU para monitorear dicho programa.

Otros puntos por destacar de CA MAT es su interfaz gráfica que se incrementó y una macro Excel que permite el análisis de los monitoreos a través de Excel, con la consiguiente facilidad de generación de gráficos.

Espero poder conversar con usted sobre este y otros temas.

Escrito por Rogerio Salgado Rocha
Engineering Services Architect at CA Technologies
LinkedIn: @rogeriorocha