IA generativa y modernización de mainframes y sistemas heredados

mainframe IBM

julio 05, 2024

Por Gerhardt Scriven, Anil Kumar Mallanna y Sanjay Rao

En una época en la que los mainframes siguen siendo la columna vertebral de muchas empresas globales, los retos de mantener, optimizar y modernizar sistemas heredados obsoletos se han convertido en una prioridad. Estos sistemas, a menudo lastrados por deficiencias técnicas derivadas de años de parches, no solo son caros de mantener, sino que además dificultan la agilidad empresarial.

El panorama se complica aún más por la inminente jubilación de una parte importante de la mano de obra cualificada que posee los conocimientos necesarios para mantener estos sistemas, así como por la documentación técnica, a menudo inadecuada, que hace que la transferencia de conocimientos sea cara e ineficaz.

Por tanto, la demanda de modernización de mainframes está creciendo, impulsada por la necesidad de aplicaciones simplificadas que aumenten la agilidad y mitiguen los riesgos de continuidad. Sin embargo, estos proyectos son notoriamente complejos, con una tasa de fracaso del 74% entre las organizaciones que los acometen. Afortunadamente, los recientes avances tecnológicos, las asociaciones con proveedores de servicios en la nube, el uso de entornos de nube híbrida, así como las estrategias de modernización incremental, ofrecen caminos más viables y menos arriesgados para la modernización.

A pesar de ello, la modernización de COBOL sigue planteando importantes retos. Décadas de lógica empresarial codificada en este lenguaje dificultan su extracción, documentación y traducción a lenguajes más modernos. La conversión automatizada del código suele producir Java correctamente, pero sigue habiendo dificultades para mantenerlo y ampliarlo, lo que obstaculiza el uso de prácticas de programación modernas. Además, las herramientas tradicionales de talla única no tienen plenamente en cuenta los matices de los distintos sistemas heredados, lo que exige un gran esfuerzo manual de depuración, pruebas y reestructuración.

Merece la pena destacar que cada vez se reconoce más el potencial de la IA para abordar estos retos, ofreciendo soluciones prometedoras para la conversión automatizada de código, la retrodocumentación y los procesos de prueba en la modernización de mainframes.

¿Pueden la Inteligencia Artificial y la IA Generativa hacer frente a los retos?

La IA Generativa (GenAI) representa un salto más allá de la tecnología mainframe tradicional y las aplicaciones de IA. No solo está transformando la resolución de problemas empresariales con un nuevo contenido similar al humano, sino que en realidad está acelerando la modernización del mainframe. La profunda comprensión de GenAI de la semántica del código heredado, así como la interpretación heurística de las normas de ingeniería corporativas, permiten una captura más eficaz de la lógica y la intención empresariales, posibilitando una transformación precisa del código y la encapsulación del conocimiento.

Varias empresas de consultoría, servicios informáticos y proveedores de servicios en la nube están explorando aplicaciones de IA para refactorizar código, generar visuales para desmitificar sistemas complejos y mejorar la migración de datos. Estas innovaciones pretenden salvar la distancia entre los sistemas heredados y las tecnologías modernas, aunque muchas aún están en fase de desarrollo.

En el centro de esta visión se encuentra la sinergia de la gestión del conocimiento (uno de los riesgos críticos más importantes para el negocio y la continuidad de las empresas de los sectores más diversos), la optimización del código COBOL existente y la transformación de las aplicaciones heredadas en sistemas modernos y sostenibles.

Esto no quiere decir que aboguemos por abandonar el mainframe utilizando GenAI: en cambio, al aprovechar GenAI para un proceso de modernización más sistemático y controlado, simplificamos los sistemas en términos de flexibilidad, rendimiento y capacidad de mantenimiento.

Los aceleradores son capaces de crear réplicas virtuales de aplicaciones heredadas analizando millones de líneas de código heredado. Alimentar las extracciones de GenAI a partir de estas réplicas virtuales permite acelerar los resultados de la modernización en la gestión del conocimiento y la optimización del código, la modernización y las pruebas de aplicaciones, y el mantenimiento y soporte de aplicaciones.

No se trata de promover un LLM (Large Language Model) sobre otro. Los modelos generativos de IA se están sofisticando a un ritmo sin precedentes, y muchos de los modelos propietarios y de código abierto funcionan excepcionalmente bien para fines de modernización del mainframe. He aquí algunos ejemplos.

1. Gestión del conocimiento y optimización del código

  • Para el contenido estático, se recomienda desarrollar portales de conocimiento específicos para cada dominio que se adapten a los distintos tipos de usuarios y escenarios de uso. Esto elimina una tonelada de engorrosos informes técnicos que suelen crear las herramientas actuales del mercado, y que a menudo no se utilizan en absoluto.
  • Además, las funciones de chatbot “Ask AI Anything” permiten a los usuarios extraer respuestas perspicaces y significativas de GenAI para consultas técnicas complejas, incluida la lógica empresarial y la extracción de reglas empresariales, el copiloto para COBOL o las recomendaciones inteligentes de refactorización de sistemas para simplificar y optimizar el código heredado existente.
  • Las funciones de análisis del código también pueden utilizarse para realizar análisis semánticos profundos con el fin de descubrir vulnerabilidades de seguridad, patrones o cuellos de botella de rendimiento en el código fuente. A diferencia de las herramientas tradicionales, GenAI puede entender el contexto del código, lo que le permite detectar mejor las vulnerabilidades complejas y sugerir soluciones más matizadas.

2. Modernización y pruebas de aplicaciones

  • Los recursos de gestión del conocimiento son ideales para realizar ingeniería inversa del código fuente heredado en busca de historias de usuario y criterios de aceptación, y luego crear casos de pruebas funcionales basados en estos criterios. Esto, junto con un conocimiento detallado de cómo existen los datos en el sistema heredado, permite crear datos sintéticos.
  • Las técnicas clásicas de aprendizaje automático (Machine Learning, ML) deben utilizarse para diseñar servicios sostenibles y aislados que mejoren el rendimiento del sistema objetivo y reduzcan los costes, además de garantizar que el sistema modernizado sea robusto y sostenible.
  • Además, aprovechar las ventajas de GenAI garantiza que el código final cumpla totalmente con los estándares de calidad y seguridad de la ingeniería corporativa, automatizando la creación de la documentación del sistema de destino así como las Pruebas Unitarias.

3. Mantenimiento y soporte de aplicaciones

  • No olvide la Gestión de Incidentes: GenAI también puede utilizarse para el Análisis de Causa Raíz, identificando problemas subyacentes en el código fuente y sugiriendo a continuación soluciones basadas en la resolución de incidentes pasados o generando nuevas soluciones a través de la comprensión contextual de la base de código de la aplicación de IA. Como extensión, puede actualizar automáticamente la base de conocimientos documentando dichos incidentes y el correspondiente Análisis de Causa Raíz y Resolución.
  • El escaneado de códigos también puede convertirse en modo predictivo basándose en las tendencias y anomalías encontradas en el código escaneado y comparándolo con el análisis de la causa raíz de incidentes anteriores. Estas oportunidades de gestión de incidentes se pueden documentar automáticamente en la herramienta elegida, registrando, rastreando y auditando automáticamente sin ninguna intervención manual, mientras que las aprobaciones del flujo de trabajo se dirigen a la autoridad responsable.
  • También puede aprovechar GenAI para mejorar la productividad de los desarrolladores en las tareas de desarrollo y mantenimiento de aplicaciones mediante la identificación de oportunidades para mejorar los problemas existentes en el código fuente o incluso las mejores prácticas de codificación, lo que facilita el mantenimiento. Por ejemplo, un gran alcance del análisis de patrones específicos en la base de código de la aplicación y la aplicación de correcciones para patrones similares es un buen ejemplo de POC para un caso de uso del cliente.

A un nivel más amplio, la implantación de GenAI permite gestionar dependencias complejas en sistemas heredados, garantizando que las actualizaciones o migraciones no interrumpan la funcionalidad y, al mismo tiempo, reduciendo los problemas de integración en el proceso. Además, las actualizaciones dinámicas de conocimientos garantizan que la documentación del sistema se mantenga al día con el código de producción.

A medida que abrazamos una nueva era de optimización y modernización del mainframe mejorada por GenAI, es hora de ir más allá de las formas obsoletas de trabajar para prosperar en un panorama digital moderno. Necesita transformar los sistemas heredados e impulsar su empresa a la vanguardia de la agilidad y la innovación.

Sobre los autores

Anil Kumar Mallanna – Socio director, Servicios de plataforma y modernización de aplicaciones heredadas (LAMPS) Servicios en la nube FullStride de Wipro

Anil aporta más de 25 años de experiencia en TI con amplios conocimientos de aplicaciones empresariales y experiencia en el diseño y la implantación de aplicaciones de misión crítica. Es responsable de la carta de modernización del legado de Wipro en América y ha dirigido con éxito organizaciones de ventas, preventa, consultoría y entrega de TI al servicio de líderes mundiales en grandes industrias de servicios financieros.

Sanjay Rao – Director de Legacy Application Modernization and Platform Services (LAMPS) Wipro FullStride Cloud Services

Sanjay es consultor de modernización de sistemas heredados y arquitecto de la nube con 25 años de experiencia en la simplificación, el aumento, la migración y la modernización de aplicaciones de mainframe. Dirige las actividades de preventa, consultoría y entrega de Wipro Americas 1, que incluye los sectores de sanidad, ciencias de la vida, comunicaciones, comercio minorista y Brasil.

Gerhardt Scriven – Director Ejecutivo, CAPCO

Gerhardt Scriven cuenta con más de 20 años de experiencia en TI, con especial atención a la eliminación de riesgos y la resolución de problemas complejos en la ejecución de proyectos de misión crítica, en particular mediante la detección y mitigación tempranas de los riesgos. Está especializado en la optimización y modernización de aplicaciones heredadas.