Refactorización general del sistema central en Azure

Archivos de Azure
Azure Load Balancer
Azure SQL Database
Azure Storage
Azure Virtual Machines

En la arquitectura siguiente se muestra un enfoque general de refactorización que puede usar Azure Kubernetes Service (AKS) o máquinas virtuales (VM) de Azure. La elección depende de la portabilidad de las aplicaciones existentes y de sus preferencias. La refactorización puede acelerar el paso a Azure gracias a la conversión automática del código a Java o .NET y a la conversión de bases de datos prerrelacionales a relacionales.

Arquitectura de sistema central

Diagrama de arquitectura que muestra los componentes de un sistema central típico.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  • Los usuarios locales acceden al sistema central a través de TCP/IP mediante protocolos de sistema central estándar, como TN3270 y HTTPS (A).
  • Las aplicaciones receptoras pueden ser sistemas por lotes o en línea (B).
  • COBOL, PL/I, Assembler o lenguajes compatibles se ejecutan en entornos habilitados (C).
  • Los datos y servicios de base de datos típicos incluyen sistemas jerárquicos o de base de datos de red, archivos de datos planos o de índice y bases de datos relacionales (D).
  • Entre los servicios comunes se incluyen la ejecución de programas, las operaciones de E/S, la detección de errores y la protección (E).
  • Los servicios de middleware y de utilidades administran el almacenamiento en cinta, la puesta en cola, la salida y los servicios web (F).
  • Los sistemas operativos son la interfaz entre el motor de proceso y el software (G).
  • Las particiones ejecutan cargas de trabajo independientes o separan tipos de trabajo dentro del entorno (H).

Arquitectura de Azure refactorizada

Diagrama de arquitectura que muestra los componentes de un sistema central refactorizado en Azure.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

  1. La entrada procede de clientes remotos a través de ExpressRoute o de otros usuarios de Azure. TCP/IP es la manera principal de conectarse al sistema.

    • Los usuarios locales pueden acceder a aplicaciones basadas en web a través del puerto 443 de Seguridad de la capa de transporte (TLS). Las capas de presentación de las aplicaciones web pueden permanecer sin cambios, para que el usuario final no necesite apenas reciclaje. También puede actualizar las capas de presentación con marcos modernos de experiencia del usuario.

    • El acceso administrativo local usa hosts de Azure Bastion para maximizar la seguridad, ya que se reduce el número de puertos abiertos.

    • Los usuarios de Azure se conectan al sistema a través del emparejamiento de red virtual.

  2. En Azure, Azure 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. Puede usar un equilibrador de carga de nivel de aplicación 7 o de nivel de red de nivel 4, en función de cómo la entrada de la aplicación alcance el punto de entrada del clúster de proceso.

  3. Los clústeres de proceso de aplicaciones se pueden ejecutar en máquinas virtuales de Azure o en contenedores en clústeres de AKS. Normalmente, la emulación del sistema central en aplicaciones escritas en PL/I o COBOL usan máquinas virtuales, mientras que las aplicaciones refactorizadas en Java o .NET usan contenedores. Algún software de emulación de sistema central también admite la implementación en contenedores. Los recursos de proceso usan discos administrados de unidad de estado sólido (SSD) prémium o Ultra con redes aceleradas y acceso remoto directo a memoria (RDMA).

  4. Los servidores de aplicaciones de los clústeres de proceso hospedan las aplicaciones según la funcionalidad del lenguaje, como clases Java o programas COBOL. Los servidores reciben la entrada de la aplicación y comparten el estado y los datos de la aplicación mediante Azure Cache for Redis o RDMA.

  5. 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 pueden incluir:

    • Servicios de datos PaaS, como Azure SQL Database, Azure Cosmos DB y Azure Database for PostgreSQL - Hiperescala.
    • Bases de datos en máquinas virtuales, como Oracle o Db2.
    • Repositorios de macrodatos, como Azure Databricks y Azure Data Lake.
    • Servicios de datos de streaming, como Apache Kafka y Azure Stream Analytics.
  6. El almacenamiento de datos puede ser con redundancia local o con redundancia geográfica, según el uso. El almacenamiento de datos puede usar una combinación de:

    • Almacenamiento de alto rendimiento con discos SSD Ultra o prémium.
    • Almacenamiento de archivos con Azure NetApp Files o Azure Files.
    • Almacenamiento estándar, incluido el almacenamiento de blobs, archivos y copias de seguridad.
  7. Los servicios de datos PaaS de Azure proporcionan almacenamiento de datos escalable y de alta disponibilidad que se puede compartir entre los recursos del clúster de proceso. Este almacenamiento también puede ser con redundancia geográfica.

    • Azure Blob Storage es una zona de aterrizaje común para los orígenes de datos externos.
    • Azure Data Factory admite la ingesta y la sincronización de datos de varios orígenes de datos externos y de Azure.
  8. Azure Site Recovery proporciona recuperación ante desastres para los componentes de clúster de contenedor y máquina virtual.

  9. Servicios, como Microsoft Entra ID, Azure Networking, Azure Stream Analytics, Azure Databricks y Power BI se pueden integrar fácilmente con el sistema modernizado.

Componentes

En este ejemplo se incluyen los siguientes componentes de Azure. Varios de estos componentes y flujos de trabajo son intercambiables u opcionales en función de su escenario.

  • Azure ExpressRoute amplía la red local a Azure a través de 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.

  • Azure Load Balancer distribuye el tráfico entrante a los clústeres de recursos de proceso. Puede definir reglas y otros criterios para distribuir el tráfico.

  • Azure Kubernetes Service (AKS) es un servicio de Kubernetes completamente administrado para la implementación y la administración de aplicaciones contenedorizadas. AKS ofrece Kubernetes sin servidor, una experiencia integrada de integración y entrega continuas (CI/CD), así como seguridad y gobernanza de nivel empresarial.

  • Azure Virtual Machines proporciona recursos de computación escalables a petición de muchos tipos y tamaños. Con las máquinas virtuales de Azure, obtiene la flexibilidad de la virtualización sin necesidad de adquirir y mantener el hardware físico.

  • Azure Virtual Network es el bloque de creación fundamental de las redes privadas de Azure. Las máquinas virtuales de Azure de las redes virtuales pueden comunicarse 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.

  • Azure Private Link proporciona conectividad privada entre una red virtual y los 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 Cache for Redis agrega una capa de almacenamiento en caché rápido a la arquitectura de la aplicación para gestionar grandes volúmenes a alta velocidad. Azure Cache for Redis amplía el rendimiento de forma sencilla y rentable, con las ventajas de un servicio totalmente administrado.

  • Azure Storage ofrece almacenamiento en la nube escalable y seguro para todos los 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 de Azure. Los tipos de discos disponibles son discos ultra, SSD Premium, SSD Estándar y unidades de disco duro estándar (HDD). En esta arquitectura se usan discos SSD prémium o SSD Ultra.

    • 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. Con las implementaciones de Windows, Linux y macOS locales y en la nube se pueden montar recursos compartidos de archivos de Azure Files de forma simultánea.

    • 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.

    • Azure 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.

  • Las bases de datos de Azure ofrecen una selección de bases de datos 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.

    • Azure SQL Database es un motor de base de datos PaaS totalmente administrado. SQL Database se ejecuta siempre en la última versión estable de SQL Server y en un sistema operativo revisado con el 99,99 % de disponibilidad. Las funcionalidades integradas de administración de bases de datos PaaS incluyen la actualización, la aplicación de revisiones, las copias de seguridad y la supervisión. Puede centrarse en la optimización y la administración de bases de datos específicas del dominio que son críticas para la empresa.

    • Azure Database for PostgreSQL es una base de datos completamente administrada basada en el motor de base relacional de código abierto PostgreSQL. La opción de implementación de Hiperescala (Citus) escala consultas entre varias máquinas mediante el particionamiento, para las aplicaciones que requieren mayor escalabilidad y rendimiento.

    • Azure Cosmos DB es una base de datos NoSQL rápida totalmente administrada con API abiertas para cualquier escala.

  • Azure Site Recovery refleja las máquinas virtuales de Azure en una región de Azure secundaria para acelerar la conmutación por error y la recuperación ante desastres en caso de que deje de funcionar un centro de datos de Azure.

Detalles del escenario

La refactorización de cargas de trabajo en Azure puede transformar las aplicaciones de sistema central que se ejecutan en Windows Server o Linux. Puede ejecutar estas aplicaciones de forma más rentable con la infraestructura como servicio (IaaS) de Azure basada en la nube y la plataforma como servicio (PaaS).

El enfoque general de refactorización de las aplicaciones de sistema central también impulsa la transformación de la infraestructura desde las tecnologías propietarias heredadas a las estandarizadas, de referencia y abiertas. Esta transformación promueve los principios ágiles de DevOps que son los estándares de sistemas abiertos y de alta productividad de hoy en día. La refactorización permite pasar de islas de infraestructuras, procesos y aplicaciones heredados únicas a un terreno unificado de mejor alineación entre el negocio y la TI.

Ese enfoque general de refactorización puede usar Azure Kubernetes Service (AKS) o máquinas virtuales (VM) de Azure. La elección depende de la portabilidad de las aplicaciones existentes y de sus preferencias. La refactorización puede acelerar el paso a Azure gracias a la conversión automática del código a Java o .NET y a la conversión de bases de datos prerrelacionales a relacionales.

La refactorización admite diferentes metodologías para mover cargas de trabajo de cliente a Azure. Un método consiste en convertir y trasladar todo el sistema central a Azure a la vez, lo que permite ahorrar costos de soporte técnico de instalaciones y mantenimiento del sistema central provisionales. Este enfoque conlleva cierto riesgo. Todos los procesos de conversión de aplicaciones, migración de datos y pruebas deben alinearse para una transición fluida desde el sistema central a Azure.

Un segundo método consiste en trasladar las aplicaciones del sistema central a Azure gradualmente, con el objetivo final de la transición completa. Esta táctica supone un ahorro por aplicación, y todo lo aprendido sobre la conversión de las aplicaciones puede ayudar con las conversiones posteriores. Modernizar cada aplicación en su propia programación puede ser más tranquilo que convertirlo todo a la vez.

Posibles casos de uso

La refactorización en Azure puede ayudar a las organizaciones a:

  • Modernizar la infraestructura y huir de los costos elevados, las limitaciones y la rigidez de los sistemas centrales.
  • Mover las cargas de trabajo de sistema central a la nube sin los efectos secundarios de volver a realizar el desarrollo por completo.
  • Migrar las aplicaciones críticas para la empresa, al tiempo que se mantiene la continuidad con otras aplicaciones locales.
  • Aprovechar la escalabilidad horizontal y vertical de Azure.
  • Obtener funcionalidades de recuperación ante desastres (DR).

Consideraciones

Las consideraciones siguientes, basadas en el Marco de buena arquitectura de Azure, se aplican a esta solución:

Disponibilidad

Azure Site Recovery refleja las máquinas virtuales de Azure en una región de Azure secundaria para acelerar la conmutación por error y la recuperación ante desastres en caso de que el centro de datos de Azure principal deje de funcionar.

Operations

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 principios de trabajo de Agile. Dispone de total flexibilidad en las opciones de implementación de desarrollo y producción.

Resistencia

La eficacia del rendimiento está integrada en esta solución gracias a los equilibradores de carga. Si se produce un error en un servidor de presentaciones o transacciones, los otros servidores detrás de los equilibradores de carga pueden ejecutar las cargas de trabajo.

Seguridad

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

Private Link proporciona conexiones directas y privadas aisladas de la red troncal de redes de Azure, entre las máquinas virtuales y los servicios de Azure.

Azure Bastion maximiza la seguridad del acceso administrativo al dejar menos puertos abiertos. Bastion proporciona conectividad RDP/SSH segura y fluida con las máquinas virtuales de red virtual 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 para satisfacer las necesidades empresariales sin gastos excesivos.

  • Azure optimiza los costos al ejecutarse en máquinas virtuales. Puede desactivar las máquinas virtuales cuando no estén en uso y crear un script de una programación para patrones de uso conocidos. Consulte el Marco de buena arquitectura de Azure para más información sobre la optimización de costos de las instancias de máquina virtual.

  • Las máquinas virtuales de esta arquitectura usan discos SSD prémium o SSD Ultra. 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:

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

Pasos siguientes