Répliquez des bases de données mainframe vers à l'aide de AWS Precisely Connect - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Répliquez des bases de données mainframe vers à l'aide de AWS Precisely Connect

Créé par Lucio Pereira (AWS), Balaji Mohan () et Sayantan Giri (AWS) AWS

Environnement : Production

Source : Mainframe sur site

Cible : AWS bases de données

Type R : Ré-architecte

Charge de travail : toutes les autres charges de travail

Technologies : bases de données CloudNative ; ordinateur central ; modernisation

AWSservices : Amazon DynamoDB ; Amazon Keyspaces ; Amazon ; MSK Amazon ; Amazon RDS ElastiCache

Récapitulatif

Ce modèle décrit les étapes à suivre pour répliquer les données des bases de données mainframe vers les magasins de données Amazon en temps quasi réel à l'aide de Precisely Connect. Il met en œuvre une architecture basée sur les événements avec Amazon Managed Streaming for Apache Kafka (MSKAmazon) et des connecteurs de base de données personnalisés dans le cloud afin d'améliorer l'évolutivité, la résilience et les performances.

Precisely Connect est un outil de réplication qui capture les données des systèmes mainframe existants et les intègre dans des environnements cloud. Les données sont répliquées depuis les ordinateurs centraux vers la capture des données AWS de modification (CDC) en utilisant des flux de messages en temps quasi réel avec des pipelines de données hétérogènes à faible latence et à haut débit. 

Ce modèle couvre également une stratégie de reprise après sinistre pour des pipelines de données résilients avec réplication des données multirégions et routage sur incident.

Conditions préalables et limitations

Prérequis

  • Une base de données mainframe existante IBMDB2, par exemple un système de gestion des IBM informations (IMS) ou une méthode d'accès au stockage virtuel (VSAM), que vous souhaitez répliquer dans le cloud AWS

  • Un AWScompte actif

  • AWSDirect Connect ou AWSVirtual Private Network (AWSVPN) depuis votre environnement d'entreprise vers AWS

  • Un cloud privé virtuel doté d'un sous-réseau accessible par votre ancienne plateforme

Architecture

Pile technologique source

Un environnement mainframe qui inclut au moins l'une des bases de données suivantes :

  • IBMIMSbase de données

  • IBMDB2base de données

  • VSAMfichiers

Pile technologique cible

  • Amazon MSK

  • Amazon Elastic Kubernetes Service (Amazon) et Amazon Anywhere EKS EKS

  • Docker

  • Une base de SQL données AWS relationnelle ou non, telle que la suivante :

    • Amazon DynamoDB

    • Amazon Relational Database Service (RDSAmazon) pour Oracle, RDS Amazon pour SQL Postgre ou Amazon Aurora

    • Amazon ElastiCache pour Redis

    • Amazon Keyspaces (pour Apache Cassandra)

Architecture cible

Réplication des données du mainframe vers des bases de données AWS

Le schéma suivant illustre la réplication des données du mainframe vers une AWS base de données telle que DynamoDB, Amazon, Amazon ou RDS ElastiCache Amazon Keyspaces. La réplication s'effectue en temps quasi réel à l'aide de Precisely Capture et Publisher dans votre environnement mainframe sur site, de Precisely Dispatcher sur Amazon EKS Anywhere dans votre environnement distribué sur site, et de Precisely Apply Engine et des connecteurs de base de données dans le cloud. AWS 

Réplication des données du mainframe vers des bases de données AWS

Le schéma suivant illustre le flux de travail suivant :

  1. Precisely Capture extrait les données du mainframe à partir CDC des journaux et les conserve dans un stockage transitoire interne.

  2. Precisely Publisher écoute les modifications apportées au stockage interne des données et envoie des CDC enregistrements à Precisely Dispatcher via une connexion TCP /IP.

  3. Precisely Dispatcher reçoit les CDC enregistrements de Publisher et les envoie à AmazonMSK. Dispatcher crée des clés Kafka en fonction de la configuration utilisateur et de plusieurs tâches de travail pour envoyer des données en parallèle. Dispatcher envoie un accusé de réception à Publisher lorsque les enregistrements ont été stockés sur Amazon. MSK

  4. Amazon MSK détient les CDC records dans l'environnement cloud. La taille de partition des sujets dépend des exigences de débit de votre système de traitement des transactions (TPS). La clé Kafka est obligatoire pour toute transformation ultérieure et pour la commande de transactions.

  5. Le moteur Precisely Apply écoute les CDC enregistrements d'Amazon MSK et transforme les données (par exemple, par filtrage ou mappage) en fonction des exigences de la base de données cible. Vous pouvez ajouter une logique personnalisée aux SQD scripts Precisely. (SQDest le langage propriétaire de Precisely.) Le moteur Precisely Apply transforme chaque CDC enregistrement au format Apache Avro ou JSON au format Apache Avro et le distribue sur différents sujets en fonction de vos besoins.

  6. Les rubriques Kafka cibles contiennent CDC des enregistrements dans plusieurs rubriques en fonction de la base de données cible, et Kafka facilite l'ordre des transactions en fonction de la clé Kafka définie. Les clés de partition s'alignent sur les partitions correspondantes pour permettre un processus séquentiel. 

  7. Les connecteurs de base de données (applications Java personnalisées) écoutent les CDC enregistrements d'Amazon MSK et les stockent dans la base de données cible.

  8. Vous pouvez sélectionner une base de données cible en fonction de vos besoins. Ce modèle prend en charge à la fois les bases de données non SQL et les bases de données relationnelles.

Reprise après sinistre

La continuité des activités est essentielle au succès de votre entreprise. Le AWS cloud fournit des fonctionnalités de haute disponibilité (HA) et de reprise après sinistre (DR), et prend en charge les plans de reprise et de secours de votre entreprise. Ce modèle suit une stratégie de reprise après sinistre active/passive et fournit des conseils de haut niveau pour la mise en œuvre d'une stratégie de reprise après sinistre qui répond à vos exigences RTO et RPO à vos exigences.

Le schéma suivant illustre le flux de travail DR.

Flux de travail de reprise après sinistre pour répliquer les données du mainframe sur AWS

Le diagramme décrit les éléments suivants :

  1. Un basculement semi-automatique est nécessaire en cas de panne dans AWS la région 1. En cas de panne dans la région 1, le système doit initier les modifications de routage pour connecter Precisely Dispatcher à la région 2. 

  2. Amazon MSK réplique les données par le biais de la mise en miroir entre les régions. C'est pourquoi, lors du basculement, le MSK cluster Amazon de la région 2 doit être promu en tant que principal leader. 

  3. Le moteur Precisely Apply et les connecteurs de base de données sont des applications sans état qui peuvent fonctionner dans n'importe quelle région. 

  4. La synchronisation des bases de données dépend de la base de données cible. Par exemple, DynamoDB peut utiliser des tables globales ElastiCache et des banques de données globales.

Traitement à faible latence et haut débit via des connecteurs de base de données

Les connecteurs de base de données sont des composants essentiels de ce modèle. Les connecteurs suivent une approche basée sur les écouteurs pour collecter des données auprès d'Amazon MSK et envoyer des transactions à la base de données via un traitement à haut débit et à faible latence pour les applications critiques (niveaux 0 et 1). Le schéma suivant illustre ce processus.

Utilisation de connecteurs de base de données pour répliquer les données du mainframe sur AWS

Ce modèle permet le développement d'une application personnalisée consommant un seul thread grâce à un moteur de traitement multithread.

  1. Le thread principal du connecteur consomme les CDC enregistrements d'Amazon MSK et les envoie au pool de threads pour traitement.

  2. Les threads du pool de threads traitent les CDC enregistrements et les envoient à la base de données cible.

  3. Si tous les threads sont occupés, les CDC enregistrements sont maintenus en attente par la file d'attente des threads.

  4. Le thread principal attend que tous les enregistrements soient effacés de la file d'attente des threads et valide les offsets dans Amazon. MSK

  5. Les threads enfants gèrent les défaillances. En cas d'échec pendant le traitement, les messages d'échec sont envoyés à la rubrique DLQ (file d'attente de lettres mortes).

  6. Les threads enfants initient les mises à jour conditionnelles (voir Expressions de condition dans la documentation DynamoDB), en fonction de l'horodatage du mainframe, afin d'éviter toute duplication ou mise à jour dans la base de données. out-of-order

Pour plus d'informations sur la mise en œuvre d'une application client Kafka dotée de fonctionnalités multi-threading, consultez le billet de blog Multi-Threaded Message Consumption with the Apache Kafka Consumer sur le site Web de Confluent.

Outils

AWSservices

Autres outils

  • Precisely Connect intègre les données des systèmes mainframe existants tels que les VSAM ensembles de données ou les bases de données IBM mainframe dans le cloud et les plateformes de données de nouvelle génération.

Bonnes pratiques

  • Trouvez la meilleure combinaison de partitions Kafka et de connecteurs multithread pour trouver le meilleur équilibre entre performances et coûts. Plusieurs instances de Precisely Capture et Dispatcher peuvent augmenter les coûts en raison d'une consommation plus élevée MIPS (millions d'instructions par seconde).

  • Évitez d'ajouter une logique de manipulation et de transformation des données aux connecteurs de base de données. Pour ce faire, utilisez le moteur Precisely Apply, qui fournit les temps de traitement en microsecondes.

  • Créez des appels périodiques de demande ou de vérification de l'état de la base de données (pulsations cardiaques) dans les connecteurs de base de données afin de réchauffer fréquemment la connexion et de réduire le temps de latence.

  • Implémentez une logique de validation du pool de threads pour comprendre les tâches en attente dans la file d'attente des threads et attendez que tous les threads soient terminés avant le prochain sondage Kafka. Cela permet d'éviter la perte de données en cas de panne d'un nœud, d'un conteneur ou d'un processus.

  • Exposez les mesures de latence via les points de terminaison de santé afin d'améliorer les capacités d'observabilité grâce à des tableaux de bord et à des mécanismes de suivi.

Épopées

TâcheDescriptionCompétences requises

Configurez le processus du mainframe (batch ou utilitaire en ligne) pour démarrer le CDC processus à partir des bases de données du mainframe.

  1. Identifiez l'environnement du mainframe.

  2. Identifiez les bases de données mainframe qui seront impliquées dans le CDC processus.

  3. Dans l'environnement mainframe, développez un processus qui lance l'CDCoutil pour capturer les modifications apportées à la base de données source. Pour obtenir des instructions, consultez la documentation de votre ordinateur central.

  4. Documentez le CDC processus, y compris la configuration.

  5. Déployez le processus dans les environnements de test et de production. 

Ingénieur mainframe

Activez les flux de journaux de la base de données du mainframe.

  1. Configurez les flux de journaux dans l'environnement mainframe pour capturer CDC les journaux. Pour obtenir des instructions, consultez la documentation de votre ordinateur central.

  2. Testez les flux de journaux pour vous assurer qu'ils capturent les données nécessaires.

  3. Déployez les flux de journaux dans les environnements de test et de production.

Spécialiste des bases de données mainframe

Utilisez le composant Capture pour capturer CDC des enregistrements.

  1. Installez et configurez le composant Precisely Capture dans l'environnement mainframe. Pour obtenir des instructions, consultez la documentation Precisely.

  2. Testez la configuration pour vous assurer que le composant Capture fonctionne correctement.

  3. Configurez un processus de réplication pour répliquer les CDC enregistrements capturés via le composant Capture.

  4. Documentez la configuration de capture pour chaque base de données source.

  5. Développez un système de surveillance pour garantir que le composant Capture collecte correctement les journaux au fil du temps.

  6. Déployez l'installation et les configurations dans les environnements de test et de production.

Ingénieur mainframe, Precisely Connect SME

Configurez le composant Publisher pour écouter le composant Capture.

  1. Installez et configurez le composant Precisely Publisher dans l'environnement mainframe. Pour obtenir des instructions, consultez la documentation Precisely.

  2. Testez la configuration pour vous assurer que le composant Publisher fonctionne correctement.

  3. Configurez un processus de réplication pour publier les CDC enregistrements sur le composant Precisely Dispatcher depuis Publisher.

  4. Documentez la configuration de Publisher.

  5. Développez un système de surveillance pour garantir le bon fonctionnement du composant Publisher au fil du temps.

  6. Déployez l'installation et les configurations dans les environnements de test et de production.

Ingénieur mainframe, Precisely Connect SME

Provisionnez Amazon EKS Anywhere dans l'environnement distribué sur site.

  1. Installez Amazon EKS Anywhere sur l'infrastructure sur site et assurez-vous qu'elle est correctement configurée. Pour obtenir des instructions, consultez la documentation Amazon EKS Anywhere.

  2. Configurez un environnement réseau sécurisé pour le cluster Kubernetes, y compris des pare-feux.

  3. Implémentez et testez l'exemple de déploiement de l'application sur le cluster Amazon EKS Anywhere.

  4. Mettez en œuvre des fonctionnalités de dimensionnement automatique pour le cluster.

  5. Développez et mettez en œuvre des procédures de sauvegarde et de reprise après sinistre. 

DevOps ingénieur

Déployez et configurez le composant Dispatcher dans l'environnement distribué pour publier les rubriques dans le AWS Cloud.

  1. Configurez et conteneurisez le composant Precisely Dispatcher. Pour obtenir des instructions, consultez la documentation Precisely.

  2. Déployez l'image Dispatcher Docker dans l'environnement EKS Amazon Anywhere sur site.

  3. Configurez une connexion sécurisée entre le AWS Cloud et Dispatcher.

  4. Développez un système de surveillance pour garantir le bon fonctionnement du composant Dispatcher au fil du temps.

  5. Déployez l'installation et les configurations dans les environnements de test et de production. 

DevOps ingénieur, Precisely Connect SME
TâcheDescriptionCompétences requises

Provisionnez un EKS cluster Amazon dans la AWS région désignée.

  1. Connectez-vous à votre AWS compte et configurez-le pour vous assurer que les autorisations nécessaires sont en place pour créer et gérer le EKS cluster Amazon.

  2. Créez un cloud privé virtuel (VPC) et des sous-réseaux dans la AWS région sélectionnée. Pour obtenir des instructions, consultez la EKSdocumentation Amazon.

  3. Créez et configurez les groupes de sécurité réseau nécessaires pour permettre les communications entre le EKS cluster Amazon et les autres ressources duVPC. Pour plus d'informations, consultez la EKSdocumentation Amazon.

  4. Créez le EKScluster Amazon et configurez-le avec la taille de groupe de nœuds et les types d'instances appropriés.

  5. Validez le EKS cluster Amazon en déployant un exemple d'application.

DevOps ingénieur, administrateur réseau

Provisionnez un MSK cluster et configurez les rubriques Kafka applicables.

  1. Configurez votre AWS compte pour vous assurer que les autorisations nécessaires sont en place pour créer et gérer le MSK cluster.

  2. Créez et configurez les groupes de sécurité réseau nécessaires pour permettre les communications entre le MSK cluster et les autres ressources duVPC. Pour plus d'informations, consultez la VPCdocumentation Amazon.

  3. Créez le MSK cluster et configurez-le pour inclure les sujets Kafka qui seront utilisés par l'application. Pour plus d'informations, consultez la MSKdocumentation Amazon.

DevOps ingénieur, administrateur réseau

Configurez le composant Apply Engine pour écouter les sujets Kafka répliqués.

  1. Configurez et conteneurisez le composant Precisely Apply Engine.

  2. Déployez l'image Docker d'Apply Engine dans le EKS cluster Amazon de votre AWS compte.

  3. Configurez le moteur Apply pour écouter les MSK sujets.

  4. Développez et configurez un SQD script dans le moteur Apply pour gérer le filtrage et la transformation. Pour plus d'informations, consultez la documentation Precisely.

  5. Déployez le moteur Apply dans des environnements de test et de production.

Precisely Connect SME

Provisionnez des instances de base de données dans le AWS cloud.

  1. Configurez votre AWS compte pour vous assurer que les autorisations nécessaires sont en place pour créer et gérer des clusters et des tables de base de données. Pour obtenir des instructions, consultez la AWS documentation du service AWS de base de données que vous souhaitez utiliser. (Voir la section Ressources pour les liens.)

  2. Créez un sous-réseau VPC et dans la AWS région sélectionnée.

  3. Créez et configurez les groupes de sécurité réseau nécessaires pour permettre les communications entre les instances de base de données et les autres ressources duVPC.

  4. Créez les bases de données et configurez-les pour inclure les tables que l'application utilisera.

  5. Concevez et validez les schémas de base de données. 

Ingénieur de données, DevOps ingénieur

Configurez et déployez des connecteurs de base de données pour écouter les rubriques publiées par le moteur Apply.

  1. Concevez des connecteurs de base de données pour connecter les rubriques Kafka aux AWS bases de données que vous avez créées au cours des étapes précédentes.

  2. Développez les connecteurs en fonction de la base de données cible.

  3. Configurez les connecteurs pour écouter les sujets Kafka publiés par le moteur Apply.

  4. Déployez les connecteurs dans le EKS cluster Amazon.

Développeur d'applications, Architecte cloud, Ingénieur de données
TâcheDescriptionCompétences requises

Définissez des objectifs de reprise après sinistre pour vos applications professionnelles.

  1. Définissez les RTO objectifs RPO et les objectifs des CDC pipelines en fonction des besoins de votre entreprise et de l'analyse d'impact.

  2. Définissez les procédures de communication et de notification pour vous assurer que toutes les parties prenantes sont informées du plan de reprise après sinistre.

  3. Déterminez le budget et les ressources nécessaires pour mettre en œuvre le plan de reprise après sinistre.

  4. Documentez les objectifs de reprise après sinistre, y compris les RTO objectifs RPO et.

Architecte cloud, ingénieur des données, propriétaire de l'application

Concevez des stratégies de reprise après sinistre basées sur la définition deRTO/RPO.

  1. Déterminez les stratégies de reprise après sinistre les plus appropriées pour les CDC pipelines en fonction de votre criticité et de vos exigences en matière de reprise.

  2. Définissez l'architecture et la topologie de reprise après sinistre.

  3. Définissez les procédures de basculement et de retour en arrière pour les CDC pipelines afin de garantir leur basculement rapide et fluide vers la région de sauvegarde.

  4. Documentez les stratégies et procédures de reprise après sinistre et assurez-vous que toutes les parties prenantes ont une compréhension claire de la conception.

Architecte cloud, ingénieur de données

Provisionnez des clusters et des configurations de reprise après sinistre.

  1. Fournir une AWS région secondaire pour la reprise après sinistre.

  2. Dans la AWS région secondaire, créez un environnement identique à la AWS région principale.

  3. Configurez Apache Kafka MirrorMaker entre les régions principale et secondaire. Pour plus d'informations, consultez la MSKdocumentation Amazon.

  4. Configurez les applications de secours dans la région secondaire.

  5. Configurez les réplications de base de données entre les régions principale et secondaire.

DevOps ingénieur, administrateur réseau, architecte cloud

Testez le CDC pipeline pour la reprise après sinistre.

  1. Définissez la portée et les objectifs du test de reprise après sinistre pour le CDC pipeline, y compris les scénarios de test et RTO les objectifs à atteindre.

  2. Identifiez l'environnement de test et l'infrastructure pour effectuer le test de reprise après sinistre.

  3. Préparez les ensembles de données de test et le script pour simuler des scénarios de défaillance.

  4. Vérifiez l'intégrité et la cohérence des données pour éviter toute perte de données.

Propriétaire de l'application, ingénieur de données, architecte cloud

Ressources connexes

AWSressources

Ressources Precisely Connect

Ressources de Confluent