Reducción de MIPS en los Mainframes

Reducción de MIPS

La reducción de MIPS aparece en la mira de los gerentes de TI cuando el consumo entra en una espiral en la que los altos costos y las particularidades de los mecanismos de contratación empujan a buscar alternativas.

Es importante no perder de vista que la sustitución de un Mainframe significa un cambio profundo en la organización y en toda la cultura de TI de la misma.

Es un proyecto a medio plazo, que debe planificarse y abordarse con el máximo cuidado.

Gestión de MIPS 

Sabemos que si nos permitimos llegar a consumos de CPU muy elevados, hacemos que se precipiten las decisiones difíciles en las que hay que comenzar a evaluar actualizaciones de hardware,  ya sea porque los tiempos de respuesta comienzan a convertirse en inaceptables o porque el agotamiento de recursos produce errores de procesamiento y nos acorralan las terminaciones anormales de las aplicaciones.

Llega un momento en el que parece que estamos permanentemente apagando incendios cada vez más voraces y se nos hace difícil vislumbrar escenarios de calma.

En resumen, sea cual sea la causa, es imprescindible implementar una buena política de gestión de MIPS.

En esta instancia, una parte importante del departamento de informática de la organización comienza a analizar el consumo de MIPS. 

Es la primera línea de profilaxis. La idea es dejar de ser reactivos, dejar de apagar incendios, para comenzar a prevenirlos.

Nuestra política de gestión de MIPS nos señalará algunos ítems a controlar, según Tony Shediak en Performance tuning mainframe applications «It’s no so hard» durante una conferencia del 2007, los problemas más comunes a gestionar son:

  • uso ineficiente de los tipos de datos del lenguaje de programación
  • conversiones de datos causadas por mezclar tipos de datos innecesariamente
  • compilaciones ineficientes
  • buffers VSAM o QSAM inadecuados
  • Sentencias SQL ineficientes
  • etc.

El caso es que llegará un punto en el que cualquier política de gestión de MIPS se enfrenta al muro del dinero. 

¿Qué pasa cuando la política que hemos adoptado nos señala que el próximo escalón de costos de la actualización ya no es viable?

¿Qué pasa cuando una política de administración ya no es suficiente?

Vamos por partes

Al considerar y preparar el reemplazo progresivo de Mainframe, es posible comenzar a ahorrar en el consumo de MIPS mediante estrategias de bajo impacto y sin riesgo. 

Mirando dentro del Mainframe, en los procesos por lotes, hay muchas oportunidades para esto.

La idea general es simple:

  • mover los procesos que se realizan actualmente en el Mainframe, a un sistema externo y después
  • restaurar los datos procesados ​​nuevamente en el Mainframe. 

El concepto se puede describir como «conectar un dispositivo de procesamiento externo» al sistema Mainframe.

La forma más eficaz es convertir los procesos de Mainframe a Java y, por lo tanto, tener la libertad de ejecutarlos en cualquier lugar.

La tecnología Caravel de BASE100 ofrece una suite completa para la conversión de Mainframe a Java, que incluye herramientas especializadas para estos enfoques de “bajo impacto”, que abarcan desde el análisis y descubrimiento, hasta la conversión y la fase de prueba.

La metodología propuesta por Caravel provee una herramienta de certificación específica que garantizará que, el proceso Mainframe y el proceso en el sistema externo, produzcan exactamente los mismos resultados.

Mainframe, ¿Cómo funciona?

Mainframe es el campeón absoluto en la carrera de ejecución de transacciones. Además, los sistemas basados ​​en Mainframe están diseñados para utilizar esta capacidad con una ejecución intensiva de grandes cantidades de transacciones. 

Se sabe que después de muchos años de actividad, los mainframes aún procesan un porcentaje elevado del total de transacciones mundiales. Pero incluso aceptando que el Mainframe es muy efectivo, la contraparte es que todas estas tareas aumentan el consumo de MIPS y las facturas son cada vez más abultadas. 

Por otro lado, esta situación se está volviendo menos aceptable en un mundo donde las nuevas tecnologías de TI están ganando cada vez más poder y reduciendo los costos.

Procesos de mainframe por lotes

El procesamiento por lotes

Los sistemas Mainframe han separado claramente las aplicaciones en tiempo real de las aplicaciones por lotes. Y, definitivamente, es en el modo batch donde Mainframe da lo mejor de sí. 

Las aplicaciones por lotes son secuencias de procesos controladas por un procedimiento escrito en lenguaje JCL. 

Una vez iniciado, el procedimiento se ejecutará hasta su finalización. Por lo general, se ejecutan varios procedimientos encadenados, uno tras otro.

Esta actividad de procesamiento consume una cantidad elevada de MIPS y una de las ventajas de esta separación en procedimientos independientes es que facilita que podamos medir con precisión el consumo de cada uno de ellos.

Migración de parcial de procesos 

La “migración de parcial de procesos” es una estrategia simple que reducirá drásticamente el consumo de MIPS, al tiempo que tendrá un impacto insignificante en la organización de TI.

Según casos reales, se puede lograr una reducción de hasta el 50% del consumo de MIPS en poco tiempo, mediante acciones bien controladas y limitadas.

El punto clave es abordar procesos que estén bien definidos y, por lo tanto, puedan aislarse del resto del sistema.

Dependiendo de la arquitectura, estos procesos se pueden encontrar en diferentes partes del sistema. En una fase de análisis que utiliza la tecnología Caravel , lo que facilita la identificación de los componentes de subsistemas aislables.

Una vez identificados, se continúa con un análisis en profundidad para verificar las interfaces (si las hay) con el resto de sistemas (interfaces con datos o con otros procesos), sus características y cómo tratarlas.

Por lo general, existe un grupo bien identificado de subsistemas que tienen estas características entre las aplicaciones por lotes. Procedimientos que incluyen transacciones que se ejecutan durante las horas de baja actividad, generalmente de forma desatendida.

En la mayoría de los casos, estos procesos solo interactúan con el resto del sistema a través de los datos.

Ahorro de MIPS

Una vez identificado debe procederse a la extracción de la carga de trabajo del Mainframe.

Todos estos procesos ofrecen una oportunidad para salvar MIPS debido a que se pueden convertir a Java e implementar en un servidor externo («el dispositivo de procesamiento») sin interferir con el resto de subsistemas.

La conversión a Java se puede lograr de forma precisa y eficaz mediante la tecnología Caravel.

Caravel de BASE100 ofrece dos opciones independientes o en uso conjunto:

  • Conversión automática y/o
  • Reescritura.

La conversión automática es un proceso rápido y de bajo riesgo, que se realiza mediante la herramienta Caravel Converter, mientras que la reescritura se realiza con la herramienta Caravel Express.

La reescritura tiene la ventaja de producir un código Java 100% puro bien estructurado y la capacidad de incluir varias mejoras.

Procesos Java por lotes

Todos los procesos involucrados en la transformación de la base de datos (de la situación de inicio a la final) se pueden realizar en esta plataforma externa, sin modificar el contenido del Mainframe ni pagar el consumo de MIPS.

Una vez desplegados los procesos en la plataforma externa, el mecanismo es simple: copiamos la base de datos Mainframe en una determinada situación (digamos A) al servidor externo.

Luego, los procesos se ejecutan en el servidor externo transformando los datos de la situación A a la Z y, por último, la base de datos externa se copia nuevamente al Mainframe.

El resultado en la base de datos Mainframe es el mismo que obtendríamos usando la CPU Mainframe para realizar estos procesos. Pero sin ningún consumo de Mainframe MIPS.

Las ventajas

Esta estrategia ofrece varias ventajas:

La reducción de MIPS

  • Como señalamos antes, porque los procesos se ejecutan en un servidor externo.

Intervención poco invasiva

  • La estructura general no se modifica. No se debe modificar nada en el Mainframe.
  • De hecho, todos los demás procesos continúan ejecutándose de la misma manera.
  • Muchos puntos de verificación garantizan una conversión exacta y una ejecución precisa.
  • La fase de prueba y verificación se puede realizar comparando conjuntos de datos en diferentes etapas.
  • El tamaño y el escenario se pueden establecer según las necesidades de la prueba.

Fácilmente extensible y escalable

  • Una vez extraída una aplicación por lotes, un mecanismo similar permite extraer otras adicionales, siguiendo una forma similar.

Probando el sistema convertido

La prueba completa de la conversión con este enfoque es fácil.

Los resultados de las sucesivas etapas del proceso se van comparando en diversos puntos de control.

Ambos sistemas, mainframe y convertido, se ejecutan en paralelo, leyendo y comparando en cada etapa, la situación de la base de datos en ambas plataformas.

Después de una serie de comparaciones exitosas, se puede garantizar el comportamiento funcional exacto, entre original y convertido.

El número y el nivel de comparaciones se pueden aumentar o disminuir a lo largo de la fase de prueba, lo que permite elegir la precisión de ajuste al detalle que se desee.

Considerando el desempeño

La extracción de procesos para su implementación en un sistema Java externo requiere una consideración previa sobre el rendimiento.

En muchos casos, estos procesos tienen un tiempo limitado para ejecutarse completamente en el Mainframe. Entonces la nueva plataforma debe cumplir con la misma exigencia.

En un primer enfoque, pasar de un lenguaje compilado como COBOL a uno interpretado, como Java, parece un paso atrás que podría erosionar la velocidad de ejecución. Utilizar una plataforma abierta, en principio menos potente que el Mainframe, también puede ser motivo de ansiedad.

Plataformas abiertas, una mirada más profunda

Las plataformas abiertas ahora ofrecen una relación costo-potencia mejorada. 

Los sistemas pequeños y económicos pueden beneficiarse de las CPU de varios núcleos y subprocesos con arquitecturas sofisticadas de memoria caché L1, L2 y L3, grandes cantidades de memoria rápida y los discos más eficientes. Y todas estas características empaquetadas a precios más bajos. 

Además, podemos usar diferentes técnicas para beneficiarnos de estas potentes funciones de hardware.

Una primera técnica para acelerar la ejecución es el uso masivo de mecanismos de caché. Todo lo que se pueda guardar en una caché, evitando el acceso al disco, debe hacerse. Las plataformas abiertas ofrecen una gran cantidad de memoria rápida.

Las arquitecturas abiertas también pueden ser una gran ventaja para ganar velocidad, utilizando técnicas de programación adecuadas. 

La capacidad de ejecutar varios procesos simultáneos muestra un camino hacia la paralelización efectiva de los sistemas convertidos. 

Java ofrece un conjunto completo de características para controlar múltiples subprocesos de manera eficiente.

Los procesos por lotes que generalmente incluyen muchos procesos iterativos se pueden paralelizar. Considere dividir un proceso en varios subprocesos (digamos que una iteración de 1.000 pasos se puede reorganizar como 10 iteraciones de 100 pasos cada una). Cada pequeño subproceso se ejecuta luego en una amenaza separada (en una CPU diferente) multiplicando el rendimiento total de la plataforma.

La descripción general del proceso

En un acotado resumen, podríamos identificar los siguientes puntos:

  • Analizar el sistema Mainframe.
  • Identificar subsistemas o procesos aislables.
  • La herramienta de análisis Caravel Discovery ayuda a detectar subsistemas aislables.
  • Verifique el tipo y número de interfaces.
  • Una vez identificados, los subsistemas aislables deben analizarse para localizar y describir cada interfaz y su impacto con el resto del sistema.
  • Convierta los subsistemas seleccionados a Java.
  • La conversión a Java, se puede lograr mediante Caravel Converter o Caravel Express.
  • Implementar en una plataforma abierta, externa al Mainframe.
  • Clases Java 100% puras, implementables en cualquier plataforma estándar con Tomcat o JBoss.
  • Completa una fase de prueba y verificación.
  • Implementar en producción.

El proceso

En lo que respecta al proceso propiamente dicho, podríamos destacar los siguientes ítems.

  • Copie la base de datos de Mainframe en la base de datos de plataforma abierta.
  • Esto se puede realizar mediante un proceso directo de Java o utilizando cualquier herramienta.
  • Ejecuta todos los procesos en la plataforma abierta.
  • Ejecutar procedimientos de verificación.
  • Finalmente, la base de datos externa se copia de nuevo al Mainframe.

Conclusión

La conversión por lotes es una de las formas más seguras de implementar una reducción de MIPS efectiva. 

Esto significa un ahorro efectivo de costos y hacer pie en un mundo que abre nuevas posibilidades de desarrollo y prestaciones.

El uso bien planificado y coordinado de distintas plataformas ofrece una sinergia que desvela muchas virtudes antes ocultas para los usuarios de Mainframe.

Nosotros

Base100 ofrece un determinado conjunto de herramientas y productos con el objeto de que cualquier proceso de implementar soluciones mixtas de modernización de Mainframe y hardware midrange propietario con una garantía de éxito indiscutible.

¿Le interesa la propuesta?

Sigamos avanzando ¡hablemos de modernización de IBM Z!

Contáctenos

o si quiere profundizar, no dude en leer más información sobre modernización de aplicaciones.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.