Compartir a través de


Rehospedaje de IMS DC e IMS DB en Azure mediante Raincode IMSql

Azure Virtual Machine Scale Sets
Azure Logic Apps
Instancia administrada de Azure SQL
Azure Virtual Network
Azure ExpressRoute

Esta arquitectura describe cómo implementar una carga de trabajo de aplicación de sistema central del sistema de administración de la información (IMS) en Azure mediante IMSql de Raincode. La migración de una aplicación de base de datos (DB) de IMS a una solución nativa de la nube es más compleja que la migración de una aplicación de base de datos relacional. En este artículo se describe cómo volver a hospedar sin problemas una carga de trabajo de IMS de sistema central que tiene características y funcionalidades de IMS críticas para Azure. No es necesario traducir ni modificar la aplicación existente.

Arquitectura de carga de trabajo IMS DB/DC, antes de la migración

Diagrama que muestra la arquitectura de carga de trabajo IMS DB/DC previa a la migración.

Flujo de datos

El siguiente flujo de datos corresponde al diagrama anterior:

  1. Los usuarios se conectan al mainframe a través del protocolo de control de transmisión o el protocolo de Internet mediante protocolos de mainframe estándar como TN3270 y HTTPS.
  2. Los administradores de transacciones interactúan con los usuarios e invocan la aplicación para satisfacer las solicitudes de los usuarios.
  3. En el front-end de la capa de la aplicación, los usuarios interactúan con las pantallas de IMS o con las páginas web.
  4. El código de la aplicación utiliza las capacidades de almacenamiento de la capa de datos back-end (jerárquica) de IMS DB.
  5. Todas las operaciones de big data sin conexión se realizan a través de trabajos por lotes.
  6. Junto con el procesamiento de transacciones, otros servicios proporcionan autenticación, seguridad, administración, monitoreo e informes. Estos servicios interactúan con todos los demás servicios del sistema.

Arquitectura de IMSql en Azure

Diagrama que muestra la arquitectura de IMSql en Azure.

Descargue un archivo de Visio de esta arquitectura.

Flujo de trabajo

El siguiente flujo de trabajo corresponde al diagrama anterior:

  1. Servidor de terminal IMSql

    Tradicionalmente, los usuarios locales acceden a la interfaz z/OS del mainframe a través de un terminal interno de IBM o mediante software de emulación de terminal. Una aplicación que tiene una red geográficamente dispersa con miles de usuarios puede conectarse a los mainframes a través de cualquier forma de terminal. Cuando una aplicación de comunicaciones de datos (DC) de IMS se vuelve a alojar en el sistema distribuido basado en la nube, debe alojar de forma centralizada la aplicación y el recurso y publicarlos para los dispositivos cliente remotos. Puede usar servidores de terminal IMSql para hospedar y publicar la aplicación y el recurso en Azure.

  2. Agente de servicios de SQL Server

    En el mainframe, IMS DC orquesta la capa de comunicación entre los terminales de usuario y los programas de aplicación mediante la transmisión y el procesamiento de mensajes en una región de control. Después del rehospedaje, el agente de servicio de SQL Server orquesta esta capa de comunicación asincrónica. El agente de servicios permite la comunicación a través de su marco de entrega de mensajes y escala horizontalmente los mensajes a servidores de procesamiento independientes, usuarios actuales y su procesamiento de transacciones.

  3. Servidor de procesamiento IMSql

    El servidor de procesamiento ejecuta el código recompilado de Raincode para los programas IMS en .NET Framework o .NET Core. Contiene la infraestructura subyacente que permite que los programas recompilados se ejecuten de manera efectiva con la equivalencia funcional correcta. El servidor de procesamiento de IMSql puede generar consultas dinámicas y llamar a procedimientos almacenados en SQL Server que se crean durante la recompilación de llamadas de lenguaje de datos/uno (DL/I).

  4. SQL Server como almacén de datos jerárquico

    Los datos se almacenan como datos jerárquicos en IMS. IMSql usa el mismo modelo en SQL Server. Este modelo permite a IMSql aprovechar el alto rendimiento de las bases de datos relacionales e implementar lógicamente los segmentos jerárquicos de IMS. También permite que el sistema escale de forma independiente con segmentos. Los datos del segmento se almacenan en formato EBCDIC sin procesar, por lo que no es necesario convertirlos para la aplicación. Mediante el uso de la plataforma SQL como servicio (PaaS), IMSql puede aprovechar las funcionalidades subyacentes de alta disponibilidad y recuperación ante desastres que proporciona Azure.

  5. API de llamada DL/I

    La API de IMSql garantiza que las llamadas de DL/I de IMS del lenguaje común orientado al negocio (COBOL) se traduzcan a consultas SQL equivalentes. A continuación, obtiene los datos y los devuelve al programa de aplicación en el formato esperado. IMSql también realiza un seguimiento de la posición del programa en el registro de la tabla para realizar las operaciones de creación, lectura, actualización y eliminación, como la base de datos jerárquica. IMSql puede crear procedimientos almacenados en SQL Server durante la compilación para responder a llamadas DL/I de alto rendimiento.

  6. Código de lluvia JCL

    Raincode job control language (JCL) es un intérprete compatible con z/OS JCL. El intérprete JCL de Raincode hace que la transición de la intrincada lógica empresarial integrada en JCL a las plataformas Azure y .NET Core sea lo más fluida posible. Raincode JCL está diseñado para ejecutar código compilado por los compiladores Raincode COBOL, Programming Language One (PL/I) y ASM370. Puede ejecutar fácilmente pasos escritos en la mayoría de los idiomas. Puede configurarlo y ajustarlo mediante la implementación de código escrito por el usuario, para que pueda adaptarlo a sus propias necesidades de programación por lotes.

  7. Vista de datos de IMSql

    IMSql define vistas SQL relacionales basadas en copybooks o diseños de registros, de modo que se pueda acceder a los segmentos de IMS a través de instrucciones SQL simples por cualquier servicio de Azure y por nuevas aplicaciones. Las vistas de IMSql también se pueden escribir, por lo que las aplicaciones modernas pueden interactuar con IMS en ambos sentidos a través de SQL Server.

Migración de datos a través de IMSql

Diagrama que muestra la migración de datos a través de IMSql.

Migración de objetos de base de datos

  • La descripción original de la base de datos (DBD) de IMS DB se extrae y se transfiere desde el mainframe. IMSql usa la información de DBD para generar scripts SQL para generar una base de datos y tablas de destino en Azure SQL.

  • Cada segmento de un DBD de IMS se traduce como una tabla en Azure.

  • Las tablas constan de un campo clave, campos de búsqueda y los datos completos del segmento IMS representados en EBCDIC.

  • La estructura de árbol de segmentos de IMS se conserva con la relación de clave principal y externa en las tablas de Azure SQL.

Carga inicial de datos

  • Los datos de IMS DB se extraen a través de un trabajo de mainframe y utilidades de descarga comúnmente disponibles como DFSRRC00 y DFSURGL0.

  • Puede transferir los archivos binarios extraídos a Azure mediante conectores de Azure Data Factory, como el Protocolo de transferencia de archivos (FTP) y el Protocolo seguro de transferencia de archivos (SFTP), y una solución basada en Java que se ejecute en Servicios de subsistema Unix.

  • IMSql tiene una utilidad de carga incorporada para completar las cargas de datos iniciales. Esta herramienta utiliza la utilidad del programa de copia masiva (bcp) de SQL Server. Garantiza que bcp se ejecute y que la integridad referencial requerida entre las tablas coincida con la estructura jerárquica esperada.

  • Esta migración aborda una carga de datos única de la base de datos de IMS. No aborda la coexistencia ni la sincronización de datos asociada.

Flujo de datos para la migración

El siguiente flujo de datos corresponde al diagrama anterior:

  1. El almacén de datos no relacional del sistema central (IMS DB) tiene dos componentes: el DBD y los datos de segmento reales.

  2. Los programas de utilidad de IBM extraen y descargan la información de la base de datos IMS.

  3. El archivo DBD y los archivos de datos binarios correspondientes se generan por separado.

  4. Ingesta de datos:

    1. El conector FTP de Azure Data Factory copia los conjuntos de datos de IMS del sistema central en el almacenamiento de datos de Azure.
    2. Los archivos de datos IMS del sistema central se copian en Azure Blob Storage a través de SFTP.
    3. El JCL de mainframe se utiliza para ejecutar una solución Java personalizada que mueve datos entre el sistema de mainframe y SFTP Blob Storage.
  5. Mediante el uso del archivo DBD, IMSql crea la base de datos y las tablas de destino mientras mantiene la integridad referencial necesaria.

  6. Una vez creados los objetos de datos, IMSql carga los datos en la tabla correspondiente en orden secuencial.

  7. Todos los datos de IMS migrados se hospedan en Azure SQL Managed Instance.

  8. El DB de aplicación consta de los datos brutos del segmento para el tratamiento IMS online y el tratamiento por lotes.

  9. Las vistas de lectura y escritura de IMS constan de datos de segmentos que se expanden en función del diseño del cuaderno de copias.

Migración de datos de IMS DB mediante Raincode zBridge

Raincode zBridge facilita el acceso a los datos no relacionales del mainframe en Azure, incluidos los datos de los segmentos IMS/DB. Estos datos están disponibles en las bases de datos de Azure SQL para aplicaciones distribuidas, informes y fines analíticos.

Los archivos de datos de segmentos IMS se importan a zBridge con un libro de copias COBOL o una inclusión PL/I correspondiente. Los datos aparecen como filas SQL que convierten los tipos numéricos del sistema central en tipos SQL y convierten las cadenas a ASCII si es necesario. zBridge también admite estructuras de datos complejas.

Componentes

Esta arquitectura consta de los siguientes servicios en la nube de Azure. En las secciones siguientes se describen estos servicios y sus funciones.

  • Azure Logic Apps es una plataforma en la nube en la que puede crear rápidamente soluciones de integración eficaces. Los usuarios de mainframe están familiarizados con los terminales 3270 y la conectividad local. Pueden utilizar el conector IBM 3270 de Logic Apps para acceder a las aplicaciones de sistema central de IBM y ejecutarlas. En el sistema migrado, interactúan con las aplicaciones de Azure a través de la red pública de Internet o una conexión privada implementada a través de Azure ExpressRoute. El identificador de Microsoft Entra proporciona autenticación.

  • Azure Virtual Network es el bloque de creación fundamental para su red privada en Azure. La red virtual permite una comunicación más segura entre muchos tipos de recursos de Azure, como las máquinas virtuales (VM) de Azure, y con Internet y las redes locales. La red virtual es como una red tradicional que se opera en su propio centro de datos, pero proporciona las ventajas de la infraestructura de Azure, como la escala, la disponibilidad y el aislamiento.

  • ExpressRoute extiende las redes locales a la nube de Microsoft a través de una conexión privada que facilita un proveedor de conectividad. Puede usar ExpressRoute para establecer conexiones con los servicios en la nube de Microsoft, como Azure y Microsoft 365.

  • Azure Virtual Machine Scale Sets proporciona un escalado de máquinas virtuales automatizado y con equilibrio de carga que simplifica la administración de aplicaciones y aumenta la disponibilidad.

  • SQL Managed Instance forma parte de la cartera de servicios de Azure SQL. Es una instancia SQL administrada, más segura y de up-tofecha en la nube.

  • Microsoft Entra ID es un servicio de administración de acceso e identidad empresarial basado en la nube. El inicio de sesión único y la autenticación multifactor de Microsoft Entra ayudan a los usuarios a iniciar sesión y acceder a los recursos, a la vez que ayudan a protegerse contra los ataques de ciberseguridad.

Alternativas

  • Puede usar SQL Server en una máquina virtual de Azure como alternativa a SQL Managed Instance. Se recomienda SQL Managed Instance en esta arquitectura debido a ventajas como la alta disponibilidad, la integración perfecta con varios servicios de Azure y la administración de revisiones de seguridad subyacentes y mantenimiento.

  • Puede usar una arquitectura de máquina virtual única de Azure como alternativa a los conjuntos de escalado de máquinas virtuales. Es posible que desee usar máquinas virtuales individuales para cargas de trabajo que tengan demandas constantes de carga y rendimiento y que no necesiten escalado. Esta arquitectura usa conjuntos de escalado de máquinas virtuales para controlar las cargas de trabajo típicas de IMS.

Detalles del escenario

Los sistemas de procesamiento de transacciones en línea (OLTP) de mainframe pueden procesar millones de transacciones para un gran número de usuarios. IBM IMS es un robusto gestor de transacciones de mainframe clásico que las empresas utilizan para el procesamiento de transacciones en línea. Tiene dos componentes principales: el componente IMS DC y el componente DBMS jerárquico subyacente IMS DB.

IMSql proporciona una manera de hospedar cargas de trabajo basadas en IMS en Azure o implementaciones distribuidas locales basadas en SQL Server. IMSql proporciona una solución integral para ejecutar una carga de trabajo de IMS, incluidos los componentes de la aplicación, los datos y el middleware. Puede ingerir las estructuras de datos jerárquicas (DB de IMS) en un modelo de datos relacional en SQL Server, SQL Server en Azure Virtual Machines y SQL Managed Instance. Tiene API integradas para llamadas DL/I del programa de aplicación IMS y extiende la capa de datos más allá de la carga de trabajo jerárquica a las aplicaciones nativas de la nube que se utilizan para datos relacionales.

Esta solución proporciona los siguientes beneficios:

  • Moderniza la infraestructura y reduce los altos costos, las limitaciones y la rigidez asociados con las cargas de trabajo monolíticas de IMS de mainframe.

  • Reduce la deuda técnica mediante la implementación de soluciones nativas de la nube y DevOps.

  • Envía datos de IMS DB a aplicaciones basadas en la nube que no utilizan un mainframe, incluidas las aplicaciones de IA y análisis.

Casos de uso potenciales

Esta solución puede ser útil para:

  • Sectores bancarios, financieros, de seguros, gubernamentales y minoristas que utilizan Mainframe IMS. Muchas de estas organizaciones ejecutan sus aplicaciones OLTP y por lotes principales en IMS DB/DC.

  • Clientes de mainframe de IBM zSeries que necesitan migrar aplicaciones de misión crítica. Estos clientes quieren mantener la continuidad con otras aplicaciones locales y evitar los efectos de una remodelación completa.

Consideraciones

Estas consideraciones implementan los pilares del Azure Well-Architected Framework, que es un conjunto de principios rectores que puede utilizar para mejorar la calidad de una carga de trabajo. Para obtener más información, vea Well-Architected Framework.

Fiabilidad

La confiabilidad ayuda a garantizar que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, consulte Lista de comprobación de revisión de diseño para confiabilidad.

  • Puede implementar esta arquitectura OLTP en varias regiones e incorporar una capa de datos de replicación geográfica.

  • Los servicios de base de datos de Azure admiten la redundancia de zona y pueden conmutar por error a un nodo secundario durante las interrupciones o para habilitar las actividades de mantenimiento.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el uso indebido de sus valiosos datos y sistemas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para seguridad.

  • ExpressRoute proporciona una conexión privada y eficaz a Azure desde el entorno local.

  • Puede usar el identificador de Microsoft Entra para autenticar los recursos de Azure. Puede utilizar el control de acceso basado en roles para administrar los permisos.

  • Esta solución usa un grupo de seguridad de red de Azure para administrar el tráfico entre los recursos de Azure. Para más información, consulteGrupo de seguridad de red.

  • Estas opciones de seguridad están disponibles en los servicios de base de datos de Azure:

    • Cifrado de datos en reposo
    • Enmascaramiento dinámico de datos
    • Datos siempre encriptados

Para obtener instrucciones generales sobre cómo diseñar soluciones de datos altamente seguras, consulte Seguridad para Motor de base de datos de SQL Server y Base de datos SQL de Azure.

Optimización de costos

La optimización de costos se centra en formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la optimización de costes.

  • Virtual Machine Scale Sets optimiza los costos al minimizar el número de instancias de hardware innecesarias que ejecutan la aplicación cuando la demanda es baja.

  • SQL Managed Instance proporciona varios planes de tarifa, como de uso general y crítico para la empresa, para optimizar los costos en función del uso y la importancia empresarial.

  • Las reservas de Azure y el plan de ahorro de Azure para el proceso con un contrato de uno o tres años proporcionan ahorros significativos en comparación con los precios de pago por uso. En muchos casos, puede reducir aún más los costos mediante la implementación de la flexibilidad del tamaño de las instancias reservadas.

  • La Ventaja híbrida de Azure es una ventaja de licencia que puede ayudarle a reducir significativamente los costos de ejecución de sus cargas de trabajo en la nube. Funciona permitiéndole usar sus licencias locales de Windows Server y SQL Server habilitadas para Software Assurance en Azure.

Use la calculadora de precios de Azure para calcular el costo de implementación de esta solución. A continuación, se muestra una estimación basada en los componentes de esta solución, a una escala razonable.

Eficiencia del rendimiento

La eficiencia del rendimiento hace referencia a la capacidad de escalado de la carga de trabajo para satisfacer las demandas de los usuarios de forma eficaz. Para obtener más información, consulte Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.

  • Virtual Machine Scale Sets garantiza que haya suficientes máquinas virtuales disponibles para satisfacer las necesidades críticas de procesamiento en línea y por lotes.

  • Blob Storage es un sistema escalable para almacenar copias de seguridad, datos de archivo, archivos de datos secundarios y otros objetos digitales no estructurados.

  • El Asistente para la optimización del motor de base de datos analiza las bases de datos y hace recomendaciones que puede usar para optimizar el rendimiento de las consultas. Puede utilizar el Asistente para la optimización de Motor de base de datos para seleccionar y crear un conjunto óptimo de índices, vistas indizadas o particiones de tabla.

  • La escalabilidad es una de las características más importantes de PaaS. Le permite agregar recursos dinámicamente a su servicio cuando los necesite. Puede usar Base de datos SQL para cambiar fácilmente los recursos, como la potencia de la CPU, la memoria, el rendimiento de entrada/salida y el almacenamiento, que se asignan a las bases de datos. Puede usar SQL Managed Instance para agregar recursos de forma dinámica a la base de datos con un tiempo de inactividad mínimo.

  • In-Memory OLTP es una tecnología disponible en SQL Server y SQL Database para optimizar el rendimiento del procesamiento de transacciones, la ingesta de datos, la carga de datos y los escenarios de datos transitorios.

Colaboradores

Microsoft mantiene este artículo. Los colaboradores siguientes escribieron este artículo.

Autores principales:

Otros colaboradores:

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

Pasos siguientes

Para obtener más información, póngase en contacto con Ingeniería de datos de Azure: modernización del sistema central.

Vea la arquitectura complementaria:

Más recursos relacionados: