Modifier

Répliquer et synchroniser des données de mainframe dans Azure

Azure Data Factory
Azure Databricks

Cette architecture de référence présente un plan d’implémentation de la réplication et de la synchronisation des données durant le processus de modernisation vers Azure. Elle décrit certains aspects techniques tels que les magasins de données, les outils et les services.

Architecture

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

Téléchargez un fichier Visio de cette architecture.

Workflow

Les systèmes mainframe et midrange mettent régulièrement à jour les bases de données des applications locales. Pour maintenir la cohérence, la solution synchronise les données les plus récentes avec les bases de données Azure. Le processus de synchronisation comprend les étapes suivantes :

  1. Ces actions ont lieu tout au long du processus :

    1. Une passerelle de données locale transfère les données rapidement et en toute sécurité entre les systèmes locaux et les services Azure. Dans cette configuration, la passerelle de données locale peut recevoir des instructions d’Azure et répliquer les données sans que le réseau local n’expose directement les ressources de données locales.
    2. Les pipelines Azure Data Factory orchestrent les activités, de l’extraction des données à leur chargement. Vous pouvez planifier les activités des pipelines, les démarrer manuellement ou les déclencher automatiquement.
  2. Les données sont stockées dans des bases de données locales telles que Db2 zOS, Db2 for i et Db2 LUW.

  3. Les pipelines regroupent les activités qui exécutent des tâches. En vue de l’extraction des données, Data Factory crée dynamiquement un pipeline pour chaque table locale. Vous pouvez ensuite utiliser une implémentation massivement parallèle quand vous répliquez les données dans Azure. Vous pouvez aussi configurer la solution selon vos besoins :

    • Réplication complète : vous répliquez l’intégralité de la base de données, en apportant les modifications nécessaires aux types de données et aux champs dans la base de données Azure cible.
    • Réplication partielle, différentielle ou incrémentielle : vous utilisez les colonnes de limite supérieure dans les tables sources pour synchroniser les lignes mises à jour avec les bases de données Azure. Ces colonnes contiennent soit une clé d’incrémentation continue, soit un horodatage de la dernière mise à jour de la table.

    Data Factory utilise également des pipelines pour les tâches de transformation suivantes :

    • Conversion de type de données
    • Manipulation de données
    • Mise en forme de données
    • Dérivation de colonnes
    • Aplatissement de données
    • Tri de données
    • Filtrage de données
  4. Un runtime d’intégration (IR) autohébergé fournit l’environnement dont Data Factory a besoin pour exécuter et distribuer les activités.

  5. Azure Data Lake Storage Gen2 et Stockage Blob Azure fournissent un emplacement pour la préproduction des données. Cette étape est parfois nécessaire pour transformer et fusionner des données issues de sources multiples.

  6. L’étape d’après est la préparation des données. Data Factory utilise Azure Databricks, des activités personnalisées et des flux de données de pipeline pour transformer les données rapidement et efficacement.

  7. Data Factory charge les données dans des bases de données Azure (relationnelles ou non relationnelles) :

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

    Dans certains cas d’usage, d’autres outils peuvent aussi charger les données.

  8. D’autres outils peuvent également répliquer et transformer les données :

    • Microsoft Service for DRDA (Distributed Relational Database Architecture) : ces services DRDA peuvent se connecter à la famille de bases de données Azure SQL et tenir à jour les bases de données locales. Ils s’exécutent sur une machine virtuelle locale ou sur une machine virtuelle Azure.
    • Assistant Migration SQL Server (SSMA) pour Db2 : cet outil migre les schémas et les données de bases de données IBM Db2 vers des bases de données Azure.
    • SQL Server Integration Services (SSIS) : cette plateforme peut extraire, transformer et charger des données.
    • Outils tiers : si la solution nécessite une réplication en quasi-temps réel, vous pouvez utiliser des outils tiers. Certains de ces agents sont disponibles dans la Place de marché Azure.
  9. Azure Synapse Analytics gère les données et les met à la disposition des applications de machine learning et de business intelligence.

Components

Cette solution utilise les composants suivants :

Outils

  • Microsoft Service for DRDA est un composant de Host Integration Server (HIS). Microsoft Service for DRDA est un serveur d’applications (le serveur AS) qui est utilisé par les clients demandeurs d’applications (les clients AR) DRDA. IBM Db2 for z/OS et Db2 for i5/OS sont des exemples de clients AR DRDA. Ces clients utilisent le serveur AS pour convertir des instructions SQL Db2 et les exécuter sur SQL Server.

  • SSMA pour DB2 automatisent la migration de Db2 vers les services de base de données Microsoft. Exécuté sur une machine virtuelle, cet outil convertit les objets de base de données Db2 en objets de base de données SQL Server et crée ces objets dans SQL Server. SSMA pour Db2 migre ensuite les données de Db2 vers les services suivants :

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • SQL Server 2017 sur Windows et Linux
    • SQL Server 2019 sur Windows et Linux
    • Azure SQL Database
  • Azure Synapse Analytics est un service d’analytique conçu pour les entrepôts de données et les systèmes de Big Data. Cet outil utilise les technologies Spark et s’intègre parfaitement à Power BI, Azure Machine Learning et autres services Azure.

Intégrateurs de données

  • Azure Data Factory est un service d’intégration de données hybride. Vous pouvez utiliser cette solution sans serveur complètement managée pour créer, planifier et orchestrer des flux de travail ETL et ELT.

  • Azure Synapse Analytics est un service d’analyse pour entreprise qui raccourcit le délai d’obtention d’analyses sur l’ensemble des entrepôts de données et des systèmes Big Data. Azure Synapse réunit le meilleur des technologies SQL (utilisées dans l’entreposage des données d’entreprise), des technologies Spark utilisées pour le Big Data, de Data Explorer pour l’analyse des journaux et des séries chronologiques, et de Pipelines pour l’intégration des données et l’ETL/ELT. Il offre également un haut degré d’intégration à d’autres services Azure tels que Power BI, Azure Cosmos DB et Azure Machine Learning.

  • SQL Server Integration Services (SSIS) est une plateforme permettant de créer des solutions de transformation et d’intégration de données au niveau de l’entreprise. Vous pouvez utiliser SSIS pour gérer, répliquer, nettoyer et extraire des données.

  • Azure Databricks est une plateforme d’analytique des données. Basé sur le système de traitement distribué open source Apache Spark, Azure Databricks est optimisé pour la plateforme cloud Azure. Dans un workflow d’analytique, Azure Databricks lit les données à partir de plusieurs sources et utilise Spark pour fournir des insights.

Stockage des données

  • Le service Azure SQL Database fait partie de la famille Azure SQL et est conçu pour le cloud. Il offre tous les avantages d’une plateforme en tant que service complètement managée et persistante. SQL Database fournit également des fonctionnalités automatisées utilisant l’intelligence artificielle, qui optimisent les performances et la durabilité. Le calcul sans serveur et des options de stockage Hyperscale mettent automatiquement à l’échelle les ressources à la demande.

  • SQL Managed Instance fait partie du portefeuille de services Azure SQL. Ce service de base de données cloud, intelligent et scalable, combine la plus grande compatibilité de moteur de base de données SQL Server avec tous les avantages d’une plateforme durable et complètement managée en tant que service (PaaS). Avec SQL Managed Instance, vous pouvez moderniser des applications existantes à grande échelle.

  • SQL Server sur les machines virtuelles Azure vous permet d’effectuer une migration lift-and-shift des charges de travail SQL Server vers le cloud avec une compatibilité de code de 100 %. Composant de la famille Azure SQL, SQL Server sur les machines virtuelles Azure allie les performances, la sécurité et la puissance analytique de SQL Server à la flexibilité et la connectivité hybride d’Azure. Avec SQL Server sur les machines virtuelles Azure, vous pouvez migrer des applications existantes ou développer de nouvelles applications. Vous avez également accès aux dernières mises à jour et versions de SQL Server, dont SQL Server 2019.

  • Azure Database pour PostgreSQL est un service de base de données relationnelle complètement managé, basé sur l’édition communautaire du moteur de base de données open source PostgreSQL. Ce service vous permet de vous concentrer sur l’innovation des applications plutôt que sur la gestion des bases de données. Vous pouvez également mettre à l’échelle votre charge de travail rapidement et facilement.

  • Azure Cosmos DB est une base de données multimodèle distribuée à l’échelle mondiale. Azure Cosmos DB permet à vos solutions de faire évoluer en toute flexibilité et de façon indépendante le débit et le stockage dans un nombre quelconque de régions géographiques. Ce service de base de données NoSQL complètement managé garantit à 99 % des latences de quelques millisecondes à un chiffre centile partout dans le monde.

  • Data Lake Storage est un référentiel qui stocke de grandes quantités de données dans leur format brut natif. Les lacs de données sont optimisés pour s’adapter à des téraoctets et pétaoctets de données. En général, les données proviennent de plusieurs sources hétérogènes et peuvent être structurées, semi-structurées ou non structurées. Data Lake Storage Gen2 combine les fonctionnalités de Data Lake Storage Gen1 et de Stockage Blob. Cette solution de Data Lake de dernière génération fournit la sémantique du système de fichiers, la sécurité au niveau des fichiers et la mise à l’échelle. En prime, elle fournit le stockage hiérarchisé, la haute disponibilité et la reprise d’activité après sinistre du Stockage Blob.

  • Azure Database for MariaDB est un service de base de données relationnelle basé sur le cloud. Ce service est basé sur le moteur de base de données de l’édition communautaire de MariaDB.

  • Azure Database pour MySQL est un service de base de données relationnelle complètement managé, basé sur l’édition communautaire du moteur de base de données open source MySQL.

  • Stockage Blob fournit un stockage d’objets cloud optimisé qui gère de gros volumes de données non structurées.

Mise en réseau

Détails du scénario

La disponibilité et l’intégrité des données jouent un rôle majeur dans la modernisation des systèmes mainframe et midrange. Les stratégies « data-first », qui privilégient les données, aident à conserver les données intactes et disponibles durant la migration vers Azure. Pour éviter que le processus de modernisation n’impacte les applications, vous devrez parfois répliquer les données à la hâte ou maintenir les données locales synchronisées avec les bases de données Azure.

Plus précisément, cette solution couvre les étapes suivantes :

  • Extraction : connexion à une base de données source pour en extraire des données.
  • Transformation :
    • Préproduction : stockage temporaire des données dans leur format d’origine et préparation de ces données en vue de leur transformation.
    • Préparation : transformation et manipulation des données à l’aide de règles de mappage répondant aux conditions d’une base de données cible.
  • Chargement : insertion des données dans une base de données cible.

Cas d’usage potentiels

L’utilisation de cette solution est intéressante dans ces scénarios de réplication et de synchronisation des données :

  • Architectures CQRS (Command Query Responsibility Segregation) qui utilisent Azure pour servir tous les canaux de requête.
  • Environnements dans lesquels sont testées des applications locales et des applications réhébergées ou remaniées en parallèle.
  • Systèmes locaux comportant des applications étroitement couplées qui doivent faire l’objet d’une correction ou modernisation progressive.

Recommandations

Lorsque vous utilisez Data Factory pour extraire des données, prenez des mesures pour régler les performances de l’activité de copie.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework qui est un ensemble de principes directeurs qui permettent d’améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Microsoft Azure Well-Architected Framework.

Gardez ces points à l’esprit lorsque vous envisagez cette architecture.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez la page Vue d’ensemble du pilier de fiabilité.

  • La gestion de l’infrastructure, y compris la disponibilité, est automatisée dans les bases de données Azure.

  • Consultez Regroupement et basculement pour avoir plus d’informations sur la protection par basculement fournie par Microsoft Service for DRDA.

  • Vous pouvez clusteriser la passerelle de données locale et le runtime d'intégration afin de garantir un plus haut niveau de disponibilité.

Sécurité

La sécurité fournit des garanties contre les attaques délibérées, et contre l’utilisation abusive de vos données et systèmes importants. Pour plus d’informations, consultez Vue d’ensemble du pilier Sécurité.

  • Utilisez des groupes de sécurité réseau pour limiter l’accès des services à ce dont ils ont besoin pour fonctionner.

  • Utilisez des points de terminaison privés pour vos services PaaS (Platform as a Service). Utilisez des pare-feu de service pour compléter la sécurité de vos services accessibles et inaccessibles via Internet.

  • Tenez compte des différences entre les identités clientes locales et les identités clientes dans Azure. Vous devrez compenser les éventuelles différences.

  • Utilisez des identités managées pour les flux de données composant à composant.

  • Consultez Planification et conception de solutions à l’aide du service Microsoft pour DRDA en savoir plus sur les types de connexions clientes pris en charge par le service Microsoft pour DRDA. Les connexions clientes affectent la nature des transactions, du regroupement, du basculement, de l’authentification et du chiffrement sur votre réseau.

Optimisation des coûts

L’optimisation des coûts consiste à examiner les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d’informations, consultez Vue d’ensemble du pilier d’optimisation des coûts.

  • Les modèles de tarification varient entre les services de composants. Consultez les modèles de tarification des services de composants disponibles pour vous assurer qu’ils correspondent à votre budget.

  • Utilisez la Calculatrice de prix Azure pour estimer le coût de l’implémentation de cette solution.

Excellence opérationnelle

L’excellence opérationnelle couvre les processus d’exploitation qui déploient une application et maintiennent son fonctionnement en production. Pour plus d’informations, consultez Vue d’ensemble du pilier Excellence opérationnelle.

  • La gestion de l’infrastructure, y compris la scalabilité, est automatisée dans les bases de données Azure.

  • Vous pouvez effectuer un scale-out de l’IR autohébergé en associant l’instance logique avec plusieurs machines locales en mode actif/actif.

  • Vous pouvez clusteriser la passerelle de données locale et l’IR pour garantir la scalabilité.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à s’adapter à la demande des utilisateurs de façon efficace. Pour plus d’informations, consultez Vue d’ensemble du pilier d’efficacité des performances.

Étapes suivantes