COBOL a la nube
Migrar COBOL a la nube aparece como un objetivo alcanzable dado el estado del arte de la tecnología actual.
Por ejemplo, la aparición de nuevos compiladores o emuladores abren distintos caminos para acceder a la nube, los traductores de COBOL a lenguajes mas modernos aparecen como opciones candidatas.
El acceso mobile y la cloud computing son tecnologías cada vez más demandadas y la tecnología subyacente en las aplicaciones COBOL no parecen ser demasiado amigables con esas plataformas tecnológicas.
Nosotros creemos que la conjunción perfecta entre herramientas y experiencia hace que el camino de COBOL a la nube se asiente sobre supuestos más sólidos y fundamentados.
Demos el primer paso para emprender este viaje que ya está señalado como poco menos que inexorable.
COBOL a la nube: una introducción
Desde que Grace Hopper sentara las bases sobre las que se terminó de construir el COBOL en 1959 y tras su largo camino hacia la estandarización, este lenguaje de programación ha escalado posiciones hasta instalarse como la columna vertebral de la computación empresarial que reside, principalmente, en los mainframes.
No debemos olvidar que muchas de sus primeras aplicaciones fueron impulsadas y desarrolladas por y para el Ministerio de Defensa de los EE.UU., por lo que este empujón inicial al COBOL fue, sin dudas, determinante para el alto grado de penetración que consiguió en el mercado del desarrollo informático.
Desde aquellos tiempos, el COBOL no ha dejado de actualizarse y, pese que es materia opinable los avances logrados en este campo, lo que no podemos negar es que la propia arquitectura sobre la que está construido el COBOL se ha convertido en obsoleta. Y esto limita seriamente la capacidad del código desarrollado en COBOL para adaptarse a los modernos paradigmas del desarrollo de software o la seguridad inherente que se requiere en las aplicaciones actuales dada la interoperabilidad necesaria.
¿Quién impulsa el viaje de COBOL a la nube?
De alguna forma, son el propio Ministerio de Defensa y el gobierno de los EE.UU. quienes también están potenciando migrar las aplicaciones heredadas en COBOL hacia entornos más modernos. Y, obviamente, no lo hacen porque esté de moda.
Toda la infraestructura sobre la que se construían los sistemas desarrollados en COBOL sufren algunos problemas de confiabilidad, escalabilidad, documentación deficiente y carecen de características modernas como microservicios o contenización, manteniéndolos aislados de predecibles mejoras futuras..
Tampoco podemos ignorar que, de alguna forma, también hizo presión sobre la necesidad de migrar la masiva jubilación de los programadores encargados del desarrollo de aplicaciones.
Por estas razones, el gobierno de los EE.UU. se convenció de que la migración a un entorno Cloud, con base en lenguajes de programación modernos era una tarea que debía iniciarse sin más dilación.
El Departamento de Defensa evaluó diversas tecnologías y ensayó varias soluciones como rehostings, refactorización y emuladores de COBOL.
Finalmente, definió 3 grandes fases a cumplir como necesarias para enfrentarse al proceso de migración:
- Fase uno: Conversión de código automatizada. Refactorización de COBOL a Java.
- Fase Dos: La Purga. Eliminación de cualquier trozo de código persistente de COBOL.
- Fase Tres: El Gran Movimiento. Migración a Cloud propiamente dicha.
Visto a grandes rasgos, la definición de estas etapas suenan lógicas y de sentido común, pero no profundizan en todo lo que involucra el proceso de migrar desde el COBOL a la nube.
De hecho, se encuentran en la red cientos de consejos de como dar el primer paso. Consejos sui generis que presentan una u otra cara del viaje de la migración.
Por ejemplo, podemos encontrar encontrar sugerencias del siguiente tipo para migrar COBOL a la nube:
- Desacople sistemas: busque puntos de división que separe en partes al viejo paradigma de «todo incluido».
- Integre, automatice y luego reemplace las tecnologías: optimice la integración de las partes desacopladas. Verifique que tecnología responde mejor a sus requerimientos.
- Elimine las tecnologías de bloqueo: Identifique dónde se ralentiza o bloquea el flujo de información.
- Adopte prácticas ágiles de desarrollo: DevOps y código abierto es el nuevo paradigma.
Nuevamente, suenan lógicas y llenas de sentido común, pero parece que estamos inmersos en un mar de consejos y más consejos, así que la pregunta del millón es ¿cuál es el camino a seguir?
El escenario de la migración.
Como venimos señalando hasta ahora, para migrar de COBOL a la nube hay que pasar por diversas etapas y para ello tenemos distintas soluciones.
El caso es decidir qué factores determinan la elección de la solución elegida y cuales serán las etapas a cumplir para una migración exitosa.
Por un lado, debemos decidir cuánto vamos a preservar de la estructura de la aplicación legada y, por otro, cuánto vamos a aprovechar de la nueva tecnología de la nube.
Son dos extremos que deberán definirse para determinar los pasos a seguir en una migración que esté libre de problemas.
Hay que dejar de lado la idea de que migrar la carga de trabajo de COBOL a la nube pasa solo por una recompilación de código en tal o cual emulador de COBOL o transformar alegremente el código original en un lenguaje de programación más moderno.
Evidentemente son soluciones disponibles, pero deberíamos tomarnos muy en serio las ventajas y desventajas de cada una.
A veces es fácil perder de vista que la arquitectura de codificación es el EBCDIC y que el modo de programación que imperaba en esas décadas eran puro trabajo transaccional y procesamiento por lotes. Además, la creación de las aplicaciones COBOL fue siguiendo el paradigma tradicional de replicar informáticamente un proceso que se realizaba a mano.
Pero el enfoque actual es muy distinto. Hoy se comienzan a estudiar los objetos (datos) que serán modificados por métodos (procesos).
El nuevo paradigma es: los datos primero.
La estrategia del viaje de COBOL a la nube
Para transformar de un paradigma a otro se necesita una estrategia bien sólida. Fundamentada en herramientas y metodologías de eficacia probada.
Por ejemplo, citando algunas herramientas: necesitamos analizadores gramaticales y la posibilidad de representación de árboles de sintaxis abstracta. Y, más allá de ellas, requerimos de una tecnología apoyada por la experiencia.
En otras palabras, un enfoque de efectividad verificada que demuestre ser una metodología que puede repetir y adaptarse frente a los retos que presenta la modernización necesaria para transformar una aplicación heredada, de COBOL a la nube.
En resumen: de COBOL a la nube.
Como se ha dicho innumerables veces, la mayoría de las aplicaciones de misión crítica están escritas en COBOL y la nube es vista ahora como una forma de agregar un extra de flexibilidad a toda la infraestructura, además, estar en la nube permite escalar con inversiones mínimas.
El mercado se mueve sin pausa hacia entornos modernos de desarrollo como DevOps y la nube parece un destino realmente eficaz y accesible.
No es una opción quedarse fuera. Es hora de tomar decisiones y evaluar costos y tiempos de modernizar nuestra plataforma legacy y, sin dudas, la nube llegó para quedarse.
En Base100 ofrecemos una prueba de concepto que le permite ver cómo funciona una parte de su sistema en el nuevo entorno.
Las tareas de modernización comienzan la utilización de Caravel Insight, evaluando el parque instalado, donde relevamos e inventariamos toda la aplicación heredada para comprender profundamente a lo que nos enfrentamos
La tarea de inspeccionar, relevar y comprender no deja de ser difícil, pero creemos firmemente que es la forma correcta de acercarnos a la arquitectura de origen para minimizar riesgos en la arquitectura de destino, sin dejar de nombrar que mantiene bajo control el costo y los riesgos a asumir.
Base100
En Base100, como partners tecnológicos de Google Cloud, 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.
- Introducción a la tecnología Caravel
- Preguntas frecuentes Caravel
- Como solicitar una Prueba de concepto
¿Le interesa la propuesta?
¡Sigamos avanzando ¡hablemos de modernización!