Rehospedaje de aplicaciones de sistema central en Azure con compiladores de Raincode

Azure Virtual Machines
Azure Kubernetes Service (AKS)
Archivos de Azure
Azure ExpressRoute
Azure Load Balancer

Esta arquitectura muestra cómo el compilador de COBOL de Raincode moderniza las aplicaciones heredadas del sistema central mediante su migración e integración de forma fácil con una pila de tecnología moderna basada en Azure sin cambiar una sola línea de código. Con la tecnología de compilador de Raincode, puede mantener las aplicaciones de sistema central actualizadas y optimizadas, e implementarlas en la nube, lo que le permite conservar décadas de desarrollo y, al mismo tiempo, mejorar en gran medida el rendimiento y la flexibilidad. La solución de Raincode tiene como objetivo transformar el sistema central en una arquitectura nativa de Azure mediante la conservación de la lógica de negocios, a pesar de la transformación de toda la arquitectura. Raincode también admite la flexibilidad de aplicaciones en Linux y Windows con implementaciones contenedorizadas o de máquina virtual en Azure.

Architecture

Arquitectura heredada de IBM z/OS

En el diagrama siguiente se muestra un ejemplo de una arquitectura heredada de sistema central basada en COBOL, antes de la migración a Azure.

Diagrama que muestra una arquitectura de sistema central heredada basada en COBOL.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

Las anotaciones siguientes se asignan desde el origen de IBM z/OS a Azure:

A. La emulación del terminal IBM 3270 para los usuarios a petición y en línea se ha reemplazado por un explorador web para acceder a los recursos del sistema en Azure.

B. COBOL y otro código de aplicación heredado se convierten en C#/.NET. Raincode genera código 100 % seguro para subprocesos y administrado para .NET y .NET Core.

C. El compilador COBOL de Raincode moderniza las aplicaciones heredadas de sistema central mediante la migración y la integración de forma fácil con una pila de tecnología moderna basada en la nube sin cambiar una sola línea de código.

D. Las funciones de automatización de la carga de trabajo, programación, creación de informes y supervisión del sistema pueden mantener las plataformas actuales, ya que actualmente con compatibles con Azure.

E. Las estructuras de base de datos heredadas, como Db2 e IDMS, se pueden migrar a Azure SQL Database con todas las funcionalidades de recuperación ante desastres y alta disponibilidad que proporciona Azure. Raincode también admite consultas SQL estáticas o dinámicas mediante SQL Server o en Azure SQL DB.

F. Las estructuras de archivo (VSAM, archivos planos, cinta virtual y similares) se asignan fácilmente a construcciones de datos de Azure dentro de archivos estructurados o almacenamiento de blobs. Características como la replicación geográfica redundante y la replicación de grupos de conmutación automática por error de Azure están disponibles para proporcionar protección de datos.

G. Un subsistema de impresión opcional administra las impresoras locales.

H. z/OS que se ejecuta en particiones lógicas (LPAR).

I. Las particiones lógicas representan un subconjunto de los recursos de hardware de un equipo. Cada LPAR puede hospedar un sistema operativo distinto. Aunque en este ejemplo solo se muestran las instancias de Z/OS, otras LPAR que se ejecutan en el mismo hardware pueden hospedar otros entornos operativos, como z/VM u otros motores, como zIIP o IFL.

Después de la migración: arquitectura basada en Azure

En este diagrama se muestra cómo se puede migrar la arquitectura heredada a Azure, aprovechando el compilador de Raincode y muchos otros servicios modernos de Azure.

Migración de la arquitectura heredada al flujo de trabajo de Azure.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  1. Acceso de usuario proporcionado a través del puerto TLS 443 para acceder a aplicaciones basadas en web. La capa de presentación de las aplicaciones basadas en web puede permanecer prácticamente sin cambios para reducir la necesidad de reciclaje del usuario final. Como alternativa, la capa de presentación de la aplicación web se puede actualizar con marcos de experiencia de usuario modernos según las necesidades.

  2. En Azure, el acceso a los clústeres de proceso de la aplicación se realiza a través de Azure Load Balancer, lo que permite que los recursos de proceso de escalabilidad horizontal procesen el trabajo de entrada.

  3. El software de emulación de sistemas de Raincode también puede admitir la implementación en contenedores. Con la tecnología de compilador de última generación de Raincode, puede mantener las aplicaciones de sistema central actualizadas y optimizadas, e implementarlas en .NET Core.

  4. Las aplicaciones nativas de nube son una colección de servicios independientes y autónomos empaquetados como contenedores ligeros.

    A diferencia de las máquinas virtuales, los contenedores pueden escalarse y reducirse horizontalmente de manera rápida. Dado que la unidad de escalado cambia a contenedores, se optimiza el uso de la infraestructura.

  5. Los servicios de datos usan una combinación de almacenamiento de alto rendimiento en discos de estado sólido (SSD) Ultra o Premium, almacenamiento de archivos en Azure NetApp Files o Azure Files, y almacenamiento de blobs, archivo y copia de seguridad estándar, que puede ser con redundancia local o redundancia geográfica.

  6. Azure SQL Database con los niveles Hiperescala o Crítico para la empresa con los Acuerdos de Nivel de Servicio de tiempo de actividad alto y un número de IOPS elevado. Además, se usa Private Link para Azure SQL Database para proporcionar una conexión directa, privada y aislada a la red troncal de redes de Azure, desde la máquina virtual de Azure hasta Azure SQL Database. Las herramientas de migración de datos de Raincode pueden convertir los esquemas de DMS y RDMS en SQL.

  7. Azure Blob Storage es una zona de aterrizaje común para los orígenes de datos externos.

  8. Es necesario crear, o que ya exista, una implementación de Active Directory. Raincode proporciona integración de identidades RACF y Top Secret mediante extensiones de Active Directory.

Componentes

  • Azure Kubernetes Service (AKS) es un servicio de Kubernetes totalmente administrado para implementar y administrar aplicaciones contenedorizadas en clústeres de proceso basados en contenedores.

  • Azure Virtual Network (VNet) es el bloque de creación fundamental de una red privada en Azure. VNet permite muchos tipos de recursos de Azure, como Azure Virtual Machines (máquinas virtuales), para comunicarse de forma segura entre usuarios, con Internet y con las redes locales. VNet es similar a una red tradicional que usaría en su propio centro de datos, pero aporta las ventajas adicionales de la infraestructura de Azure, como escala, disponibilidad y aislamiento.

  • Azure Files ofrece recursos compartidos de archivos en la nube totalmente administrados, a los que se puede acceder mediante el protocolo de bloque de mensajes del servidor (SMB) estándar del sector. Los recursos compartidos de Azure se pueden montar simultáneamente en implementaciones de Windows, Linux y macOS en la nube o locales.

  • Azure ExpressRoute permite ampliar las redes locales en la nube de Microsoft a través de una conexión privada que facilita un proveedor de conectividad. Con ExpressRoute, se pueden establecer conexiones con servicios en la nube de Microsoft, como Microsoft Azure y Office 365.

  • Azure Load Balancer opera en la capa cuatro del modelo Interconexión de sistemas abiertos (OSI). Es el único punto de contacto de los clientes. Load Balancer distribuye los flujos de entrada que llegan al front-end del equilibrador de carga a las instancias del grupo de back-end. Estos flujos están de acuerdo con las reglas de equilibrio de carga y los sondeos de estado configurados. Las instancias del grupo de back-end pueden ser instancias de Azure Virtual Machines o de un conjunto de escalado de máquinas virtuales.

  • Azure SQL Database es un motor de base de datos de plataforma como servicio (PaaS) totalmente administrado que ejecuta siempre la última versión estable de SQL Server y un sistema operativo revisado con el 99,99 % de disponibilidad. SQL Database controla la actualización, la aplicación de revisiones, las copias de seguridad, la supervisión y la mayoría de las funciones de administración de bases de datos sin intervención del usuario. Estas funcionalidades PaaS le permiten centrarse en la administración y la optimización de las bases de datos empresariales críticas y específicas del dominio.

  • Azure Cosmos DB es un servicio de PaaS de Azure para bases de datos NoSQL.

  • Azure Database for PostgreSQL es un servicio de PaaS de Azure para bases de datos PostgreSQL.

Detalles del escenario

Esta arquitectura muestra cómo se ejecuta la solución de Raincode en Azure. Raincode en Azure admite las siguientes características:

  • Código 100 % seguro para subprocesos y administrado para .NET y .NET Core.

  • Una solución destinada principalmente a transformar sistemas centrales en una arquitectura nativa de nube.

  • Compatibilidad nativa con consultas SQL estáticas o dinámicas mediante SQL Server en el entorno local o en Azure SQL DB.

  • Compatibilidad con Db2 (a través de HIS de Microsoft) y SQL Server.

  • Integración con Visual Studio, que incluye un depurador, un compilador, configuraciones, IntelliSense, un coloreador de código y la administración de proyectos.

  • Compatibilidad con todos los tipos de datos de COBOL, con representación de memoria de sistema central.

  • Integración sencilla con compiladores PL/I y ASM370.

  • Repositorio con gráficos de llamadas, estadísticas y otra información en tiempo de compilación.

  • Compatibilidad nativa con EBCDIC en tiempo de compilación y tiempo de ejecución.

La migración a una infraestructura de nube distribuida moderna mediante Raincode le permite:

  • Facilitar nuevo desarrollo y mantenimiento en C#.

  • Liberarse de la carga financiera de los costos de licencias de COBOL.

  • Adoptar una plataforma flexible y escalable mediante las tecnologías más recientes a través de .NET Core.

  • La integración con aplicaciones modernas, como web y móviles para mejorar la experiencia del cliente.

  • Transformar las aplicaciones heredadas monolíticas en arquitectura orientada a servicios (SOA) o microservicios.

  • Controlar el costo total de propiedad (TCO) mediante el uso de las características de disponibilidad y escalabilidad de Azure.

Posibles casos de uso

Muchos casos de uso pueden beneficiarse del compilador de Raincode. Entre las posibilidades se incluyen las siguientes:

  • Empresas que buscan modernizar la infraestructura y evitar los elevados costos, las limitaciones y la rigidez asociados a los sistemas centrales.

  • Reducción de la deuda técnica mediante la nube nativa y DevOps.

  • Reducción de los costos de gastos operativos y de capital.

  • Las organizaciones optan por trasladar las cargas de trabajo de sistema central de IBM zSeries a la nube sin los efectos secundarios de volver a realizar el desarrollo por completo.

  • Clientes de sistema central de IBM zSeries que necesitan migrar aplicaciones críticas y mantener la continuidad con otras aplicaciones locales.

  • Equipos que buscan la escalabilidad horizontal y vertical que ofrece Azure.

  • Empresas que prefieren soluciones que ofrecen opciones de recuperación ante desastres.

  • Aprovechamiento de las últimas innovaciones de desarrollo de software: herramientas, marcos de trabajo, lenguajes y prácticas.

Consideraciones

Se aplican las consideraciones siguientes a esta solución.

Disponibilidad

  • La arquitectura de Raincode usa Azure Site Recovery para reflejar las máquinas virtuales de Azure en una región de Azure secundaria a fin de agilizar la conmutación por error y la recuperación ante desastres en caso de error en el centro de datos de Azure.

Operaciones

  • Cada servicio de una aplicación nativa de nube pasa por un ciclo de vida independiente, que se administra mediante un proceso DevOps ágil.

  • Varias canalizaciones de integración continua y entrega continua (CI/CD) pueden funcionar conjuntamente para implementar y administrar una aplicación nativa de nube.

Eficiencia del rendimiento

  • Las aplicaciones nativas de nube son una colección de servicios independientes y autónomos que se empaquetan como contenedores ligeros.

  • A diferencia de las máquinas virtuales, los contenedores pueden escalarse y reducirse horizontalmente de manera rápida.

  • Dado que la unidad de escalado cambia a contenedores, se optimiza el uso de la infraestructura.

Seguridad

Optimización de costos

  • El compilador de COBOL de Raincode facilita el nuevo desarrollo en C# y elimina la carga financiera de los costos de licencias de COBOL.

  • Compatibilidad nativa con SQL y CICS. El código fuente depurado es el mismo que el origen que se mantiene, en lugar de la salida de un procesador previo.

Colaboradores

Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.

Autor principal:

Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.

Pasos siguientes

Para más información, póngase en contacto con legacy2azure@microsoft.com o consulte los siguientes recursos: