Esta arquitectura de referencia muestra cómo puede usar Azure para volver a diseñar una aplicación por lotes del sistema central z/OS para ofrecer un sistema seguro, escalable y de alta disponibilidad en la nube mediante Azure. Debido a las necesidades empresariales en constante evolución, los datos y las aplicaciones necesitan ofrecer y escalar sin afectar a la infraestructura. La nueva ingeniería en la nube puede ayudar a las empresas en finanzas, salud, seguros y minoristas a minimizar sus tiempos de entrega de productos o características, y reducir los costos.
Arquitectura del sistema central
En el primer diagrama se muestra la arquitectura de una aplicación por lotes típica que se ejecuta en un sistema central z/OS.
Descargar un archivo de Visio de esta arquitectura.
Flujo de trabajo
Los procesos por lotes del sistema central se pueden desencadenar en un momento programado mediante un programador de operación, planificación y control (OPC). También pueden desencadenarse mediante un mensaje colocado en una cola de mensajes, como un mensaje que anuncia que se creó un archivo.
Un dispositivo de almacenamiento de acceso directo del sistema central (DASD) se usa para almacenar archivos de entrada y salida; por ejemplo, los archivos planos que requiere la aplicación. Puede desencadenar el proceso por lotes mediante la creación de un archivo en el almacenamiento DASD.
El proceso por lotes es una ejecución de un conjunto de trabajos, como un trabajo que ejecuta internamente un usuario o programa del sistema para realizar una tarea específica. Normalmente, los procesos por lotes se ejecutan sin interacción del usuario. Todos los trabajos por lotes de un sistema central se ejecutan bajo el control de un sistema de ejecución de trabajos (JES).
Los programas en procesos por lotes pueden leer y escribir datos de:
- Una base de datos basada en archivos, como el método de acceso de almacenamiento virtual (VSAM).
- Una base de datos relacional como Db2 o Informix.
- Una base de datos no relacional como Information Management System (IMS).
- Una cola de mensajes.
La salida de la ejecución del trabajo se puede supervisar mediante un programador de OPC o Tivoli Workload Scheduler (TWS). También se usa una instalación de visualización y búsqueda del sistema (SDSF) en el JES en el sistema central para comprobar el estado de ejecución del trabajo.
El nivel de administración proporciona los siguientes servicios:
- Control de código fuente, como Endevor o Changeman.
- Seguridad, como resource Access Control Facility (RACF). Esta seguridad proporciona autenticación para ejecutar lotes, acceder a archivos y acceder a la base de datos.
- Administración de salidas que admite el almacenamiento y la búsqueda de registros de ejecución de trabajos.
Arquitectura de Azure
En el segundo diagrama se muestra cómo puede usar los servicios de Azure para volver a diseñar una aplicación similar con funcionalidades y flexibilidad agregadas.
Descargar un archivo de Visio de esta arquitectura.
Flujo de trabajo
Use uno de los siguientes desencadenadores para iniciar el proceso de Azure Batch.
- Use el programador de trabajos de azure Databricks o programador de azure Function.
- Cree una tarea de proceso por lotes periódica con Azure Logic Apps.
- Use un evento de almacenamiento, como la creación o eliminación de un archivo en Azure Blob o File Storage.
- Use un desencadenador basado en mensajes, como la llegada de un mensaje en el Azure Service Bus.
- Cree un desencadenador
de Azure Data Factory.
Almacene los archivos migrados desde el sistema central mediante Azure Blob Storage o Azure Files. Los procesos por lotes rediseñados en Azure pueden leer y escribir datos de este almacenamiento.
Azure proporciona varios servicios para implementar una carga de trabajo por lotes del sistema central. Seleccione servicios específicos que se basen en sus requisitos empresariales. Por ejemplo, la potencia de proceso necesaria, el tiempo de ejecución total, la capacidad de dividir el proceso por lotes del sistema central en unidades más pequeñas y la sensibilidad a los costos.
- Azure Databricks es una plataforma de análisis basada en Apache Spark. Los trabajos se pueden escribir en los lenguajes R, Python, Java, Scala y Spark SQL. Proporciona un entorno de proceso con tiempos de inicio rápidos del clúster, terminación automática y escalado automático. Tiene integración integrada con Azure Storage, como Azure Blob Storage y Azure Data Lake Storage. Use Azure Databricks si necesita procesar grandes cantidades de datos en poco tiempo. También es una buena opción si necesita ejecutar cargas de trabajo De extracción, transformación y carga (ETL).
- AKS y Service Fabric proporcionan una infraestructura para implementar una arquitectura de aplicación basada en servicios. Es posible que no sea rentable para una sola aplicación. Puede refactorizar la aplicación del sistema central mediante Java Spring Boot. La mejor manera de ejecutar aplicaciones de Spring Boot en Azure es usar Azure Spring Apps, un servicio spring totalmente administrado. Los desarrolladores de Java pueden usarlo para compilar y ejecutar fácilmente microservicios de Spring Boot en Azure.
- Puede volver a diseñar la aplicación por lotes del sistema central mediante .NET o Java. Batch proporciona la infraestructura para ejecutar esta aplicación a escala. Crea y administra un grupo de máquinas virtuales (VM), instala las aplicaciones y, a continuación, programa los trabajos para que se ejecuten en las máquinas virtuales. No hay ningún software de programador de trabajos o clúster para instalar, administrar ni escalar. Escriba aplicaciones en cualquier lenguaje de programación compatible con Windows o Linux.
- Puede volver a diseñar programas por lotes de COBOL o PL/1 de ejecución corta. Para estos programas, use servicios de Azure como Functions, WebJobs o Logic Apps.
Azure proporciona varios servicios de datos para almacenar y recuperar datos.
- Puede migrar bases de datos relacionales del sistema central como Db2 e Informix con cambios mínimos en la visibilidad de las ofertas de bases de datos relacionales de Azure. Por ejemplo, los servicios de base de datos relacionales, como máquinas virtuales de Azure SQL, Azure SQL DB o Azure SQL MI. También puede usar cualquier sistema de administración de bases de datos relacionales (RDBMS) de código abierto como Azure PostgreSQL. La selección de una base de datos de Azure depende del tipo de carga de trabajo, consultas entre bases de datos, requisitos de confirmación en dos fases y muchos otros factores.
- Puede migrar bases de datos no relacionales del sistema central como IMS, Integrated Data Management System (IDMS) o VSAM a Azure Cosmos DB. Azure Cosmos DB proporciona tiempos de respuesta rápidos, escalabilidad automática e instantánea y velocidad garantizada a cualquier escala. Es una opción rentable para cargas de trabajo impredecibles o esporádicas de cualquier tamaño o escala. Los desarrolladores pueden empezar fácilmente sin tener que planear ni administrar la capacidad.
- Puede usar Azure Cache for Redis para acelerar una aplicación rediseñada.
Las aplicaciones, el sistema operativo y los recursos de Azure pueden usar agentes para enviar registros y métricas a registros de Azure Monitor.
- Application Insight supervisa la aplicación migrada. Detecta automáticamente anomalías de rendimiento e incluye herramientas de análisis eficaces para ayudarle a diagnosticar problemas.
- azure Log Analytics ayuda a almacenar, indexar, consultar y derivar análisis de los datos de registro recopilados.
Puede usar la salida de Log Analytics y Application Insights para crear alertas y paneles o exportar a servicios externos. También puede usar la salida para realizar una acción como el escalado de una máquina virtual.
Este nivel proporciona servicios de Azure para el control de código fuente, la seguridad y la administración de salida. Estos servicios pueden constar de Azure DevOps y el identificador de Microsoft Entra.
Componentes
Red e identidad
- Azure ExpressRoute: ExpressRoute le permite ampliar las redes locales a la nube de Microsoft a través de una conexión privada desde un proveedor de conectividad. Con ExpressRoute, puede establecer conexiones a servicios en la nube de Microsoft como Microsoft Azure y Office 365.
- azure VPN Gateway: una puerta de enlace de VPN es un tipo específico de puerta de enlace de red virtual que se usa para enviar tráfico cifrado entre una red virtual de Azure y una ubicación local a través de la red pública de Internet.
- id. de Entra de Microsoft: El identificador de Microsoft Entra es un servicio de administración de identidades y acceso que puede sincronizarse con un directorio local.
Aplicación
- Logic Apps: Logic Apps le ayuda a crear y ejecutar tareas y procesos periódicos automatizados según una programación. Puede llamar a servicios dentro y fuera de Azure, como puntos de conexión HTTP o HTTPS. También puede publicar mensajes en servicios de Azure como Azure Service Bus o obtener archivos cargados en un recurso compartido de archivos.
- service Bus: puede usar Service Bus para la mensajería entre una interfaz de usuario y los servicios back-end. Este sistema puede desacoplar aplicaciones y servicios y aumentar la confiabilidad y el uso.
- Azure Databricks: Azure Databricks es una herramienta de ingeniería de datos basada en la nube que se usa para procesar y transformar grandes cantidades de datos. Después, puede explorar esos datos a través de modelos de aprendizaje automático.
- Azure Spring Apps: Azure Spring Apps facilita la implementación, administración y ejecución de microservicios de Spring en Azure. Admite Java y .NET Core.
- AKS: AKS simplifica la implementación de un clúster de Kubernetes administrado en Azure descargando la sobrecarga operativa en Azure.
- Batch: Batch está diseñado para ejecutar la informática por lotes de uso general en la nube en muchas máquinas virtuales que se pueden escalar en función de la carga de trabajo que se ejecuta. Es una opción perfecta para los casos de uso de ETL o IA en los que se ejecutan varias tareas en paralelo, independientes entre sí.
- Functions: use Functions para ejecutar pequeños fragmentos de código sin preocuparse por la infraestructura de aplicaciones. Con Functions, la infraestructura en la nube proporciona todos los servidores up-to-date que necesita para mantener la aplicación en ejecución a escala.
- Azure App Service: con WebJobs, una característica de App Service, puede codificar la lógica empresarial en segundo plano reutilizable como trabajos web.
- Azure Cache for Redis: las aplicaciones que usan un gran volumen de datos de back-end se pueden desarrollar para escalar y ofrecer un rendimiento altamente optimizado mediante la integración con un almacén de datos en memoria como Redis. Azure Cache for Redis ofrece el código abierto de Redis (OSS Redis) y un producto comercial de Redis Labs, Redis Enterprise, como servicio administrado.
Almacenamiento
Azure Storage proporciona varios niveles de datos de acceso frecuente, esporádico y de archivo. El uso efectivo de estos niveles de almacenamiento puede ofrecer una ventaja de precio a rendimiento.
- Blob Storage: almacenamiento de objetos escalable y seguro para cargas de trabajo, archivos, lagos de datos, informática de alto rendimiento y aprendizaje automático.
- azure Files: recursos compartidos de archivos en la nube sencillos, seguros y sin servidor. Azure Files puede resultar especialmente útil para las soluciones de sistema central rediseñadas. Proporciona un complemento eficaz para el almacenamiento de SQL administrado.
- Table Storage: un almacén de clave-valor noSQL para el desarrollo rápido mediante grandes conjuntos de datos semiestructurados.
- Azure Queue Storage: colas de mensajes simples, rentables y duraderas para cargas de trabajo de gran tamaño.
- Azure SQL: familia de servicios totalmente administrados de Azure para SQL Server. Puede migrar y usar los datos relacionales de forma eficaz con otros servicios de Azure, como Azure SQL Managed Instance, SQL Server en Azure Virtual Machines y Azure Database for MariaDB.
- de Azure Cosmos DB: una oferta sin SQL que puede usar para migrar datos no tabulares de los sistemas centrales.
Monitorización
- azure Monitor: Azure Monitor ofrece una solución completa para recopilar, analizar y actuar sobre la telemetría de entornos locales y en la nube. Contiene las características de Application Insights, registros de Azure Monitor y Azure Log Analytics.
Administración
Azure DevOps: vuelva a diseñar aplicaciones centrales en Azure durante cada fase del desarrollo de software y la colaboración en equipo. DevOps proporciona los siguientes servicios:
- Azure Boards: planeamiento ágil, seguimiento de elementos de trabajo, visualización e herramienta de informes.
- azure Pipelines: un lenguaje, una plataforma y una plataforma independiente de CI/CD en la nube compatible con contenedores o Kubernetes.
- azure Repos: proporciona repositorios git privados hospedados en la nube.
- azure Artifacts: proporciona administración de paquetes integrada compatible con las fuentes de paquetes Maven, npm, Python y NuGet de orígenes públicos o privados.
- azure Test Plans: proporciona una solución de prueba integrada, planeada y exploratoria.
Detalles del escenario
Los sistemas centrales se usan principalmente para procesar grandes cantidades de datos. El procesamiento por lotes es una forma de procesar un gran volumen de transacciones agrupadas y, a continuación, realizar actualizaciones masivas en la base de datos. Una vez desencadenado, requieren una interacción mínima para el usuario. Por ejemplo, los sistemas centrales hacen posible que los bancos y otras instituciones financieras realicen un procesamiento final del trimestre y generen informes, como acciones trimestrales o declaraciones de pensiones.
Casos de uso potenciales
Esta solución es ideal para las industrias financieras, aseguradoras, sanitarias y minoristas. Use esta arquitectura para volver a diseñar aplicaciones del sistema central en Azure. La arquitectura funciona mejor para:
- Aplicaciones por lotes de sistema central que consumen muchos recursos.
- Aplicaciones por lotes que necesitan un proceso elevado durante un determinado tiempo, como finales de mes, trimestre o año.
- Procesos por lotes del sistema central que son repetitivos y no intensivos en recursos, pero que pueden necesitar el uso por parte de sistemas externos.
Consideraciones
Estas consideraciones implementan los pilares de Azure Well-Architected Framework, que es un conjunto de principios rectores que se pueden usar para mejorar la calidad de una carga de trabajo. Para obtener más información, consulte Microsoft Azure Well-Architected Framework.
Fiabilidad
La confiabilidad garantiza que la aplicación pueda cumplir los compromisos que realice para sus clientes. Para obtener más información, vea Lista de comprobación de revisión de diseño para lade confiabilidad.
- Puede usar Azure Monitor y Application Insights, además de Log Analytics, para supervisar el estado de un recurso de Azure. Establezca alertas para administrar proactivamente el estado de los recursos.
- Para más información sobre la resistencia en Azure, consulte Diseño de aplicaciones confiables de Azure.
Seguridad
La seguridad proporciona garantías contra ataques deliberados y el abuso de sus valiosos datos y sistemas. Para obtener más información, vea Lista de comprobación de revisión de diseño para security.
- Esta arquitectura de referencia usa ExpressRoute para una conexión privada y eficaz a Azure desde el entorno local. Sin embargo, también puede crear un sitio de a vpn de sitio.
- Puede autenticar los recursos de Azure mediante el identificador de Entra de Microsoft. Puede administrar permisos con el control de acceso basado en rol (RBAC).
- Los servicios de base de datos de Azure admiten varias opciones de seguridad, como cifrado de datos en reposo.
- Para más información sobre el diseño de soluciones seguras, consulte documentación de seguridad de Azure.
Optimización de costos
La optimización de costos consiste en examinar 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 costos.
Use la calculadora de precios de Azure para calcular los costos de los recursos de Azure.
Consulte aplicación por lotes de sistemas centrales de Azure para obtener una estimación de costos de ejemplo de los servicios.
Excelencia operativa
La excelencia operativa abarca los procesos de operaciones que implementan una aplicación y lo mantienen en ejecución en producción. Para obtener más información, vea Lista de comprobación de revisión de diseño para la excelencia operativa.
- La arquitectura por lotes de este artículo usa la informática de varios nodos o los servicios PaaS, que proporcionan alta disponibilidad.
- Los servicios de base de datos de Azure admiten redundancia de zona y puede diseñarlos para conmutar por error a un nodo secundario si hay una interrupción o durante una ventana de mantenimiento.
Eficiencia del rendimiento
La eficiencia del rendimiento es la capacidad de la carga de trabajo para escalar a fin de satisfacer las demandas que los usuarios ponen en ella de forma eficaz. Para obtener más información, vea Lista de comprobación de revisión de diseño para la eficiencia del rendimiento.
Los siguientes servicios de Azure de esta arquitectura tienen funcionalidades de escalado automático:
- Azure Databricks
- AKS
- Spring Apps
- Lote
- Azure Functions
- Logic Apps
Para más información sobre el escalado automático en Azure, consulte la guía de escalado automático de .
Colaboradores
Microsoft mantiene este artículo. Originalmente fue escrito por los siguientes colaboradores.
Autor principal:
Para ver perfiles de LinkedIn no públicos, inicie sesión en LinkedIn.
Pasos siguientes
- Para obtener más información, póngase en contacto con datasqlninja@microsoft.com.
- Consulte las guías de migración de bases de datos de Azure .