Modifier

Partager via


Réhéberger IMS DC et IMS DB sur Azure à l’aide de Raincode IMSql

Groupes de machines virtuelles identiques Azure
Azure Logic Apps
Azure SQL Managed Instance
Réseau virtuel Azure
Azure ExpressRoute

Cette architecture décrit comment implémenter une charge de travail d’application d’ordinateur mainframe IMS (Information Management System) sur Azure à l’aide de la solution IMSql de Raincode. La migration d’une application de base de données IMS vers une solution native Cloud est plus complexe que la migration d’une application de base de données relationnelle. Cet article explique comment réhéberger en toute transparence une charge de travail IMS d’ordinateur mainframe qui inclut des fonctionnalités et capacités IMS critiques sur Azure. Vous n’avez pas besoin de traduire ou modifier votre application existante.

Architecture de charge de travail IMS DB/DC avant migration

Diagramme montrant l'architecture de la charge de travail IMS DB/DC avant la migration.

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

Dataflow

  1. Les utilisateurs se connectent à l’ordinateur mainframe via TCP/IP, en utilisant des protocoles mainframe standard comme TN3270 et HTTPS.
  2. Des gestionnaires de transactions interagissent avec les utilisateurs et appellent l’application pour répondre aux demandes des utilisateurs.
  3. Côté frontal de la couche d’application, les utilisateurs interagissent avec des écrans IMS ou des pages web.
  4. Le code d’application utilise les fonctionnalités de stockage de la couche Données principale d’IMS DB (hiérarchique).
  5. Toutes les opérations de Big Data hors connexion sont effectuées via des travaux par lots.
  6. Outre le traitement transactionnel, d’autres services fournissent l’authentification, la sécurité, la gestion, la surveillance et la production de rapports. Ces services interagissent avec tous les autres services du système.

Architecture IMSql sur Azure

Diagramme montrant l’architecture IMSql sur Azure.

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

Workflow

  1. Serveur terminal IMSql

    Traditionnellement, l’interface Mainframe z/OS est accessible via un terminal interne IBM ou via un logiciel d’émulation de terminal. Une application disposant d’un réseau dispersé géographiquement avec des milliers d’utilisateurs peut se connecter aux ordinateurs mainframe via n’importe quelle forme de terminal. Quand une application IMS Data Communications (DC) est réhébergée sur le système cloud distribué, vous devez héberger l’application et la ressource de manière centralisée, et les publier pour les appareils clients distants. Vous pouvez accomplir ces tâches sur Azure à l’aide de serveurs terminaux IMSql.

  2. SQL Server Service Broker

    Dans Mainframe, IMS DC orchestre la couche de communication entre les terminaux d’utilisateur et les programmes d’application en transmettant et en traitant des messages dans une région de contrôle. Après le réhébergement, SQL Server Service Broker orchestre cette couche de communication asynchrone. Service Broker aide à communiquer via son infrastructure de remise de messages et met à l’échelle les messages de manière à séparer les serveurs de traitement, les utilisateurs actifs et leur traitement des transactions.

  3. Serveur de traitement IMSql

    Le serveur de traitement exécute le code recompilé Raincode pour les programmes IMS dans .NET Framework ou .NET Core. Il contient l’infrastructure sous-jacente qui permet aux programmes de s’exécuter et de fonctionner efficacement avec un équivalent en termes de fonctionnalités correcte. Le serveur de traitement ImSql peut générer des requêtes dynamiques et appeler des procédures stockées SQL créées lors de la recompilation des appels DL/I.

  4. SQL Server en tant que magasin de données hiérarchique

    Les données sont stockées en tant que données hiérarchiques dans IMS. IMSql utilise le même modèle sur SQL Server. Ce modèle permet à IMSql de bénéficier de la haute performance des bases de données relationnelles, et d’implémenter logiquement les segments hiérarchiques d’IMS. Il permet également au système de se mettre à l'échelle de manière indépendante avec des segments. Les données de segment étant stockées au format EBCDIC brut, il n’est pas nécessaire de les convertir pour l’application. En utilisant une plateforme en tant que service (PaaS) SQL, IMSql peut tirer parti des fonctionnalités de haute disponibilité/récupération d’urgence sous-jacentes fournies par Azure.

  5. API d’appel DL/I

    L’API IMSql garantit que les appels DL/I COBOL IMS sont traduits en requêtes SQL équivalentes. Il récupère ensuite les données et les renvoie au programme d’application au format attendu. IMSql suit également la position du programme dans l'enregistrement du tableau pour effectuer les opérations de création, de lecture, de mise à jour et de suppression (CRUD), comme dans la base de données hiérarchique. IMSql peut créer des procédures stockées SQL lors de la compilation pour répondre aux appels DL/I exigeants en termes de performances.

  6. Raincode JCL

    Raincode JCL (Job Control Language) est un interpréteur compatible avec z/OS JCL. L’interpréteur Raincode JCL facilite autant que possible la transition de la logique métier complexe incorporée dans JCL vers les plateformes Azure et .NET Core. Raincode JCL est conçu pour exécuter du code compilé par les compilateurs Raincode COBOL, PL/I et ASM370. Il peut facilement exécuter des étapes écrites dans pratiquement n’importe quelle langage. Il peut être configuré et affiné avec du code écrit par l’utilisateur, de sorte que vous pouvez l’adapter à vos propres besoins pour la planification par lots.

  7. Vue de données IMSql

    IMSql définit des vues SQL relationnelles basées sur des copybooks (dispositions d’enregistrement), afin que les segments IMS soient accessibles via des instructions SQL simples par n’importe quel service Azure et par de nouvelles applications. Les vues IMSql étant également accessibles en écriture, les applications modernes peuvent interagir avec IMS des deux façons via SQL Server.

Migration des données via IMSql

Diagramme montrant la migration des données via IMSql.

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

Migration d’objet de base de données

  • La description de base de données (DBD) IMS DB d’origine est extraite et transférée à partir de Mainframe. IMSql utilise les informations de DBD pour produire des scripts SQL afin de générer une base de données et des tables cibles dans Azure SQL.
  • Chaque segment d’une DBD IMS est traduit en tant que table sur Azure.
  • Les tables se composent d’un champ clé, de champs de recherche et des données de segment IMS complètes telles qu’elles sont représentées dans EBCDIC.
  • La structure de l’arborescence des segments IMS est conservée avec la relation de clé primaire et étrangère dans les tables Azure SQL.

Charge de données initiale

  • Les données d’IMS DB sont extraites via un travail d’ordinateur mainframe et des utilitaires de téléchargement couramment disponibles tels que DFSRRC00 et DFSURGL0.
  • Vous pouvez transférer les fichiers binaires extraits vers Azure à l’aide de connecteurs Azure Data Factory tels que FTP et SFTP, et d’une solution java qui s’exécute sur des services de sous-système (USS) Unix.
  • IMSql dispose d’un utilitaire de charge intégré pour compléter les charges de données initiales. Cet outil se sert de l’utilitaire du programme de copie en bloc (bcp) SQL Server. Il garantit l’exécution de bcp et l’intégrité référentielle requise entre les tables pour correspondre à la structure hiérarchique attendue.
  • Cette migration traite une charge de données unique d’IMS DB, sans coexistence ou synchronisation de données associée.

Flux de données pour la migration

  1. Le magasin de données non-relationnel de l’ordinateur mainframe (IMS DB) a deux composants : la DBD et les données de segment réelles.
  2. Des utilitaires IBM extraient et déchargent les informations d’IMS DB.
  3. Le fichier de DBD et les fichiers de données binaires correspondants sont générés séparément.
  4. Ingestion des données :
    1. Le connecteur FTP Data Factory copie les jeux de données Mainframe IMS dans un stockage de données Azure.
    2. Les fichiers de données Mainframe IMS sont copiés dans Stockage Blob Azure via SFTP.
    3. Mainframe JCL est utilisé pour exécuter une solution Java personnalisée qui déplace les données entre le système d’ordinateur mainframe et le Stockage Blob Azure SFTP.
  5. À l’aide du fichier de DBD, IMSql crée la base de données et les tables cibles, avec l’intégrité référentielle nécessaire.
  6. Une fois les objets de données créés, IMSql charge les données dans la table correspondante dans un ordre séquentiel.
  7. Toutes les données IMS migrées sont hébergées dans Azure SQL Managed Instance.
  8. La base de données d’application se compose des données de segment brutes pour le traitement d’IMS en ligne et le traitement par lots.
  9. Les vues de lecture/écriture IMS sont constituées de données de segment développées en fonction de la disposition du copybook.

Composants

  • Azure Logic Apps vous permet de créer rapidement de puissantes solutions d’intégration. Les utilisateurs de mainframe sont familiarisés avec les terminaux 3270 et la connectivité locale. Ils peuvent utiliser le connecteur IBM 3270 Logic Apps pour accéder aux applications d’ordinateur mainframe IBM et les exécuter. Dans le système migré, ils interagissent avec des applications Azure via l’Internet public ou via une connexion privée implémentée via Azure ExpressRoute. Microsoft Entra ID fournit l'authentification.
  • Azure Virtual Network est le composant fondamental de votre réseau privé dans Azure. Un réseau virtuel permet à de nombreux types de ressources Azure, telles que les machines virtuelles Azure, de communiquer de façon plus sécurisée entre elles, avec Internet et avec des réseaux locaux. Un réseau virtuel ressemble à un réseau traditionnel que vous pourriez utiliser dans votre propre centre de données, mais il offre les avantages de l’infrastructure Azure, comme la scalabilité, la disponibilité et l’isolation.
  • ExpressRoute vous permet d’étendre vos réseaux locaux au Microsoft Cloud par le biais d'une connexion privée facilitée par un fournisseur de connectivité. Vous pouvez utiliser ExpressRoute pour établir des connexions aux services cloud Microsoft tels qu’Azure et Office 365.
  • Microsoft Azure Virtual Machine Scale Sets offre une mise à l’échelle de machine virtuelle automatisée avec équilibrage de charge qui simplifie la gestion de vos applications et augmente la disponibilité.
  • SQL Managed Instance, qui fait partie du portefeuille de services Azure SQL, est une instance SQL managée, hautement sécurisée et toujours à jour dans le cloud.
  • Microsoft Entra ID est un service de gestion des identités et des accès d'entreprise basé sur le cloud. L'authentification unique et l'authentification multifacteur Microsoft Entra aident les utilisateurs à se connecter et à accéder aux ressources tout en les protégeant contre les attaques de cybersécurité.

Autres solutions

  • Vous pouvez utiliser SQL Server dans une machine virtuelle Azure comme alternative à SQL Managed Instance. Nous vous recommandons d’utiliser SQL Managed Instance dans cette architecture en raison des avantages que présente le service tels que la haute disponibilité, l’intégration transparente à différents services Azure et la gestion des correctifs de sécurité sous-jacents et de la maintenance.
  • Vous pouvez utiliser une architecture de machine virtuelle unique Azure comme alternative à Virtual Machine Scale Sets. Vous pouvez utiliser des machines virtuelles individuelles pour les charges de travail qui ont des exigences constantes en matière de charge et de performances et qui n’ont pas besoin de mise à l’échelle. Cette architecture utilise Virtual Machine Scale Sets pour gérer les charges de travail IMS classiques.

Détails du scénario

Les systèmes OLTP d’ordinateur mainframe peuvent traiter des millions de transactions pour un grand nombre d’utilisateurs. IBM IMS est un gestionnaire de transactions d’ordinateur mainframe classique robuste, que de grandes entreprises utilisent pour le traitement des transactions en ligne. Il comporte deux composants principaux : le composant IMS DC et le composant DBMS IMS DB.

IMSql permet d’héberger des charges de travail IMS sur des implémentations distribuées Azure ou locales basées sur SQL Server. IMSql fournit une solution globale pour l’exécution d’une charge de travail IMS, notamment les composants d’application, de données et d’intergiciel. Il peut ingérer la structure de données hiérarchique (IMS DB) dans un modèle de données relationnel dans SQL Server, SQL Server sur Machines Virtuelles Azure et SQL Managed Instance. Il dispose d’API intégrées pour les appels DL/I du programme d’application IMS, et étend la couche Données au-delà de la charge de travail hiérarchique à des applications natives Cloud utilisées pour les données relationnelles.

Cette solution offre les avantages suivants :

  • Modernise l’infrastructure et réduit les coûts, les limitations et la rigidité considérables associés aux charges de travail IMS d’ordinateur mainframe monolithiques.
  • Réduit la dette technique en implémentant des solutions natives Cloud et DevOps.
  • Fournit des données de base de données IMS à des applications non mainframe et cloud, notamment d’IA et d’analytique.

Cas d’usage potentiels

  • Secteurs de la banque, de la finance, de l’assurance, de l’administration et du commerce de détail qui Mainframe IMS. Bon nombre de ces organisations exécutent leurs principales applications OLTP et de traitement par lots sur IMS DB/DC.
  • Clients mainframe IBM zSeries qui ont besoin de migrer des applications critiques tout en maintenant la continuité avec d’autres applications locales et en évitant les effets secondaires d’un re-développement complet.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework, qui est un ensemble d’ensembles guidants qui peuvent être utilisés pour améliorer la qualité d’une charge de travail. Pour plus d'informations, consultez Microsoft Azure Well-Architected Framework.

Fiabilité

La fiabilité permet de s’assurer que votre application tient vos engagements auprès de vos clients. Pour plus d’informations, consultez liste de vérification de la révision de conception pour lede fiabilité.

  • Cette architecture OLTP peut être déployée dans plusieurs régions et peut incorporer une couche Données de géoréplication.
  • Les services de base de données Azure prennent en charge la redondance de zone et peuvent basculer vers un nœud secondaire en cas de panne ou pour permettre les activités de maintenance.

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 liste de vérification de la révision de conception pour security.

  • ExpressRoute fournit une connexion privée et efficace à Azure à partir d’un emplacement local.
  • Vous pouvez utiliser Microsoft Entra ID pour authentifier les ressources Azure. Vous pouvez utiliser un contrôle d’accès en fonction du rôle pour gérer les autorisations.
  • Cette solution utilise un groupe de sécurité réseau Azure pour gérer le trafic vers et depuis les ressources Azure. Pour plus d’informations, consultez Groupes de sécurité réseau.
  • Les options de sécurité suivantes sont disponibles dans les services de base de données Azure :
    • Chiffrement des données au repos
    • Masquage dynamique des données
    • Données Always Encrypted

Pour obtenir des conseils d’ordre général sur la conception de solutions de données hautement sécurisées, consultez les recommandations sur la sécurité Azure.

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 liste de vérification de la révision de conception pour l’optimisation des coûts.

  • Virtual Machine Scale Sets optimise les coûts en réduisant le nombre d’instances matérielles inutiles qui exécutent votre application lorsque la demande est faible.
  • SQL Managed Instance fournit différents niveaux tarifaires tels que Usage général et Critique pour l’entreprise, afin d’optimiser les coûts en fonction de l’utilisation et du caractère critique pour l’entreprise.
  • Azure Reservations et le plan d'économies Azure pour la capacité de calcul avec un contrat d’un ou trois ans et bénéficiez d’économies significatives sur les tarifs du paiement à l'utilisation. Dans de nombreux cas, vous pouvez réduire davantage les coûts en implémentant une flexibilité de taille d’instance réservée.
  • Azure Hybrid Benefit est un avantage en termes de licences qui vous permet de réduire sensiblement les coûts d’exécution de vos charges de travail dans le cloud. Il fonctionne en vous permettant d’utiliser sur Azure vos licences locales Windows Server et SQL Server avec Software Assurance.

Utilisez la Calculatrice de prix Azure pour estimer le coût de l’implémentation de cette solution. Voici une estimation basée sur les composants de cette solution, à une échelle raisonnable.

Efficacité des performances

L’efficacité des performances est la capacité de votre charge de travail à mettre à l’échelle pour répondre aux demandes qu’elle lui impose par les utilisateurs de manière efficace. Pour plus d’informations, consultez liste de vérification de la révision de conception pour l’efficacité des performances.

  • Virtual Machine Scale Sets veille à ce que suffisamment de machines virtuelles soient disponibles pour répondre aux besoins en ligne et de traitement par lots stratégiques.
  • Le Stockage Blob Azure est un système évolutif permettant de stocker des sauvegardes, des données d’archivage, des fichiers de données secondaires et d’autres objets numériques non structurés.
  • L’Assistant Paramétrage du moteur de base de données analyse les bases de données et émet des recommandations que vous pouvez utiliser pour optimiser les performances des requêtes. Vous pouvez l’utiliser pour sélectionner et créer un ensemble optimal d’index, d’affichages indexés et de partitions de table.
  • La scalabilité est l’une des principales caractéristiques de PaaS. Elle vous permet d’ajouter des ressources de façon dynamique à votre service quand elles sont nécessaires. Azure SQL Database vous permet de modifier en toute simplicité vos ressources (alimentation processeur, mémoire, débit E/S et stockage) allouées à vos bases de données. SQL Managed Instance vous permet d’ajouter de façon dynamique plus de ressources à votre base de données avec un minimum de temps d’arrêt.
  • L’OLTP en mémoire est une technologie disponible dans SQL Server et SQL Database qui permet d’optimiser les performances du traitement transactionnel, de l’ingestion et du chargement des données, et des scénarios de données temporaires.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes

Pour plus d’informations, contactez Ingénierie de données Azure – Modernisation d’ordinateur mainframe/midrange.

Consultez l’architecture d’accompagnement :

Autres ressources liées :