Modernización de Mainframe

Modernización de Mainframe

En general, hablamos de «modernización de mainframe» cuando encaramos la tarea de actualizar los sistemas de viejas plataformas tecnológicas, esto es, tomar una pieza de software todavía en uso, pero basada en un  lenguaje que corre en un hardware  de plataforma antigua, para traducirla a lenguajes y/o plataformas más modernas.

Esto también es llamado «modernización de sistemas legacy», porque persigue el  objetivo de aprovechar las características que presentan las nuevas metodologías y prácticas en el desarrollo de software, para ponerlas al servicio de las tareas que realizaba un software antiguo. 

Y esto, normalmente, acarrea un cambio del hardware heredado.

El mundo IT está atravesado por infinidad de nuevos paradigmas y uno de ellos es la idea de prolongar la vida útil del software, junto con todo el conocimiento que se volcó en el desarrollo inicial de la aplicación, aprovechando la óptica de las innovaciones técnicas más actuales e independizándolo del hardware donde reside.

Establecida la necesidad de modernización, las empresas deberán adoptar un plan de acción acorde con su cultura y políticas internas.  Vamos a discutir un poco sobre esto.

Algunos conceptos sobre modernización de mainframe

No es fácil definir un sistema legacy (o sistema heredado).

De hecho, no existe una definición única porque, al fin y al cabo ¿de qué estamos hablando? La terminología en uso puede incluir desde lenguajes de programación, aplicaciones construidas con esos lenguajes, bases de datos mantenidas desde esos lenguajes hasta procesos involucrados en tecnologías específicas.

Y, por supuesto, no podemos olvidarnos del hardware que alberga todo el entramado del software mencionado.

Una característica común, una obviedad también,  es que el sistema legacy todavía está en uso, ejecutándose en mainframes, a veces, totalmente obsoletos. Y es muy posible que todavía satisfaga las necesidades para las que fue diseñado originalmente y es aquí donde encontramos la primera limitación. Funciona, sí, pero la libre evolución no es factible.

Un sistema legacy que se ejecuta en un mainframe es crucial para las organización donde funciona porque suele correr aplicaciones de misión crítica, pero es muy posible que haya perdido la ventaja competitiva frente a nuevas tecnologías o procesos comerciales.

Y la integración con sistemas mas modernos está vedada o es muy difícil de implementar.

No estamos citando los problemas más comunes de un Sistema Legacy de forma caprichosa, solo mencionamos algunas de las vicisitudes diarias con las que se enfrenta un departamento de IT.

Si su empresa se reconoce en alguno de los párrafos anteriores, lo invitamos a que siga leyendo.

Sistemas legacy vs sistemas modernos

Si tuviéramos que elegir hitos o puntos de inflexión en lo que respecta a sistemas legacy que se ejecutan en mainframes, bien podríamos decir que el año 2019 estaría en esa lista.

El presupuesto IT

Por ejemplo, el argumento del peso económico en contra de los sistemas heredados se hizo evidente en un informe del el gobierno de los Estados Unidos sobre cómo se había ejecutado el presupuesto de IT en el 2018 y, para sorpresa de unos pocos, dicho informe demostró que el 80% de tal presupuesto fue consumido en operaciones de mantenimiento y soporte de sistemas legacy para conservarlos operativos dentro de parámetros aceptables de eficiencia y ciberseguridad, por citar algunos de los parches ejecutados.

De todas formas, no hace falta limitarse al problema que plantea el enfoque económico porque, dado que los sistemas legacy todavía desempeñan funciones críticas en muchos sitios, el tema del dinero puede plantearse como aceptable en la mayoría de ellos. Pero ya sabemos que no todo es dinero en esta vida. Y en el submundo de la IT tampoco. Veamos.

La modernización de los sistemas legacy es urgente

En junio de 2019 la United States Government Accountability Office (Oficina de Responsabilidad Gubernamental de los Estados Unidos) emitió un informe llamado «Agencies Need to Develop Modernization Plans for Critical Legacy Systems» (Agencias que necesitan desarrollar planes de modernización para sistemas heredados críticos) donde identifica y enumera los 10 sistemas legacy más críticos en donde es imperiosa una modernización. 

Podemos leer en dicho informe que se ven afectados desde el Departamento de Salud o Transporte, hasta el mismísimo Departamento de Defensa por tener sistemas legacy tan viejos como de 50 años de antigüedad  y donde la Oficina de Responsabilidad Gubernamental los señala como de alto o moderado riesgo por su utilización en misión crítica o seguridad.

La seguridad está descuidada

De forma similar, ProPública (propublica.org) una agencia de noticias independiente, dedicada al periodismo de investigación, expuso en el artículo «Millions of Americans’ Medical Images and Data Are Available on the Internet. Anyone Can Take a Peek«, de septiembre de 2019, que los sistemas legacy de atención médica no cumplen con los requisitos de seguridad mínimos que los protejan de piratería en línea.

En resumen, después de leer los informes mencionados deberían asaltarnos infinidad de preguntas con respecto a porqué seguimos manteniendo nuestra dependencia de sistemas legacy.

Es hora de abordar la modernización de mainframe.

Vamos por partes.

Los riesgos de nuestras aplicaciones Legacy.

Ya vimos que estamos expuestos a varias limitaciones y ahora vamos a enumerar algunas para definir de qué estamos hablando.

  • Riesgos de seguridad

Directamente relacionado con la falta de mantenimiento o la ausencia de respaldo de la empresa o proveedor original hacen que los sistemas legacy estén plagados de vulnerabilidades para los que, cada vez más frecuentemente, no existan parches adecuados.

  • Incumplimientos legales

Las normas de cumplimiento más modernas son cada vez más difíciles de satisfacer. Por ejemplo, dependiendo de la geografía donde corran las aplicaciones legacy, las nuevas regulaciones del Reglamento General de Protección de Datos (RGPD) requerirán validaciones y accesos que tales sistemas legacy no pueden proveer.

  • Ineficiencia e imprevisibilidad

Las prácticas comerciales modernas y los impulsos a la producción que dan las nuevas tecnologías sindican a los sistemas legacy como obstáculos que atentan contra un flujo de procesos mas eficiente.

  • Información deficiente

La dificultad para adaptarse a las métricas más modernas hacen que el gran conjunto de datos que involucra a los sistemas legados no esté a la altura de las circunstancias de los requerimientos actuales. Son normalmente datos segmentados, preparados para ejecución en lotes que no se adaptan bien a procesos en tiempo real.

  • Integración e interoperatividad

La deficiencia en la variedad de tipos de datos , las tecnologías de acceso y la interfaz de usuario, se erige como un muro que aísla a los sistemas legacy limitando, cuando no impidiendo, la integración con otros sistemas.

¿Por qué los Sistemas legacy ejecutándose en mainframes todavía están en uso?

No podemos perder de vista que un sistema heredado que corre en un mainframe mantiene a la empresa en una rutina comercial que demostró ser eficiente y, es muy posible, que todavía se mantenga en niveles aceptables.

Por otra parte, y aunque el mantenimiento del sistema legacy sea costoso, la actualización requiere también de una determinada inversión y, dado que todo director de departamento de IT tiene que justificar dicha inversión , es normal que ellos mismos duden de la rentabilidad de la inversión y justifican y argumentan a favor del status quo.

También hay razones mas simples y humanas. Simplemente: el  miedo al cambio.

Solamente hablar de modernizar una aplicación legacy, dispara la resistencia interna al cambio. El personal tiene miedo a perder sus puestos de trabajo, tiene miedo a perder datos, en resumen, tiene miedo a lo desconocido.

Por otra parte, ¿Quién puede decir que es fácil enfrentarse a lo que implica la migración de una aplicación legacy? Como dijimos, para muchos departamentos de IT resulta abrumador hasta el solo hecho de planificar una migración de datos. Es disruptivo y paralizante.

Comienzan a repetirse una y otra vez los refranes mas manidos de la informática como, por ejemplo, «si no está roto, no hay que arreglarlo». ¡No cambies! Es el primer impulso. Se piensa que el cambio es una interrupción brusca de la normalidad y se sospecha equivocadamente, que la migración traerá aparejado períodos de inactividad.

Es por todo esto que la prioridad es establecer un plan de migración que se adapte a la cultura de la empresa y es muy importante que el personal de la compañía se sienta confortable con los protocolos de verificación y certificación del Sistema migrado.

La resistencia al cambio debe vencerse desde dentro. La dirección debe bajar línea de manera contundente, explicando de forma coherente y clara que el cambio se realizará indefectiblemente y que no tiene dudas de los beneficios que acarrea.

Enfoques a la modernización de Mainframe

Para poder determinar una estrategia viable que nos permita abordar de forma exitosa la modernización de aplicaciones legacy es muy importante conocer los enfoques más comunes. Por ejemplo,

  • Rehosting

También llamado «lift and shift» («levantar y cambiar»). Hace referencia a que se toma una aplicación existente y se la muda del entorno heredado a una infraestructura más moderna, normalmente: cloud computing.

Bajo este enfoque, la aplicación es trasladada tal y como está, sin que sufra cambios en su código. Cabe destacar que no todas las aplicaciones legadas pueden ser actualizadas utilizando esta aproximación al problema.

Si está especialmente interesado en el paradigma «Cloud computing» lo invitamos a que siga leyendo este artículo en el sitio web de Google donde, además, podrá encontrarnos en la lista de Partners tecnológicos avalándonos iniciar con el proceso de modernización.

  • Refactoring

La refactorización es reescribir o reestructurar el software existente. Básicamente, se coge una pieza de software y se la reescribe, normalmente utilizando capacidades nativas de la plataforma de destino, para que haga lo mismo, pero de una forma óptima en el nuevo entorno.

Este enfoque está indicado cuando el software candidato a ser actualizado está dividido en piezas más pequeñas de funcionamiento, con determinados puntos de acople claros o en una distribución de funcionamiento que se denomina: microservicio.

  • Reestructuración

Es un enfoque que se aplica cuando debemos profundizar en los cambios que realizamos sobre la arquitectura original del software candidato. Implica normalmente actualizaciones complementarias más profundas, abarcando desde la sustitución de piezas de código o, incluso, el backend de acceso a la base de datos.

Una vez comprendidos los distintos enfoques y las formas de aproximarse a la modernización de Sistemas Legacy, debemos hacernos la siguiente pregunta ¿Cuánto conocemos a nuestro sistema a migrar?

El grado que alcance esta respuesta determinará de manera directa la estrategia a utilizar y, desde Base100, tenemos bastante que decir al respecto.

Beneficios de la modernización de Mainframe

La lista de beneficios no es corta, pero le animamos a evaluar lo siguiente:

  • Reducción de costos.

Tanto en mantenimiento, como en licencias de uso u operación, la infraestructura de un mainframe acarrea grandes costos. Migrar el sistema legacy hacia plataformas mas modernas eliminará estos gastos.

  • Profesionales más accesible.

La jubilación del personal original que escribió el código de los sistemas heredados es una realidad. Estas habilidades ya no se enseñan en las nuevas escuelas de IT. Hay todo un mundo de profesionales disponibles de donde elegir para mantener los sistemas desarrollados en el marco de las nuevas tecnologías.

  • Menor dependencia tecnológica.

Las oportunidades que acarrea el independizarse de los mainframes surgen con fuerza al actualizarse a tecnologías modernas que, en muchos casos, potencia la automatización de muchas tareas de cara a encontrar opciones de mantenimiento mas eficientes y rentables.

  • Ventaja competitiva.

Las nuevas tecnologías también traen aparejado un vertiginoso mundo competitivo de mejora continua. Adaptarse constantemente a los requerimientos del mercado es muchísimo mas fácil que en el mundo mainframe.

Las mejores soluciones para la modernización de sistemas

En Base100 sostenemos que el punto de partida es un análisis en profundidad del software candidato.

La evaluación e inventario de las aplicaciones legacy que se ejecutan en el Mainframe es la primera tarea a encarar y deberá incluir en profundidad sus características técnicas.

Estudiar cómo están distribuidas las capas del negocio y de  presentación, permitirá desentrañar una aplicación que hasta los instantes previos se comportaba como poco mas que una caja negra inaccesible.

En Base100 le ofrecemos Caravel Insight para IBMi o Caravel Insight para z/OS para que pueda ver de forma detallada e interactiva a su sistema legacy como nunca antes lo vio.

Con Caravel Insight podrá identificar distintos componentes de forma ágil y con una dinámica que le permitirán mejorar el código al que se tiene acceso, entenderlo de una manera cabal desde una visión general hasta el detalle mas mínimo de cada objeto analizado.

Al mismo tiempo, la inspección y análisis a la que es sometida la aplicación legacy, permite a Caravel Insight documentar de forma ordenada, actualizada y clara a todo el sistema.

Con Caravel Insight los objetos RPG, COBOL, CL, DSPF, PRTF, LF, PF,… ILE o FREE quedan al descubierto. La complejidad queda de lado y todo el sistema legacy gana en comprensión, identificándose fácilmente agujeros de seguridad, flujo mal estructurado o código duplicado, por poner algunos ejemplos.

La modernización de mainframe

Esta es la razón de existir de Base100. Es lo que hacemos. Es lo que somos.

Sabemos que los Sistemas Legacy de mainframes deben migrar hacia las nuevas tecnologías, pero somos conscientes que las decisiones las toman las personas que conviven día a día con ese sistema.

Queremos ayudarle a tomar la mejor decisión posible para cada uno de los problemas puntuales a los que se enfrenta.

¡Confíe en la experiencia Base100!

Le ofrecemos un conjunto de herramientas y productos con el objeto de que cualquier proceso de implementar soluciones de modernización de Mainframe z/OS o IBMi AS/400 hacia tecnologías mas modernas sea con una garantía de éxito indiscutible.

Puede seguir aquí:

¿Le interesa la propuesta?

¡Sigamos avanzando y hablemos de modernización!

Contáctenos