Refactorisation générale de mainframe vers 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
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
Téléchargez un fichier Visio de cette architecture.
Flux de travail
Le workflow suivant correspond au diagramme précédent :
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.
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.
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).
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.
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.
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.
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.
Azure Site Recovery fournit une récupération d’urgence pour les composants de cluster de machines virtuelles et de conteneurs.
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 :
- Jonathon Frost | Ingénieur logiciel principal
- Philip Brooks | Senior TPM
Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.
Étapes suivantes
- Pour plus d’informations, contactez legacy2azure@microsoft.com.
- Qu’est-ce qu’ExpressRoute ?
- Qu’est-ce que le réseau virtuel ?
- Introduction aux disques managés Azure
- Qu’est-ce que Private Link ?
- Qu’est-ce que SQL Database ?
- Qu’est-ce qu’Azure Files ?
Ressources associées
- Re-hébergement d’applications mainframe vers Azure avec des compilateurs Raincode
- Migration d’ordinateurs mainframe Unisys
- Migration de mainframe IBM z/OS avec le framework AMT Avanade
- Traitement par lots d’un grand volume de transactions
- Moderniser les données des systèmes centraux et intermédiaires