Procesamiento de transacciones en línea de IBM z/OS en Azure

Azure Front Door
Administrador de tráfico de Azure
Azure Kubernetes Service (AKS)
Azure Spring Apps
Azure Cache for Redis

Los sistemas de procesamiento de transacciones en línea (OLTP) interactúan directamente con los usuarios y son la cara del negocio. Con una infraestructura adaptable dinámicamente, las empresas pueden fabricar y lanzar sus productos rápidamente para complacer a sus usuarios.

Arquitectura

En el diagrama siguiente se muestra la arquitectura de la carga de trabajo que se va a migrar: un sistema OLTP que se ejecuta en un sistema central z/OS:

Arquitectura de OLTP en z/OS

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

El siguiente flujo de trabajo corresponde al diagrama anterior:

  1. Los usuarios se conectan al sistema central a través de TCP/IP mediante protocolos de sistema central 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 aplicación, los usuarios interactúan con las pantallas de CICS/IMS o con páginas web.
  4. Los administradores de transacciones usan la lógica de negocios escrita en COBOL o PL/1 para implementar las transacciones.
  5. El código de aplicación usa funcionalidades de almacenamiento de la capa de datos, normalmente DB2, IMS DB o VSAM.
  6. Conjuntamente con el procesamiento de transacciones, otros servicios proporcionan autenticación, seguridad, administración, supervisión e informes. Estos servicios interactúan con todos los demás servicios del sistema.

Aquí se ve cómo migrar esta arquitectura a Azure.

Diagrama que muestra una arquitectura para la migración de una carga de trabajo OLTP de z/OS.

Descargue un archivo Visio de esta arquitectura.

  1. Los usuarios del sistema central están familiarizados con los terminales 3270 y la conectividad local. En el sistema migrado, interactúan con las aplicaciones de Azure a través de la red Internet pública o mediante una conexión privada implementada con Azure ExpressRoute. Microsoft Entra ID proporciona autenticación.

  2. Las solicitudes de entrada van a un servicio de equilibrio de carga global, como Azure Front Door o Azure Traffic Manager. El equilibrador de carga puede proporcionar servicio a una base de usuarios distribuida geográficamente. Enruta las solicitudes según las reglas definidas para las cargas de trabajo admitidas. Estos equilibradores de carga pueden coordinarse con Azure Application Gateway o Azure Load Balancer para equilibrar la carga de la capa de aplicación. El servicio Azure Content Delivery Network almacena en caché contenido estático en servidores perimetrales para obtener una respuesta rápida y protegida mediante el servicio Web Application Firewall (WAF).

  3. El front-end de la capa de aplicación usa servicios de Azure, como Azure App Service, para implementar pantallas de aplicación e interactuar con los usuarios. Las pantallas son versiones migradas de las pantallas del sistema central.

  4. El código COBOL y PL/1 del back-end de la capa de aplicación implementa la lógica de negocios. El código puede usar servicios, como Azure Functions, WebJobs y microservicios de Azure Spring Apps. Las aplicaciones se pueden ejecutar en un contenedor de Azure Kubernetes Service (AKS).

  5. Un almacén de datos en memoria acelera las aplicaciones OLTP de alto rendimiento. Uno de estos almacenes es OLTP en memoria, una característica de Azure SQL Database y Azure SQL Managed Instance. Otra es Azure Cache for Redis.

  6. La capa de datos puede incluir, por ejemplo:

    1. Archivos, tablas y blobs implementados mediante los servicios de Azure Storage.
    2. Bases de datos relacionales de la familia de Azure SQL.
    3. Implementaciones de Azure de las bases de datos de código abierto PostgreSQL y MySQL.
    4. Azure Cosmos DB, una base de datos NoSQL.

    Estos almacenes guardan los datos migrados desde el sistema central para su uso en la capa de aplicación.

  7. Los servicios nativos de Azure, como Application Insights y Azure Monitor, supervisan el estado del sistema de manera anticipada. Puede integrar los registros de Monitor mediante un panel de Azure.

Componentes

Esta arquitectura consta de varios servicios en la nube de Azure y se divide en cuatro categorías de recursos: redes e identidades, aplicaciones, almacenamiento y supervisión. Los servicios de cada uno y sus roles se describen en las secciones siguientes.

Redes e identidad

  • Azure ExpressRoute soporta las conexiones privadas entre los centros de datos de Azure y la infraestructura local.
  • Microsoft Entra ID es un servicio de administración de identidades y acceso que se puede sincronizar con un directorio local.
  • Azure Front Door proporciona equilibrio de carga HTTP global con conmutación por error instantánea. Su opción de almacenamiento en caché puede acelerar la entrega de contenido estático.
  • Azure Traffic Manager dirige las solicitudes DNS entrantes en función de los métodos de enrutamiento de tráfico elegidos.
  • Azure Web Application Firewall ayuda a proteger las aplicaciones web frente a ataques malintencionados y vulnerabilidades web comunes, como la inserción de SQL y el scripting entre sitios.
  • Azure Content Delivery Network (CDN) almacena en caché el contenido estático en servidores perimetrales para una respuesta rápida y usa optimizaciones de red para mejorar la respuesta con el contenido dinámico. CDN es especialmente útil cuando la base de usuarios es global.
  • Application Gateway es un servicio de controlador de entrega de aplicaciones. Funciona en la capa 7, la capa de aplicación, y tiene varias funcionalidades de equilibrio de carga.
  • Azure Load Balancer es un equilibrador de carga de capa 4 (TCP y UDP). En esta arquitectura, se proporcionan opciones de equilibrio de carga para Spring Apps y AKS.

Application

  • Azure API Management ayuda en la publicación, el enrutamiento, la protección, el registro y el análisis de las API. Puede controlar cómo se presentan y amplían los datos, así como las aplicaciones que pueden acceder a estos. Puede restringir el acceso a sus aplicaciones o permitir el acceso de terceros.
  • Azure App Service es un servicio totalmente administrado para compilar, implementar y escalar aplicaciones web. Puede compilar aplicaciones mediante .NET, .NET Core, Node.js, Java, Python o PHP. Las aplicaciones se pueden ejecutar en contenedores o en Windows o Linux. En una migración del sistema central, las pantallas de front-end o la interfaz web se pueden programar como API REST basadas en HTTP. Se pueden segregar según la aplicación del sistema central y pueden no tener estado para organizar un sistema basado en microservicios.
  • WebJobs es una característica de Azure App Service que le permite ejecutar un programa o script en la misma instancia que una aplicación web, una aplicación de API o una aplicación móvil. Un trabajo web puede ser una buena opción para implementar lógica de programa compartible y reutilizable. Para información técnica, consulte Ejecución de tareas en segundo plano con WebJobs en Azure App Service.
  • Azure Kubernetes Service (AKS) es un servicio de Kubernetes administrado para la implementación y la administración de aplicaciones contenedorizadas. AKS simplifica la implementación de un clúster de AKS administrado en Azure, al descargar la sobrecarga operativa en Azure.
  • Azure Spring Apps es un servicio de Spring totalmente administrado, creado y operado por Microsoft y VMware. Con él, puede implementar, administrar y ejecutar fácilmente microservicios de Spring y escribir aplicaciones de Spring mediante Java o .NET.
  • Azure Service Bus es un servicio de mensajería en la nube confiable para una integración híbrida sencilla. Las colas de Service Bus y Storage pueden conectar el front-end con la lógica de negocios en el sistema migrado.
  • Azure Functions proporciona un entorno para ejecutar pequeños fragmentos de código, denominados funciones, sin tener que establecer una infraestructura de aplicaciones. Puede usarlo para procesar datos masivos, integrar sistemas, trabajar con IoT, y crear API y microservicios sencillos. Con los microservicios, puede crear servidores que se conecten a los servicios de Azure y estén siempre actualizados.
  • Azure Cache for Redis es un servicio de almacenamiento en caché en memoria totalmente administrado para compartir datos y el estado entre los recursos de proceso. Incluye tanto el producto de código abierto Redis (OSS Redis) como el producto comercial de Redis Labs (Redis Enterprise) como servicio administrado. Se puede mejorar el rendimiento de las aplicaciones OLTP de alto rendimiento si se diseñan para escalarlas y para usar un almacén de datos en memoria, como Azure Cache for Redis.

Storage

Supervisión

  • Azure Monitor recopila y analiza los datos personales de sus entornos de Azure y locales, y actúa sobre dichos datos.
  • Log Analytics es una herramienta de Azure Portal que se usa para consultar los registros de Monitor mediante un lenguaje de consulta eficaz. Puede trabajar con los resultados de las consultas de forma interactiva o usarlos con otras características de Azure Monitor, como las alertas de consultas de registros o los libros. Para más información, consulte Introducción a Log Analytics en Azure Monitor.
  • Application Insights es una característica de Monitor que proporciona supervisión en el nivel de código del uso, la disponibilidad y el rendimiento de las aplicaciones. Supervisa las aplicaciones, detecta anomalías en ellas, como rendimiento deficiente o errores, y envía datos personales a Azure Portal. También puede usar Application Insights para el registro, el seguimiento distribuido y las métricas de aplicación personalizadas.
  • Las alertas de Azure Monitor son una característica de Monitor. Para más información, vea Creación, visualización y administración de alertas de métricas mediante Azure Monitor.

Detalles del escenario

Como los datos y las necesidades empresariales evolucionan constantemente, las aplicaciones deben producir y escalarse sin crear problemas de infraestructura. En esta carga de trabajo de ejemplo se muestra cómo puede migrar una aplicación OLTP del sistema central z/OS a un sistema seguro, escalable y de alta disponibilidad en la nube mediante los servicios de plataforma commo servicio (PaaS) de Azure. Esta migración ayuda a las empresas de los sectores de finanzas, salud, seguros y comercio minorista a reducir los plazos de entrega de las aplicaciones, y contribuye a rebajar los costos de ejecución de estas.

Posibles casos de uso

Esta arquitectura es idónea para cargas de trabajo OLTP que tienen estas características:

  • Prestan servicio a una base de usuarios internacional.
  • Su uso varía considerablemente con el tiempo, por lo que se benefician del escalado flexible y los precios basados en el uso.

Consideraciones

Estas consideraciones implementan los pilares del marco de buena arquitectura de Azure, que es un conjunto de principios guía que se pueden usar para mejorar la calidad de una carga de trabajo. Para más información, consulte Marco de buena arquitectura de Microsoft Azure.

Confiabilidad

La confiabilidad garantiza que la aplicación pueda cumplir los compromisos contraídos con los clientes. Para más información, consulte Resumen del pilar de fiabilidad.

  • Esta arquitectura OLTP se puede implementar en varias regiones y puede tener una capa de datos con replicación geográfica.
  • Los servicios de base de datos de Azure admiten redundancia de zona y pueden conmutar por error a un nodo secundario en caso de una interrupción, o permitir actividades de mantenimiento.

Seguridad

La seguridad proporciona garantías contra ataques deliberados y el abuso de datos y sistemas valiosos. Para más información, consulte Introducción al pilar de seguridad.

  • ExpressRoute crea una conexión privada a Azure desde un entorno local. También puede usar una VPN de sitio a sitio.
  • Microsoft Entra ID puede autenticar los recursos y controlar el acceso mediante el control de acceso basado en rol de Azure.
  • Los servicios de base de datos de Azure admiten varias opciones de seguridad, como el cifrado de datos en reposo.
  • Para instrucciones generales sobre el diseño de soluciones seguras, consulte Introducción al pilar de seguridad.

Optimización de costos

La optimización de costos trata de buscar formas de reducir los gastos innecesarios y mejorar las eficiencias operativas. Para más información, vea Información general del pilar de optimización de costos.

Use la calculadora de precios de Azure para calcular los costos de su implementación.

Excelencia operativa

La excelencia operativa abarca los procesos de las operaciones que implementan una aplicación y la mantienen en ejecución en producción. Para más información, consulte Introducción al pilar de excelencia operativa.

  • En este escenario se usan Azure Monitor y Application Insights para supervisar el estado de los recursos de Azure. Se pueden establecer alertas para una administración proactiva.
  • Para instrucciones sobre la resistencia en Azure, consulte Diseño de aplicaciones de Azure confiables.

Eficiencia del rendimiento

La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar con el fin de satisfacer de manera eficiente las demandas que los usuarios hayan ejercido sobre ella. Para obtener más información, vea Resumen del pilar de eficiencia del rendimiento.

  • Esta arquitectura usa servicios PaaS de Azure, como App Service, que tiene funcionalidades de escalabilidad automática.
  • Para instrucciones sobre la escalabilidad automática en Azure, consulte Escalabilidad automática.

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

Consulte las siguientes arquitecturas relacionadas e información técnica relacionada: