Cette exemple d’architecture de référence présente un plan d’implémentation pour répliquer et synchroniser 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
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 :
Les pipelines dynamiques 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.
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 et vous apportez 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
Les données de l’application sont stockées dans des bases de données locales telles que Db2 zOS, Db2 for i et Db2 LUW.
Un runtime d’intégration auto-hébergé (SHIR) fournit l’environnement dont Data Factory a besoin pour exécuter et distribuer les activités.
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.
Pour 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.
Data Factory charge les données dans les bases de données Azure relationnelles ou non relationnelles suivante :
- Azure SQL
- Azure Database pour PostgreSQL
- Azure Cosmos DB
- Azure Data Lake Storage
- Azure Database pour MySQL
SQL Server Integration Services (SSIS) : cette plateforme peut extraire, transformer et charger des données.
Outils non-Microsoft : lorsque la solution nécessite une réplication en quasi-temps réel, vous pouvez utiliser des outils non-Microsoft.
Composants
Cette section décrit d’autres outils que vous pouvez utiliser pendant la modernisation, la synchronisation et l’intégration des données.
Outils
Microsoft Service for DRDA (Distributed Relational Database Architecture) est un composant du 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.
SQL Server Migration Assistant (SSMA) pour Db2 automatise 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
Data Factory est un service d’intégration de données hybrides. Vous pouvez utiliser cette solution serverless complètement managée pour créer, planifier et orchestrer des flux de travail ETL (extraction, transformation et chargement) et transformer des flux de travail ELT (extraction, chargement, transformation).
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 Analytics rassemble le meilleur des technologies et services suivants :
- Technologies SQL pour l’entreposage des données d’entreprise.
- Technologies Spark pour le Big Data.
- Azure Data Explorer pour l’analyse des journaux et des séries chronologiques.
- Azure Pipelines pour l’intégration des données et les flux de travail ETL et ELT.
- Étroite intégration à d’autres services Azure, comme Power BI, Azure Cosmos DB et Machine Learning.
SSIS est une plateforme qui permet de créer des solutions de transformation et d’intégration des données à l’échelle 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. Elle est basée sur le système de traitement distribué open source Apache Spark et optimisée 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
SQL Database fait partie de la famille Azure SQL et est conçu pour le cloud. Ce service offre tous les avantages d’une plateforme en tant que service (PaaS) 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.
Azure 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 de migrer les 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. Utilisez-le avec SQL Server sur les machines virtuelles Azure, pour 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. Utilisez ce service pour 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. Utilisez Azure Cosmos DB pour vous assurer que vos solutions peuvent 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. Les données proviennent généralement 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. De plus, il fournit le stockage hiérarchisé, la haute disponibilité et la reprise d’activité après sinistre du Stockage Blob.
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.
Détails du scénario
La disponibilité et l’intégrité des données sont essentielles 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 des perturbations pendant la modernisation, 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 Aperçu du pilier de la 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 (IR) 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. Utilisez des pare-feu de service accessibles et inaccessibles via Internet pour compléter la sécurité de vos services .
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, veuillez 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 Aperçu du pilier de l’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.
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.
Envisagez Azure ExpressRoute comme une option de grande échelle si votre implémentation utilise une bande passante suffisamment large pour la réplication initiale ou la réplication continue des données modifiées.
Choisir la configuration d’IR appropriée pour votre scénario.
Étapes suivantes
- Pour plus d’informations, contactez le service Azure Data Engineering - On-premises Modernization.
- Lisez le Guide de migration.