Modernización de Aplicaciones Legacy

Modernización de aplicaciones heredadas

El concepto de «Modernización de aplicaciones», en alguna de sus posibles definiciones, está íntimamente relacionado con el de «migración», esto es, tomar software que está operativo y cambiarlo de plataforma.

Por otra partte, es importante señalar que, la práctica del desarrollo de software ha evolucionado no solo a niveles conceptuales o metodológicos sino también en áreas totalmente pragmáticas como son, por ejemplo, la mejora de la experiencia de usuario, que mejora la retención y satisfacción del cliente.

En consecuencia, de alguna forma, la meta final en la modernización de aplicaciones es poner toda la innovación de la nueva práctica del desarrollo de software y la potencia de la plataforma tecnológica de destino al servicio de las aplicaciones heredadas.

En ultima instancia, la idea es prolongar la vida útil del software, junto con todo el conocimiento que se volcó en el desarrollo de la aplicación, aprovechando la óptica de las innovaciones técnicas y plataformas más actuales.

¿Por qué necesitamos modernizar las aplicaciones legacy?

Partiendo de la base que es innegable que las organizaciones han realizado una gran inversión en software e infraestructura informática. Este hecho no puede ser ignorado y debe encontrarse alguna forma de protegerlo.

Entonces, la ctualización de las aplicaciones legadas, aprovechando herramientas, infraestructura y lenguajes actuales es una de las formas de preservar esa inversión.

Una estrategia adecuada de modernización de aplicaciones reducirá los costos, optimizando los recursos necesarios y aumentando la fiabilidad de las instalación.

Es evidente que las empresas no pueden dejar de incluir estrategias de modernización de aplicaciones dentro de su estrategia global en su gestión de IT.

Los por qué se irán acumulando y muchos tienen respuestas subjetivas, pero si tuviéramos que nombrar un motivo objetivo, uno que se pueda medir, por ejemplo, no podemos dejar de señalar al consumo 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.

Pero, en definitiva, al abordar este desafío, los obstáculos son: la necesidad de equilibrar la innovación con la estabilidad, y la urgencia de adoptar tecnologías emergentes sin interrumpir las operaciones comerciales.

El ejemplo: 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?

Profundicemos en este concepto.

Una hoja de ruta: vamos por partes.

Al considerar y preparar la migración de aplicaciones, es posible comenzar a ahorrar en el consumo de MIPS mediante estrategias de bajo impacto y sin riesgo.

Un tip: 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.

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

Dentro de la modernización de aplicaciones aparece la posibilidad de una “migración de parcial de procesos”. 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 Express, mientras que la reescritura se realiza con la herramienta Caravel Converter.

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.

Estrategias de modernización de aplicaciones legacy

Como sostenemos a menudo en este blog, el punto de partida es un análisis en profundidad del software candidato.

La evaluación e inventario de las aplicaciones legacy deberá incluir no solo sus características técnicas, sino también el ROI de aplicar la modernización en sí misma.

Es importante no perder de vista una perspectiva global del proceso, ya que nos permitirá detectar interoperabilidades entre distintos departamentos.

Además, determinar si el proceso podrá aplicarse en una sola etapa o si deberá seguirse una determinada gradualidad en la modernización, es vital para no fallar estrepitosamente.

En el caso de una aproximación gradual, por ejemplo, deberá estudiarse cómo afecta al rendimiento global del sistema el desacople módulo a módulo. Esto nos permitirá adoptar medidas correctivas a tiempo y a gestionar de forma adecuada los recursos y la disponibilidad de servicios.

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

  • Analizar el sistema Mainframe.
  • Identificar subsistemas o procesos aislables.
  • La herramienta de análisis Caravel Insight para iSeries o Z/OS ayuda a detectar subsistemas aislables.
  • Verificar 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.
  • Convertir los subsistemas seleccionados a Java.
  • La conversión a Java, se puede lograr mediante Caravel Converter o Caravel Express.
  • Implementar en una plataforma abierta.
  • 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.

Las ventajas se manifiestan como obvias ya que 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.

Tecnologías fundamentales en la modernización de aplicaciones

Hasta aquí abordamos de forma somera el tema de modernizar aplicaciones heredadas para aprovechar la ventaja que nos provee el ahorro de MIPS, pero es importante destacar que cada instalación tiene sus propios porqués, cada equipo de trabajo tiene sus motivos particulares para comenzar un proceso de modernización de aplicaciones.

Por eso hay que investigar que es lo que se ofrece en el mercado. ¿Cuál es la mejor solución para mi instalación? es la pregunta válida por excelencia.

En Base100 ayudamos de forma sinérgica a dar una respuesta satisfactoria a esa pregunta.

Volviendo a los ejemplos, el menú donde seleccionar sobre qué tecnología apoyaremos la modernización de aplicaciones es variado. Podemos citar:

  • Computación en la nube: Es el destino estrella. Es el objetivo al que se refieren mayoritariamente los procesos de modernización de aplicaciones. Existen las nubes públicas, las privadas y las nubes híbridas (normalmente entornos locales interaccionando con nubes públicas o privadas o ambas).
  • Contenedores: Se denomina de esta forma al método por el cual empaquetar, desplegar y operar aplicaciones y cargas de trabajo en la nube. Esta tecnología favorece la escalabilidad y la portabilidad, potenciando la eficiencia operativa de la computación en la nube.
  • Microservicios: Más que una tecnología en sí misma, es una disposición de la arquitectura de la aplicación. En vez de operar el software de forma monolítica, se elige desacoplarlo en componentes más pequeños, favoreciendo despliegues, actualizaciones e interoperaciones.
  • Automatización y orquestación: La orquestación hace referencia a la interoperabilidad de los contendores en red y, además, a los despliegues y al escalado del software. La automatización es el principio por el cual intentamos que las tareas de orquestación no dependan de procesos de actualización supervisados. Es el reconocimiento de que cada vez es más necesario garantizar la independencia, seguridad y sostenibilidad de equipos de desarrollos ágiles y escalables.

¿Es la modernización de las aplicaciones solo una moda?

Las empresas invierten ingentes cantidades de recursos en sus aplicaciones de misión crítica. Por eso hay que desterrar la connotación negativa que acarrea a veces el término «aplicación legacy». La modernización de aplicaciones, lejos de ser una moda, es una forma de garantizar y preservar la inversión realizada en la cartera de aplicaciones existentes en una compañía.

La solución de retirar el software legado sin más y comenzar con un nuevo desarrollo desde cero, no suele ser un camino viable para la mayoría de las empresas. Es normal que los análisis de costes y pérdidas de productividad revelan riesgos no asumibles en la mayoría de los casos..

La modernización de aplicaciones es la forma más adecuada para la mayoría de las empresas de abordar el tema de migrar a nuevas tecnologías y aprovechar novedosas herramientas, arquitecturas y/o frameworks.

Hacia dónde va la modernización de aplicaciones legacy

Es evidente que la tendencia actual es la utilización de más de un servicio en la nube pública apuntando, principalmente, a una optimización de costes, flexibilidad y disponibilidad continua.

Los nuevos paradigmas informáticos de distribución y escalabilidad pueden ser abordados más fácilmente desde aplicaciones modernas, que desde las aplicaciones legacy, monolíticas y centralizadas.

La tendencia también nos refiere a la elección estratégica de contenedores y a la automatización de la orquestación como pasos para aliviar y optimizar cargas de trabajo.

Los esfuerzos en contenización de las aplicaciones legacy es donde más están invirtiendo las empresas, escalando al máximo las arquitecturas de microservicios.

Base100

Ofrecemos 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!

Contáctenos

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. Los campos obligatorios están marcados con *