Partager via


Refactorisation générale de mainframe vers Azure

Azure Files
Équilibrage de charge Azure
Azure SQL Database
Stockage Azure
Machines virtuelles Azure

L’architecture suivante illustre une approche de refactorisation générale qui peut utiliser Azure Kubernetes Service (AKS) ou des machines virtuelles Azure. Ce choix dépend de la portabilité des applications existantes et de vos préférences. La refactorisation peut accélérer le déplacement vers Azure en convertissant automatiquement du code en Java ou .NET et en convertissant des bases de données pré-relationnelles en bases de données relationnelles.

Architecture mainframe

Diagramme montrant les composants d’un système mainframe classique.

Diagramme illustrant les composants d’un système mainframe classique. Le diagramme est divisé en plusieurs sections : communications, moniteur de traitement des transactions et applications, données et bases de données, services communs, système d’exploitation sur la partition et partition. Le diagramme comprend des icônes qui représentent un utilisateur administrateur à l’aide d’un émulateur de terminal TN3270 et d’un utilisateur d’interface web accédant via le port TLS 1.3 443. La section Communications comprend différents protocoles tels que LU 2/6.2, TN3270/TN3270E, Sockets et UTS. La section Analyse du traitement des transactions et applications inclut les nouveaux domaines d’application par lots, une installation de surveillance des transactions et deux sections Applications qui incluent COBOL, PL/I, Assembleur et 4GL. La section Services communs inclut l’exécution, les E/S, la détection des erreurs et la protection. La section Données et bases de données affiche des systèmes de base de données hiérarchiques ou réseau, des fichiers de données et des bases de données relationnelles. La section Intergiciel d’intégration comporte trois sous-sections. La sous-section Middleware comprend les services web, la gestion, la gestion des transactions et la mise en file d’attente. La sous-section Intégrateurs d’environnement inclut la mise en file d’attente, la gestion et la sortie. La section Autres services comprend le stockage et la surveillance sur bande.

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

Flux de travail

Le workflow suivant correspond au diagramme précédent :

  • Un: Les utilisateurs locaux accèdent au mainframe via transmission Control Protocol/Internet Protocol (TCP/IP) à l’aide de protocoles mainframe standard tels que TN3270 et HTTPS.

  • B : La réception d’applications peut être des systèmes de traitement par lots ou des systèmes en ligne.

  • C : Les environnements activés prennent en charge le langage commun orienté entreprise (COBOL), le langage de programmation One (PL/I), l’assembleur ou les langages compatibles.

  • D : Les services de données et de base de données classiques incluent des systèmes de base de données hiérarchiques ou réseau, des fichiers de données index ou plats et des bases de données relationnelles.

  • E : Les services courants incluent l’implémentation du programme, les opérations d’entrée/sortie, la détection des erreurs et la protection.

  • F : Les services intergiciels et utilitaires gèrent le stockage sur bande, la mise en file d’attente, la sortie et les services web.

  • G : Les systèmes d’exploitation sont l’interface entre le moteur de calcul et le logiciel.

  • H : Les partitions exécutent des charges de travail distinctes ou séparent les types de travail dans l’environnement.

Architecture Azure refactorisée

Diagramme montrant les composants d’un système mainframe refactorisé sur Azure.

L’image est un diagramme détaillé qui montre les composants d’un système mainframe refactorisé sur Azure. La section locale inclut des icônes pour la navigation web et l’accès au pare-feu via le port TCP 443 vers Azure. La section Azure contient plusieurs composants : équilibreurs de charge Azure, cluster de service Azure Kubernetes, machines virtuelles et groupe de sécurité réseau. Cette section comporte deux sous-sections. Une sous-section contient un nœud Kubernetes, un serveur d’applications Java, des services Java, des classes Java partenaires, un disque managé SSD, une mise en réseau accélérée avec RDMA, Azure Files, Azure NetApp Files et CIFS ou NFS. La deuxième sous-section contient le serveur d’applications refactorisé, les runtimes de transactions client, l’intégration des services de données partenaires, les applications telles que COBOL et PL/I App 1 et App 2, disque managé SSD, mise en réseau accélérée avec RDMA, Azure Files et CIFS ou NFS. Plusieurs flèches à deux côtés connectent ces sous-sections à d’autres sections du diagramme. La section Bases de données Azure SQL comprend un serveur de base de données principal et un serveur de base de données secondaire, connectés par des flèches double face à la section Private Link pour Azure SQL Database. La section compte Stockage Blob Azure contient une zone d’atterrissage à partir de sources externes et de conteneurs d’objets blob Azure. La section services de données comprend Azure Data Factory, le compte de stockage Azure Files et Azure Site Recovery. Une section qui regroupe l’ID Microsoft Entra, la mise en réseau Azure, Azure Stream Analytics, Azure Databricks et Power BI peut être intégrée au système.

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

Flux de travail

Le workflow suivant correspond au diagramme précédent :

  1. L’entrée provient de clients distants via Azure ExpressRoute ou d’autres utilisateurs Azure. Le protocole TCP/IP est le principal moyen de se connecter au système.

    • Les utilisateurs locaux peuvent accéder aux applications web sur le port TLS (Transport Layer Security) 443. Les couches de présentation des applications web peuvent rester inchangées pour réduire le réentraînement des utilisateurs. Vous pouvez également mettre à jour les couches de présentation avec des frameworks d’expérience utilisateur modernes.

    • L’accès administratif local utilise des hôtes Azure Bastion pour optimiser la sécurité en réduisant les ports ouverts.

    • Les utilisateurs Azure se connectent au système via l’appairage de réseaux virtuels.

  2. Dans Azure, Azure Load Balancer gère l’accès aux clusters de calcul d’application. Load Balancer prend en charge les ressources de calcul avec montée en puissance parallèle pour gérer les entrées. Vous pouvez utiliser un niveau d’application de niveau 7 ou un équilibrage de charge au niveau du réseau de niveau 4, en fonction de la façon dont les entrées d’application atteignent le point d’entrée du cluster de calcul.

  3. Les clusters de calcul d’application peuvent s’exécuter sur des machines virtuelles Azure ou s’exécuter dans des conteneurs dans des clusters AKS. L’émulation du système mainframe pour les applications PL/I ou COBOL utilise généralement des machines virtuelles. Les applications refactorisées en Java ou .NET utilisent des conteneurs. Certains logiciels d’émulation de systèmes mainframe prennent également en charge le déploiement en conteneurs. Les ressources de calcul utilisent des disques SSD Azure Premium ou un stockage sur disque Ultra Azure avec une mise en réseau accélérée et un accès à la mémoire directe à distance (RDMA).

  4. Les serveurs d’applications des clusters de calcul hébergent les applications en fonction des fonctionnalités du langage, telle que les classes Java ou les programmes COBOL. Les serveurs reçoivent l’entrée d’application et partagent l’état et les données de l’application à l’aide du Cache Azure pour Redis ou RDMA.

  5. Les services de données dans les clusters d’application prennent en charge plusieurs connexions à des sources de données persistantes. Azure Private Link fournit une connectivité privée depuis le réseau virtuel vers les services Azure. Les sources de données peuvent inclure les éléments suivants :

    • Services de données PaaS (Platform as a Service), tels qu’Azure SQL Database, Azure Cosmos DB et Azure Database pour PostgreSQL - Hyperscale.

    • bases de données sur des machines virtuelles, telles qu’Oracle ou Db2.

    • Référentiels Big Data tels qu’Azure Databricks et Azure Data Lake Storage.

    • services de données de streaming tels qu’Apache Kafka et Azure Stream Analytics.

  6. Le stockage de données peut être localement redondant ou géoredondant, en fonction de l’utilisation. Le stockage de données peut utiliser une combinaison des éléments suivants :

    • Stockage hautes performances avec stockage sur disque Ultra ou SSD Premium.

    • stockage de fichiers avec Azure NetApp Files ou Azure Files ;

    • Stockage standard, y compris les options d’objet blob, d’archivage et de sauvegarde.

  7. Les services de données PaaS Azure fournissent un stockage de données évolutif et hautement disponible que vous pouvez partager entre plusieurs ressources d’un cluster de calcul. Ce stockage peut également être géoredondant.

    • Le stockage blob Azure est une zone d’atterrissage commune pour les sources de données externes.

    • Azure Data Factory prend en charge l’ingestion et la synchronisation des données de plusieurs sources de données Azure et externes.

  8. Azure Site Recovery fournit une récupération d’urgence pour les composants de cluster de machines virtuelles et de conteneurs.

  9. Les services tels que Microsoft Entra ID, Azure Networking, Stream Analytics, Azure Databricks et Power BI peuvent facilement s’intégrer au système modernisé.

Composants

Cet exemple inclut les composants Azure suivants. Plusieurs de ces composants et flux de travail sont interchangeables ou facultatifs, selon votre scénario.

  • ExpressRoute est un service qui étend vos réseaux locaux dans Azure via une connexion fibre privée dédiée à partir d’un fournisseur de connectivité. Dans cette architecture, ExpressRoute établit des connexions à des services cloud Microsoft tels qu’Azure et Microsoft 365.

  • Azure Bastion est un service PaaS qui fournit une connectivité RDP (Remote Desktop Protocol) transparente ou ssh (Secure Shell) aux machines virtuelles de réseau virtuel à partir du portail Azure via TLS. Dans cette architecture, Azure Bastion optimise la sécurité de l’accès administratif en minimisant les ports ouverts.

  • Load Balancer est un service qui distribue le trafic entrant aux clusters de ressources de calcul. Utilisez ce composant pour définir des règles et d’autres critères pour distribuer le trafic. Load Balancer permet aux ressources de calcul scale-out de traiter le travail d’entrée, ce qui permet de garantir une distribution de charge efficace.

  • AKS est un service Kubernetes complètement managé, qui permet de déployer et de gérer des applications conteneurisées. Dans cette architecture, AKS fournit Kubernetes serverless, une expérience intégrée d’intégration continue et de livraison continue (CI/CD) et une sécurité et une gouvernance de niveau entreprise.

  • Les machines virtuelles Azure sont un service qui fournit de nombreuses tailles et types de ressources informatiques évolutives à la demande. Ce composant offre la flexibilité de la virtualisation sans avoir à acheter et à maintenir du matériel physique.

  • Le réseau virtuel Azure sert de bloc de construction fondamental des réseaux privés Azure. Un réseau virtuel est comme un réseau local traditionnel, mais il offre des avantages d’infrastructure Azure tels que l’extensibilité, la haute disponibilité et l’isolation. Ce composant permet aux machines virtuelles Azure au sein de réseaux virtuels de communiquer plus en toute sécurité entre elles, internet et réseaux locaux.

  • Private Link est un service qui fournit une connectivité privée d’un réseau virtuel aux services Azure. Dans cette architecture, Private Link simplifie l’architecture réseau et sécurise la connexion entre les points de terminaison Azure en éliminant l’exposition à l’Internet public.

  • Azure Cache pour Redis est un service entièrement géré qui ajoute une couche de mise en cache rapide à l’architecture d’application pour gérer de grands volumes à grande vitesse. Ce composant d’architecture met à l’échelle les performances simplement et rentable.

  • Stockage Azure est un service cloud qui fournit un stockage cloud évolutif et sécurisé pour toutes vos données, applications et charges de travail. Dans cette architecture, Le stockage fournit l’infrastructure de stockage nécessaire pour différents types de données et applications.

    • Le stockage sur disque Azure est un service de stockage de blocs durable et performant pour les applications critiques pour l’entreprise. Les disques managés Azure sont des volumes de stockage au niveau du bloc qu’Azure gère sur des machines virtuelles Azure. Les types de disques disponibles sont Le stockage sur disque Ultra, ssd Premium, SSD Azure Standard et HDD Azure Standard. Cette architecture utilise des disques SSD Premium ou un stockage sur disque Ultra.

    • Azure Files est un service de stockage de fichiers entièrement managé basé sur le cloud qui fournit des partages de fichiers dans le cloud. Ces partages de fichiers sont accessibles via le protocole SMB (Server Message Block) standard. Dans cette architecture, Azure Files fournit des partages de fichiers managés pour les déploiements cloud et locaux. Les déploiements cloud et locaux de Windows, Linux et macOS peuvent monter des partages de fichiers Azure Files simultanément.

    • Azure NetApp Files est un service de stockage de fichiers entièrement managé qui fournit des partages de fichiers Azure de qualité entreprise optimisés par NetApp. Utilisez-le pour migrer et exécuter des applications complexes basées sur des fichiers sans nécessiter de modifications de code.

    • Stockage Blob est un stockage d’objets évolutif et sécurisé pour les archives, les lacs de données, le calcul haute performance, le Machine Learning et les charges de travail natifs cloud. Dans cette architecture, le stockage Blob sert de zone d’atterrissage commune pour les sources de données externes.

  • Les bases de données Azure offrent un choix de bases de données relationnelles entièrement managées et NoSQL pour répondre aux besoins d’application modernes. La gestion automatisée de l’infrastructure fournit la scalabilité, la disponibilité et la sécurité.

    • SQL Database est un moteur de base de données PaaS entièrement managé. Dans cette architecture, elle fournit un stockage de données scalable et hautement disponible pour partager plusieurs ressources de calcul dans un cluster. SQL Database s’exécute toujours sur la dernière version stable de SQL Server et un système d’exploitation corrigé qui dispose de 99,99% disponibilité. Les fonctionnalités de gestion de base de données PaaS intégrées incluent la mise à niveau, la mise à jour corrective, les sauvegardes et la surveillance. Vous pouvez utiliser SQL Database pour vous concentrer sur l’administration et l’optimisation de bases de données spécifiques au domaine et critiques pour l’entreprise.

    • Azure Database pour PostgreSQL est une base de données complètement managée basée sur le moteur de base de données relationnelle Postgres open source. Dans cette architecture, elle fournit l’option de déploiement Hyperscale (Citus), qui met à l’échelle les requêtes sur plusieurs ordinateurs à l’aide du partitionnement. Cette fonctionnalité est utile pour les applications qui nécessitent une plus grande échelle et des performances.

    • Azure Cosmos DB est une base de données NoSQL entièrement managée et rapide qui a des API ouvertes pour toute mise à l’échelle. Dans cette architecture, Azure Cosmos DB fournit un stockage de données scalable et hautement disponible pour différentes applications.

  • Site Recovery est un service de récupération d’urgence qui met en miroir les machines virtuelles Azure dans une région Azure secondaire. Cette fonctionnalité permet un basculement rapide et une récupération en cas de défaillance d’un centre de données Azure. Dans cette architecture, Site Recovery prend en charge la récupération d’urgence pour les composants de la machine virtuelle et du cluster de conteneurs.

Détails du scénario

La refactorisation des charges de travail dans Azure peut transformer les applications mainframe exécutées sur Windows Server ou Linux. Vous pouvez exécuter ces applications plus efficacement en utilisant l’infrastructure Azure cloud en tant que service et PaaS.

L’approche générale de refactorisation pour les applications mainframe entraîne la transformation de l’infrastructure et déplace les systèmes des technologies propriétaires héritées vers des solutions normalisées, benchmarkées et ouvertes. Cette transformation prend en charge les principes DevOps agiles, qui constituent la base des normes de haute productivité et de systèmes ouverts d’aujourd’hui. La refactorisation remplace les infrastructures, processus et applications hérités isolés par un environnement unifié qui améliore l’alignement métier et informatique.

Cette approche générale de refactorisation peut utiliser AKS ou des machines virtuelles Azure. Le choix dépend de la portabilité des applications existantes et de vos préférences. La refactorisation peut accélérer le déplacement vers Azure en convertissant automatiquement du code en Java ou .NET et en convertissant des bases de données pré-relationnelles en bases de données relationnelles.

La refactorisation prend en charge différentes méthodes pour déplacer des charges de travail client vers Azure. Une méthode consiste à convertir et migrer l’ensemble du système mainframe vers Azure dans un processus unique et complet. Cette approche élimine le besoin de coûts intermédiaires de maintenance et de support des installations mainframe. Toutefois, cette méthode présente un certain risque, car toutes les processus de conversion d’application, de migration de données et de test doivent s’aligner pour garantir une transition fluide du mainframe vers Azure.

Une autre méthode consiste à migrer progressivement des applications du mainframe vers Azure, dans le but de passer au fil du temps. Cette approche offre des économies pour chaque application. Il offre également l’occasion d’apprendre de chaque conversion pour informer et améliorer les migrations suivantes. Cette méthode offre une alternative plus gérable et moins intensive à la migration de tout en même temps en modernisant chaque application selon sa propre planification.

Cas d’usage potentiels

La refactorisation sur Azure peut aider les organisations à :

  • Moderniser l’infrastructure et éviter les coûts élevés, les limitations et la rigidité des mainframes.
  • Migrez des charges de travail mainframe vers le cloud tout en évitant les complexités d’un redéploiement complet.
  • Migrez des applications critiques pour l’entreprise tout en conservant la continuité avec d’autres applications locales.
  • Bénéficiez d’une scalabilité horizontale et verticale sur Azure.
  • Bénéficiez des fonctionnalités de récupération d’urgence.

Considérations

Ces considérations implémentent les piliers d’Azure Well-Architected Framework, un ensemble de principes directeurs que vous pouvez utiliser pour améliorer la qualité d’une charge de travail. Pour plus d’informations, consultez Well-Architected Framework.

Fiabilité

La fiabilité permet de s’assurer que votre application peut respecter les engagements que vous prenez à vos clients. Pour en savoir plus, consultez Liste de contrôle de l'examen de la conception pour la fiabilité.

Dans cette architecture, Site Recovery met en miroir les machines virtuelles Azure vers une région Azure secondaire pour un basculement rapide et la récupération d’urgence si le centre de données Azure principal échoue.

Sécurité

La sécurité offre des garanties contre les attaques délibérées et l’utilisation abusive de vos données et systèmes précieux. Pour en savoir plus, consultez Liste de contrôle de l'examen de la conception pour la sécurité.

  • Cette solution utilise un groupe de sécurité réseau Azure pour gérer le trafic entre les ressources Azure. Pour plus d’informations, consultez NSGs.

  • Private Link fournit des connexions directes privées isolées du réseau principal Azure, entre les machines virtuelles Azure et les services Azure.

  • Azure Bastion optimise la sécurité de l’accès des administrateurs en minimisant les ports ouverts. Azure Bastion fournit une connectivité RDP et SSH hautement sécurisée et transparente aux machines virtuelles de réseau virtuel à partir du portail Azure via TLS.

Optimisation des coûts

L’optimisation des coûts se concentre sur les moyens de réduire les dépenses inutiles et d’améliorer l’efficacité opérationnelle. Pour plus d'informations, consultez Liste de contrôle de la révision de la conception pour l'optimisation des coûts.

  • Azure évite les frais inutiles en identifiant le nombre correct de types de ressources, en analysant les dépenses au fil du temps et en effectuant une mise à l’échelle pour répondre aux besoins de l’entreprise sans dépasser le budget alloué. Azure optimise les coûts en s’exécutant sur des machines virtuelles. Vous pouvez désactiver les machines virtuelles lorsqu’elles ne sont pas utilisées et scripter une planification pour les modèles d’utilisation connus. Pour plus d’informations, consultez Azure Well-Architected Framework et recommandations pour optimiser les coûts des composants.

  • Les machines virtuelles de cette architecture utilisent des disques SSD Premium ou un stockage sur disque Ultra. Pour plus d’informations, consultez Tarification de la fonctionnalité disques managés.

  • SQL Database optimise les coûts à l’aide de ressources de calcul serverless et de stockage Hyperscale qui sont automatiquement mises à l’échelle. Pour plus d’informations, consultez la tarification de SQL Database.

Utilisez la calculatrice de prix Azure pour estimer les coûts de votre implémentation de cette solution.

Excellence opérationnelle

L’excellence opérationnelle couvre les processus opérationnels qui déploient une application et la maintiennent en production. Pour plus d’informations, consultez la Liste de contrôle de l'examen de la conception pour l'excellence opérationnelle.

La refactorisation prend en charge l’adoption plus rapide du cloud et favorise l’adoption des principes de travail DevOps et Agile. Vous bénéficiez d’une flexibilité totale en lien avec les options de déploiement en environnement de développement et de production.

Efficacité des performances

L’efficacité des performances fait référence à la capacité de votre charge de travail à mettre à l’échelle pour répondre efficacement aux demandes des utilisateurs. Pour en savoir plus, consultez Liste de vérification de l'examen de la conception pour l'efficacité des performances

Les équilibreurs de charge intègrent l’efficacité des performances dans cette solution. Si une présentation ou un serveur de transactions échoue, les autres serveurs derrière les équilibreurs de charge gèrent les charges de travail.

Contributeurs

Microsoft gère cet article. Les contributeurs suivants ont écrit cet article.

Auteur principal :

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

Étapes suivantes