Replicación y sincronización de datos del sistema central en Azure

Azure Data Factory
Azure Databricks

Esta arquitectura de referencia describe un plan de implementación para la replicación y la sincronización de datos durante la modernización en Azure. Describe aspectos técnicos como almacenes de datos, herramientas y servicios.

Architecture

Architecture diagram showing how to sync on-premises and Azure databases during mainframe modernization.

Descargue un archivo Visio de esta arquitectura.

Flujo de trabajo

Los sistemas centrales e intermedios actualizan las bases de datos de las aplicaciones locales con una periodicidad regular. Para mantener la coherencia, la solución sincroniza los datos más recientes con las bases de datos de Azure. El proceso de sincronización consta de los siguientes pasos:

  1. Estas acciones se producen a lo largo del proceso:

    1. Una puerta de enlace de datos local transfiere los datos de forma rápida y segura entre los sistemas locales y los servicios de Azure. Con esta configuración, la puerta de enlace de datos local puede recibir instrucciones de Azure y replicar los datos sin que la red local exponga directamente los recursos de datos locales.
    2. Las canalizaciones de Azure Data Factory organizan actividades que van desde la extracción de datos a la carga de datos. Puede programar actividades de canalización, iniciarlas manualmente o desencadenarlas automáticamente.
  2. Las bases de datos locales como DB2 zOS, DB2 for i y DB2 LUW almacenan los datos.

  3. Las canalizaciones agrupan las actividades que realizan las tareas. Para extraer los datos, Data Factory crea dinámicamente una canalización por cada tabla local. Después, puede usar una implementación en paralelo masiva cuando replique los datos en Azure. Sin embargo, también puede configurar la solución para satisfacer sus necesidades:

    • Replicación completa: replique toda la base de datos y realice las modificaciones necesarias en los campos y los tipos de datos de la base de datos de Azure de destino.
    • Replicación parcial, delta o incremental: use columnas de marca de agua en las tablas de origen para sincronizar las filas actualizadas con las bases de datos de Azure. Estas columnas contienen una clave de incremento continuo o una marca de tiempo que indica la última actualización de la tabla.

    Data Factory también utiliza canalizaciones para las siguientes tareas de transformación:

    • Conversión de tipo de datos
    • Manipulación de datos
    • Formato de datos
    • Derivación de columnas
    • Aplanamiento de datos
    • Ordenación de datos
    • Filtrado de datos
  4. Un entorno de ejecución de integración (IR) autohospedado proporciona el entorno que utiliza Data Factory para ejecutar y distribuir las actividades.

  5. Azure Data Lake Storage Gen2 y Azure Blob Storage proporcionan un lugar para el almacenamiento provisional de los datos. A veces, este paso es necesario para transformar y combinar datos de varios orígenes.

  6. La preparación de los datos tiene lugar a continuación. Data Factory usa Azure Databricks, actividades personalizadas y flujos de datos de canalización para transformar los datos de forma rápida y eficaz.

  7. Data Factory carga los datos en bases de datos de Azure relacionales y no relacionales:

    • Azure SQL
    • Azure Database for PostgreSQL
    • Azure Cosmos DB
    • Azure Data Lake Storage
    • Azure Database for MariaDB
    • Azure Database for MySQL

    En determinados casos de uso, otras herramientas también pueden cargar datos.

  8. Otras herramientas también pueden replicar y transformar los datos:

    • Servicio de Microsoft para Arquitectura de base de datos relacional distribuida (DRDA): estos servicios de DRDA se pueden conectar a la familia de bases de datos de Azure SQL y mantener las bases de datos locales actualizadas. Estos servicios se ejecutan en una máquina virtual local o en una máquina virtual de Azure.
    • SQL Server Migration Assistant (SSMA) para Db2: esta herramienta migra esquemas y datos desde bases de datos de IBM Db2 a bases de datos de Azure.
    • SQL Server Integration Services (SSIS): esta plataforma puede extraer, transformar y cargar los datos.
    • Herramientas de terceros: cuando la solución requiere una replicación casi en tiempo real, puede usar herramientas de terceros. Algunos de estos agentes están disponibles en Azure Marketplace.
  9. Azure Synapse Analytics administra los datos y los pone a disposición de las aplicaciones de inteligencia empresarial y aprendizaje automático.

Componentes

La solución usa los siguientes componentes:

Herramientas

  • El Servicio de Microsoft para DRDA es un componente de Host Integration Server (HIS). El Servicio de Microsoft para DRDA es un servidor de aplicaciones (AS) que usan los clientes del solicitante de aplicaciones (AR) de DRDA. Algunos ejemplos de clientes del AR de DRDA son IBM Db2 para z/OS y Db2 para i5/OS. Estos clientes usan el servidor de aplicaciones para convertir instrucciones SQL de Db2 y ejecutarlas en SQL Server.

  • SSMA para Db2 automatiza la migración de Db2 a los servicios de base de datos de Microsoft. Mientras se ejecuta en una máquina virtual, esta herramienta convierte los objetos de base de datos de Db2 en objetos de base de datos de SQL Server y crea esos objetos en SQL Server. SSMA para Db2 migra los datos de Db2 a los siguientes servicios:

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • SQL Server 2017 en Windows y Linux
    • SQL Server 2019 en Windows y Linux
    • Azure SQL Database
  • Azure Synapse Analytics es un servicio de análisis para sistemas de almacenamiento de datos y de macrodatos. Esta herramienta usa tecnologías de Spark y tiene una integración profunda con Power BI, Azure Machine Learning y otros servicios de Azure.

Integradores de datos

  • Azure Data Factory es un servicio de integración de datos híbrido. Puede usar esta solución sin servidor totalmente administrada para crear, programar y orquestar la extracción, transformación y carga de datos (ELT) y los flujos de trabajo de ELT.

  • Azure Synapse Analytics es un servicio de análisis empresarial que acelera el tiempo necesario para obtener información de los almacenes de datos y de los sistemas de macrodatos. Azure Synapse reúne lo mejor de las tecnologías SQL que se usan en el almacenamiento de datos empresariales, las tecnologías de Spark que se utilizan para macrodatos, Data Explorer para análisis de serie temporal y de registro, Pipelines para la integración de datos y ETL/ELT, y la integración profunda con otros servicios de Azure, como Power BI, Azure Cosmos DB y Azure Machine Learning.

  • SQL Server Integration Services (SSIS) es una plataforma de Microsoft para compilar soluciones de transformaciones e integración de datos de nivel empresarial. Puede usar SSIS para administrar, replicar, limpiar y realizar minería de datos.

  • Azure Databricks es una plataforma de análisis de datos. Basado en el sistema de procesamiento distribuido de código abierto Apache Spark, Azure Databricks está optimizado para la plataforma en la nube de Azure. En un flujo de trabajo de análisis, Azure Databricks lee datos de varios orígenes y usa Spark para proporcionar conclusiones.

Almacenamiento de datos

  • Azure SQL Database forma parte de la familia de Azure SQL y se ha diseñado para la nube. Este servicio ofrece todas las ventajas de una plataforma totalmente administrada y permanente como servicio. SQL Database también proporciona características automatizadas y basadas en IA que optimizan el rendimiento y la durabilidad. Las opciones de almacenamiento de hiperescala y proceso sin servidor escalan automáticamente los recursos a petición.

  • SQL Managed Instance forma parte de la cartera de servicios de Azure SQL. Este servicio de base de datos en la nube inteligente y escalable combina la mayor compatibilidad con el motor de SQL Server y todas las ventajas de una plataforma como servicio totalmente administrada y permanente. Con SQL Managed Instance, puede modernizar las aplicaciones existentes a gran escala.

  • SQL Server en máquinas virtuales de Azure proporciona una migración lift-and-shift de las cargas de trabajo de SQL Server a la nube con una compatibilidad de código del 100 %. Como parte de la familia de Azure SQL, SQL Server en máquinas virtuales de Azure ofrece el rendimiento, la seguridad y el análisis combinados de SQL Server con la flexibilidad y la conectividad híbrida de Azure. Con SQL Server en máquinas virtuales de Azure, puede migrar las aplicaciones existentes o crear nuevas aplicaciones. También puede acceder a las últimas actualizaciones y versiones de SQL Server, incluido SQL Server 2019.

  • Azure Database for PostgreSQL es un servicio de base de datos relacional totalmente administrado que se basa en la Community Edition del motor de base de datos de código abierto PostgreSQL. Con este servicio, puede centrarse en la innovación de aplicaciones en lugar de en la administración de bases de datos. También puede escalar la carga de trabajo de forma rápida y sencilla.

  • Azure Cosmos DB es una base de datos de varios modelos distribuida globalmente. Con Azure Cosmos DB, sus soluciones pueden escalar de forma elástica e independiente el rendimiento y el almacenamiento en cualquier número de regiones geográficas. Este servicio de base de datos NoSQL totalmente administrado garantiza latencias de milisegundos de un solo dígito en el percentil de 99 en cualquier parte del mundo.

  • Data Lake Storage es un repositorio de almacenamiento que contiene una gran cantidad de datos en su formato nativo y sin procesar. Los lagos de datos están optimizados para escalar a terabytes y petabytes de datos. Los datos provienen típicamente de múltiples orígenes heterogéneos y pueden ser estructurados, semiestructurados o no estructurados. Data Lake Storage Gen2 combina las funcionalidades de Data Lake Storage Gen1 y Blob Storage. Esta solución de lago de datos de próxima generación proporciona semántica de sistema de archivos, seguridad de nivel de archivo y escalado. Además, ofrece las funcionalidades de almacenamiento por niveles, alta disponibilidad y recuperación ante desastres de Blob Storage.

  • Azure Database for MariaDB es un servicio de base de datos relacional basado en la nube. Este servicio se basa en el motor de base de datos de MariaDB Community Edition.

  • Azure Database for MySQL es un servicio de base de datos relacional totalmente administrado que se basa en la Community Edition del motor de base de datos de código abierto MySQL.

  • Blob Storage proporciona un almacenamiento optimizado de objetos en la nube que administra grandes cantidades de datos no estructurados.

Redes

Detalles del escenario

La integridad y la disponibilidad de los datos desempeñan un papel importante en la modernización de los sistemas centrales e intermedios. Las estrategias de tipo primero los datos ayudan a mantener los datos intactos y disponibles durante la migración a Azure. Para evitar que las aplicaciones se vean afectadas durante la modernización, a veces es necesario replicar los datos rápidamente o mantener los datos locales sincronizados con las bases de datos de Azure.

Específicamente, la solución abarca:

  • Extracción: conectarse a una base de datos de origen y extraer datos de ella.
  • Transformación:
    • Almacenamiento provisional: almacenar temporalmente los datos en su formato original y prepararlos para su transformación.
    • Preparación: transformar y manipular los datos mediante reglas de asignación que cumplan los requisitos de la base de datos de destino.
  • Carga: insertar los datos en una base de datos de destino.

Posibles casos de uso

Los escenarios de replicación y sincronización de datos que pueden beneficiarse de esta solución son, entre otros:

  • Arquitecturas de segregación de responsabilidades de comandos y consultas (CQRS) que usan Azure para atender todos los canales de consulta.
  • Entornos que prueban aplicaciones locales y que se vuelven a hospedar o aplicaciones que se han vuelto a diseñar en paralelo.
  • Sistemas locales con aplicaciones estrechamente acopladas que requieren corrección o modernización por fases.

Recomendaciones

Cuando use Data Factory para extraer datos, siga los pasos para optimizar el rendimiento de la actividad de copia.

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.

Tenga en cuenta estos aspectos al considerar la posibilidad de utilizar esta arquitectura.

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.

  • La administración de la infraestructura, incluida la disponibilidad, está automatizada en las bases de datos de Azure.

  • Consulte Agrupación y conmutación por error para obtener información sobre la protección de conmutación por error que proporciona el Servicio de Microsoft para DRDA.

  • Puede agrupar en clúster la puerta de enlace de datos local y el IR para proporcionar garantías de mayor disponibilidad.

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.

  • Use grupos de seguridad de red para limitar el acceso de los servicios solo a lo que necesitan para funcionar.

  • Use puntos de conexión privados para los servicios PaaS (plataforma como servicio). Use firewalls de servicio para complementar la seguridad de los servicios accesibles e inaccesibles a través de Internet.

  • Tenga en cuenta las diferencias entre las identidades de cliente locales y las identidades de cliente en Azure. Tendrá que compensar las diferencias.

  • Use identidades administradas para flujos de datos de un componente a otro.

  • Consulte Planeamiento y diseño de soluciones con el servicio de Microsoft para DRDA para obtener información sobre los tipos de conexiones de cliente que admite el servicio de Microsoft para DRDA. Las conexiones de cliente afectan a la naturaleza de las transacciones, la agrupación, la conmutación por error, la autenticación y el cifrado en la red.

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.

  • Los modelos de precios varían entre los servicios de componentes. Revise los modelos de precios de los servicios de componentes disponibles para asegurarse de que los modelos de precios se ajustan a su presupuesto.

  • Use la calculadora de precios de Azure para estimar el costo de la implementación de esta solució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.

  • La administración de la infraestructura, incluida la escalabilidad, está automatizada en las bases de datos de Azure.

  • Puede escalar horizontalmente el IR autohospedado mediante la asociación de la instancia lógica con varias máquinas locales en modo activo-activo.

  • Puede agrupar en clúster la puerta de enlace de datos local y el entorno de ejecución de integración para obtener escalabilidad.

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.

Pasos siguientes