La solución de refactorización automatizada de COBOL de Astadia ofrece aplicaciones y bases de datos habilitadas para la nube que hacen lo mismo que sus homólogos heredados. Las aplicaciones refactorizadas se ejecutan como aplicaciones de Azure en máquinas virtuales proporcionadas por Azure Virtual Machines. Azure ExpressRoute las pone a disposición de los usuarios y Azure Load Balancer distribuye la carga.
Arquitectura de sistema central
Esta es una arquitectura de sistema central que representa el tipo de sistema adecuado para la solución de refactorización de Astadia.
Descargue un archivo Visio de esta arquitectura.
Flujo de datos
- La entrada de usuario TN3270 y HTTP(S) llega a través de TCP/IP.
- La entrada de sistema central usa protocolos estándar de sistema central.
- Hay aplicaciones por lotes y en línea.
- Las aplicaciones escritas en COBOL, PL/I, Assembler y otros lenguajes se ejecutan en un entorno habilitado.
- Los datos se mantienen en archivos y en bases de datos jerárquicas, de red y relacionales.
- Entre los servicios comúnmente usados se incluyen la ejecución de programas, las operaciones de E/S, la detección de errores y la protección dentro del entorno.
- Los servicios de middleware y de utilidades administran el almacenamiento en cinta, la puesta en cola, la salida y la actividad web.
- Cada sistema operativo se ejecuta en su propia partición.
- Las particiones separan diferentes cargas de trabajo o tipos de trabajo.
Arquitectura de Azure
Esta es una arquitectura de Azure para reemplazar la funcionalidad de sistema central por aplicaciones refactorizadas.
Descargue un archivo Visio de esta arquitectura.
Flujo de datos
- La entrada procede de clientes remotos y otros usuarios a través de ExpressRoute. TCP/IP es la manera principal de conectarse al sistema.
- Los usuarios locales acceden a aplicaciones basadas en web a través del puerto 443 de Seguridad de la capa de transporte (TLS). Las interfaces de usuario permanecen igual para reducir las necesidades de reentrenamiento del usuario final.
- El acceso administrativo local usa hosts de Azure Bastion.
- Los usuarios de Azure se conectan al sistema a través del emparejamiento de red virtual.
- Load Balancer administra el acceso a los clústeres de proceso de aplicaciones. Load Balancer admite recursos de proceso de escalabilidad horizontal para controlar la entrada. Funciona en el nivel 7, nivel de aplicación o en el nivel 4, nivel de red, dependiendo de la entrada de la aplicación.
- Las bibliotecas en tiempo de ejecución de Astadia ejecutan aplicaciones refactorizadas en Azure Virtual Machines. Los recursos de proceso usan discos administrados de almacenamiento Azure SSD prémium o Azure Ultra con redes aceleradas.
- Los servicios de datos de los clústeres de aplicaciones admiten varias conexiones a orígenes de datos persistentes. Azure Private Link proporciona conectividad privada entre la red virtual y los servicios de Azure. Los orígenes de datos incluyen servicios de datos, como Azure SQL Database y Azure PostgreSQL.
- El almacenamiento de datos es con redundancia local o con redundancia geográfica, según el uso. Es una mezcla de:
- Almacenamiento de alto rendimiento:
- SSD Premium
- Almacenamiento en disco Ultra
- Azure SSD estándar, incluido el almacenamiento de blobs, archivos y copias de seguridad.
- Almacenamiento de alto rendimiento:
- Los servicios de datos de Azure proporcionan almacenamiento de datos escalable y de alta disponibilidad que comparten los clústeres de proceso. El almacenamiento puede ser con redundancia geográfica.
- Azure Blob Storage sirve como zona de aterrizaje para los datos de orígenes de datos externos.
- Azure Data Factory ingiere datos y sincroniza varios orígenes de datos externos y de Azure.
- Azure Site Recovery proporciona recuperación ante desastres para las máquinas virtuales y los componentes del clúster de contenedor.
- Servicios, como Microsoft Entra ID, Azure Networking, Azure DevOps, Azure Stream Analytics, Azure Databricks, GitHub y Power BI se integran fácilmente con el sistema modernizado.
Componentes
- ExpressRoute amplía la red local a Azure mediante una conexión de fibra privada dedicada de un proveedor de conectividad. ExpressRoute establece conexiones con servicios en la nube de Microsoft, como Azure y Microsoft 365.
- Azure Bastion proporciona conectividad fluida del Protocolo de escritorio remoto (RDP) o de Secure Shell (SSH) a las máquinas virtuales de la red virtual desde Azure Portal mediante TLS. Azure Bastion maximiza la seguridad del acceso administrativo al dejar menos puertos abiertos.
- Load Balancer distribuye el tráfico entrante a los clústeres de recursos de proceso. Usa reglas configurables y otros criterios para distribuir el tráfico.
- Azure Virtual Machines ofrece muchos tipos y tamaños de máquinas virtuales escalables a petición. Con Azure Virtual Machines, obtiene la flexibilidad de la virtualización y no tiene que comprar ni mantener hardware físico.
- Azure Virtual Network es el bloque de creación fundamental de las redes privadas de Azure. Las máquinas virtuales dentro de las redes virtuales se comunican de forma segura entre sí, con Internet y con redes locales. Una red virtual es como una red local tradicional, pero con las ventajas de la infraestructura de Azure, como escalabilidad, alta disponibilidad y aislamiento.
- Private Link proporciona conectividad privada entre redes virtuales y servicios de Azure. Private Link simplifica la arquitectura de red y protege la conexión entre los puntos de conexión de Azure mediante la eliminación de la exposición a la red pública de Internet.
- Azure Storage es una solución segura y escalable de almacenamiento en la nube para todo sus datos, aplicaciones y cargas de trabajo.
- Azure Disk Storage es almacenamiento en bloques duradero y de alto rendimiento para aplicaciones críticas para la empresa. Los discos administrados de Azure son volúmenes de almacenamiento de nivel de bloque que Azure administra en máquinas virtuales. Los tipos de discos disponibles son Disco Ultra, SSD prémium, SSD estándar y Azure HDD estándar. En esta arquitectura se usan discos Ultra o SSD prémium.
- Azure Files ofrece recursos compartidos de archivos en la nube totalmente administrados, a los que se accede mediante el protocolo de Bloque de mensajes del servidor (SMB) estándar. Las implementaciones de Windows, Linux y macOS locales y en la nube comparten el acceso mediante el montaje simultáneo de recursos compartidos de archivos.
- Azure NetApp Files proporciona recursos compartidos de archivos de Azure de nivel empresarial con tecnología de NetApp. NetApp Files facilita a las empresas la migración y ejecución de aplicaciones complejas basadas en archivos sin cambios en el código.
- Blob Storage es almacenamiento de objetos seguro y escalable para cargas de trabajo nativas de nube, archivos, lagos de datos, informática de alto rendimiento y aprendizaje automático.
- Azure tiene bases de datos en memoria, relacionales y NoSQL totalmente administradas para satisfacer las necesidades de las aplicaciones modernas. La administración automatizada de la infraestructura proporciona escalabilidad, disponibilidad y seguridad. Para información general sobre los tipos de bases de datos, consulte Tipos de bases de datos en Azure.
- SQL Database es un motor de bases de datos totalmente administrado. SQL Database se ejecuta siempre en la última versión estable de SQL Server y en un sistema operativo revisado con alta disponibilidad. Las funcionalidades integradas de administración de bases de datos incluyen la actualización, la aplicación de revisiones, las copias de seguridad y la supervisión. Con estas tareas resueltas, puede centrarse en la administración y optimización de bases de datos específicas del dominio, críticas para la empresa.
- Azure Database for PostgreSQL es una base de datos completamente administrada basada en el motor de base de datos relacional de código abierto PostgreSQL. En el caso de las aplicaciones que requieren mayor escala y rendimiento, la opción de implementación Hiperescala (Citus) escala las consultas entre varias máquinas mediante su división en particiones.
- Azure Cosmos DB es una base de datos NoSQL rápida totalmente administrada con API abiertas para cualquier escala.
- Site Recovery crea un reflejo de las máquinas virtuales en una región secundaria de Azure para acelerar la conmutación por error y la recuperación ante desastres si un centro de datos de Azure deja de funcionar.
- Data Factory es un servicio de extracción, transferencia y carga (ETL) para la integración y la transformación de datos sin servidor. Ofrece una interfaz de usuario sin código que favorece la creación intuitiva y una supervisión y administración desde un único panel.
Detalles del escenario
Hay razones importantes por las que las empresas deben reemplazar sus sistemas centrales y de COBOL:
- Escasez de experiencia de dominio: los desarrolladores que entienden de COBOL y de tecnología de sistema central se están jubilando, y hay pocos desarrolladores cualificados para sustituirlos. El grupo de talentos se reduce constantemente y los costos y riesgos de depender de COBOL aumentan.
- Flexibilidad limitada: COBOL y los sistemas subyacentes que lo admiten no estaban diseñados para las aplicaciones modernas basadas en la nube. Son inflexibles y difíciles de integrar.
- Costos exorbitantes: los costos de hardware y software de sistemas centrales de IBM son altos. Los precios de licencia y mantenimiento de las bases de datos y las aplicaciones auxiliares de sistema central van en aumento.
Hay una manera de avanzar para los sistemas centrales y de COBOL. La solución de refactorización automatizada de COBOL de Astadia ofrece aplicaciones y bases de datos habilitadas para la nube que hacen lo mismo que sus homólogos heredados. Las aplicaciones refactorizadas se ejecutan como aplicaciones de Azure en máquinas virtuales proporcionadas por Azure Virtual Machines. Azure ExpressRoute las pone a disposición de los usuarios y Azure Load Balancer distribuye la carga.
La refactorización reduce los costos y permite una integración y personalización más profundas para satisfacer los requisitos empresariales. Los problemas y los costos de COBOL y el sistema central dan paso a un nuevo mundo de calidad y escalabilidad que incluye:
- Pruebas automatizadas y control de calidad.
- Docker y Kubernetes para la implementación y orquestación contenedorizadas.
La solución de refactorización crea aplicaciones que:
- Son funcionalmente equivalentes a sus homólogos originales.
- Se escriben en el lenguaje de su elección: Java o C#.
- Siguen los conceptos y paradigmas orientados a objetos.
- Son fáciles de mantener.
- Funcionan igual de bien que las aplicaciones que reemplazan, o incluso mejor.
- Están listas para la nube.
- Se entregan mediante una cadena de herramientas DevOps estándar y procedimientos recomendados.
El proceso de refactorización incluye la normalización de flujos, la reestructuración de código, la extracción de capas de datos, el remodelado de datos y el empaquetado con fines de reconstrucción. Identifica el código clonado y lo reemplaza por objetos compartidos para simplificar el mantenimiento y la capacidad de administración. El proceso también identifica y quita el código no cifrado mediante el análisis de los datos y las dependencias de control.
Los desarrolladores de Java y C# adaptan las aplicaciones refactorizadas para la optimización en la nube mediante herramientas de DevOps estándar y conceptos de integración continua y entrega continua (CI/CD). Estas herramientas y métodos no están disponibles para las aplicaciones de sistema central. La optimización ofrece eficiencias y ventajas empresariales, como elasticidad, definición de servicios pormenorizada e integración sencilla con servicios nativos en la nube.
Posibles casos de uso
La refactorización automatizada está disponible para la mayoría de los dialectos y plataformas de COBOL, como z/OS, OpenVMS y VME. Los candidatos para usarla son organizaciones que buscan:
- Modernizar la infraestructura y escapar de los altos costos, las limitaciones y la rigidez de los sistemas centrales.
- Evitar los riesgos de escasez de desarrolladores de COBOL y de sistema central.
- Reducir los costos asociados a los gastos operativos y de capital.
- Mover las cargas de trabajo del sistema central a la nube sin los costos y riesgos de reescrituras manuales prolongadas.
- Migrar las aplicaciones críticas a la nube sin afectar a la continuidad con otras aplicaciones locales.
- Hacer que los sistemas sean horizontal y verticalmente escalables.
- Implementar técnicas de recuperación ante desastres.
Consideraciones
Las consideraciones de esta sección, basadas en el Marco de buena arquitectura de Microsoft Azure, se aplican a esta solución.
DevOps
La refactorización no solo admite una adopción de la nube más rápida, sino que también promueve la adopción de DevOps y de los principios de trabajo de Agile. Dispone de total flexibilidad en las opciones de implementación de desarrollo y producción.
Confiabilidad
- La arquitectura usa Site Recovery para crear un reflejo de las máquinas virtuales en una región secundaria de Azure para acelerar la conmutación por error y la recuperación ante desastres si un centro de datos de Azure deja de funcionar.
- La característica de grupos de conmutación por error automática de SQL Database proporciona protección de datos mediante la administración de la replicación de base de datos y la conmutación por error a la región secundaria. Para obtener más información, consulte Procedimientos recomendados e introducción a los grupos de conmutación por error automática (Azure SQL Database).
- La resistencia se integra en esta solución mediante Load Balancer. Si se produce un error en un servidor de presentaciones o transacciones, los otros servidores ejecutan las cargas de trabajo.
- Se recomienda crear conjuntos de disponibilidad para que las máquinas virtuales aumenten la disponibilidad. Para más información, consulte Información general sobre los conjuntos de disponibilidad.
- Se recomienda usar la replicación geográfica para aumentar la confiabilidad. Para más información, vea Redundancia de Azure Storage.
Escalabilidad
Esta solución admite la implementación en contenedores, máquinas virtuales o conjuntos de escalado de máquinas virtuales. A diferencia de las máquinas virtuales, los contenedores y los conjuntos de escalado de máquinas virtuales pueden escalarse o reducirse horizontalmente de manera rápida. Cambiar la unidad de escalado a contenedores optimiza el uso de la infraestructura.
Seguridad
- 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.
- Private Link para Azure SQL Database proporciona una conexión directa y privada que está aislada de la red troncal de redes de Azure y que se ejecuta entre las máquinas virtuales y SQL Database.
- Azure Bastion maximiza la seguridad de acceso de administrador al dejar menos puertos abiertos. Proporciona una conectividad RDP/SSH segura e ininterrumpida a las máquinas virtuales de la red virtual directamente desde Azure Portal a través de TLS.
Optimización de costos
- Azure ayuda a evitar costos innecesarios al permitir la identificación del número de recursos correcto, el análisis de los gastos a lo largo del tiempo y el escalado anticipado para satisfacer las necesidades empresariales sin gastos excesivos.
- Azure minimiza los costos mediante la ejecución en máquinas virtuales. Puede desactivar las máquinas virtuales que no se usan y proporcionar una programación para patrones de uso conocidos. Para más información sobre la optimización de costos de las máquinas virtuales, consulte Virtual Machines.
- Las máquinas virtuales de esta arquitectura usan discos Ultra o SSD prémium. Para más información sobre los precios y las opciones de disco, consulte Precios de Managed Disks.
- SQL Database optimiza los costos con recursos de proceso sin servidor y de almacenamiento de Hiperescala que se escalan automáticamente. Para más información sobre las opciones y los precios de SQL Database, consulte Precios de Azure SQL Database.
- Para calcular los costos de la implementación de esta solución, use la calculadora de precios.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Autor principal:
- Richard Cronheim | Responsable de programa senior
Otro colaborador:
- Bhaskar Bandam | Responsable de programa senior
Pasos siguientes
- Para más información, póngase en contacto con legacy2azure@microsoft.com.
Azure
- ¿Qué son las redes aceleradas?
- Cómo filtran el tráfico de red los grupos de seguridad de red.
- Tipos de bases de datos en Azure
Sitio web de Astadia
- Migración de aplicaciones de sistema central a Azure
- Fuerza Aérea de Estados Unidos (caso práctico)
- Condado de Jefferson (caso práctico)
Otros
Orígenes relacionados
- Procesamiento de transacciones en lote de alto volumen
- Refactorización general del sistema central en Azure
- Migración del sistema central IBM z/OS con Avanade AMT
- Procesamiento de transacciones en línea de IBM z/OS en Azure
- Micro Focus Enterprise Server en VM de Azure
- Refactorización del recurso de acoplamiento (CF) del sistema central z/OS de IBM en Azure
- Refactorización de aplicaciones de sistema central con Advanced
- Refactorización de sistemas centrales que ejecutan Adabas & Natural
- Rehospedaje de aplicaciones de sistema central en Azure con compiladores de Raincode
- Use el sistema central definido por software (SDM) de LzLabs en una implementación de máquina virtual de Azure
- Migración de aplicaciones de sistema central de IBM a Azure con TmaxSoft OpenFrame