Modifier

Refactoriser des applications mainframe avec Astadia

Azure ExpressRoute
Azure Bastion
Azure Load Balancer
Azure Private Link
Azure Site Recovery

La solution de refactorisation COBOL automatisée d’Astadia fournit des applications et des bases de données compatibles cloud qui sont fonctionnellement équivalentes à leurs homologues héritées. Les applications refactorisées s’exécutent en tant qu’applications Azure dans des machines virtuelles fournies par Machines virtuelles Microsoft Azure. Azure ExpressRoute les met à la disposition des utilisateurs tandis qu’Azure Load Balancer répartit la charge.

Architecture mainframe

Voici une architecture mainframe qui représente le type de système adapté à la solution de refactorisation Astadia.

Diagram for a mainframe architecture that's suitable for Astadia refactoring.

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

Dataflow

  1. L’entrée utilisateur TN3270 et HTTP(S) arrive sur TCP/IP.
  2. L’entrée mainframe utilise des protocoles mainframe standard.
  3. Il existe des applications en ligne et par lots.
  4. Les applications écrites dans les langages COBOL, PL/I, Assembler et autres s’exécutent dans un environnement activé à cette fin.
  5. Les données sont conservées dans des fichiers et dans des bases de données hiérarchiques, réseau et relationnelles.
  6. Les services courants incluent l’exécution des programmes, les opérations d’E/S, la détection d’erreurs et la protection au sein de l’environnement.
  7. Les services d’intergiciel et d’utilitaire gèrent le stockage sur bande, la mise en file d’attente, la sortie et l’activité web.
  8. Chaque système d’exploitation s’exécute dans sa propre partition.
  9. Les partitions séparent les charges de travail ou types de travail différents.

Architecture Azure

Voici une architecture Azure pour remplacer la fonctionnalité mainframe par des applications refactorisées.

Architecture diagram for an Astadia refactoring solution.

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

Dataflow

  1. Les entrées proviennent de clients distants et d’autres utilisateurs via Azure ExpressRoute. Le protocole TCP/IP est le principal moyen de se connecter au système.
    • Les utilisateurs locaux accèdent aux applications web sur le port TLS (Transport Layer Security) 443. Les interfaces utilisateur restent les mêmes pour réduire le réentraînement de l’utilisateur final.
    • L’accès administratif local utilise des hôtes Azure Bastion.
    • Les utilisateurs Azure se connectent au système via l’appairage de réseaux virtuels.
  2. 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. Il fonctionne au niveau 7, au niveau de l’application ou au niveau 4, au niveau réseau, en fonction de l’entrée de l’application.
  3. Les bibliothèques runtime Astadia exécutent des applications refactorisées sur Machines virtuelles Microsoft Azure. Les ressources de calcul utilisent les disques managés Azure Premium SSD ou de stockage Ultra avec une mise en réseau accélérée.
  4. 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 l’intérieur du réseau virtuel vers les services Azure. Les sources de données incluent des services de données tels que Azure SQL Database et Azure PostgreSQL.
  5. Le stockage de données est localement redondant ou géoredondant, en fonction de l’utilisation. C’est un mélange de :
    • Stockage hautes performances :
      • SSD Premium
      • Disque Ultra
    • SSD Standard, incluant un stockage de sauvegarde, blob et archive
  6. Les services de données Azure fournissent un stockage de données évolutif et hautement disponible que les clusters de calcul partagent. Le stockage peut être géoredondant.
    • Stockage Blob Azure est une zone d’atterrissage de données provenant de sources de données externes.
    • Azure Data Factory ingère et synchronise les données de plusieurs sources de données internes et externes.
  7. Azure Site Recovery assure la récupération d’urgence des composants de cluster de machines virtuelles et de conteneurs.
  8. Les services tels que Microsoft Entra ID, Azure Networking, Azure DevOps, Azure Stream Analytics, Azure Databricks, GitHub et Power BI sont aisément intégrés au système modernisé.

Composants

  • ExpressRoute étend les réseaux locaux dans Azure via une connexion à fibre optique dédiée privée assurée par un fournisseur de connectivité. ExpressRoute établit des connexions aux services cloud Microsoft, tels qu’Azure et Microsoft 365.
  • Azure Bastion fournit une connectivité RDP (Remote Desktop Protocol) ou SSH (Secure Shell) aux machines virtuelles du réseau virtuel à partir du portail Azure sur TLS. Azure Bastion optimise la sécurité de l’accès des administrateurs en minimisant les ports ouverts.
  • Load Balancer répartit le trafic entrant vers les clusters de ressources de calcul. Il utilise des règles configurables et d’autres critères pour répartir le trafic.
  • Azure Virtual Machines fournit plusieurs tailles et types de machines virtuelles à la demande et évolutives. Les machines virtuelles Azure vous offrent la flexibilité de la virtualisation sans que vous ayez à acheter et maintenir le matériel physique.
  • Le Réseau virtuel Azure est le bloc de construction fondamental de vos réseaux privés Azure. Les machines virtuelles dans les réseaux virtuels communiquent en toute sécurité entre elles, avec Internet et avec des réseaux locaux. Un réseau virtuel est semblable à un réseau local traditionnel, mais avec les avantages de l’infrastructure Azure, tels que la scalabilité, la haute disponibilité et l’isolation.
  • Private Link fournit une connectivité privée entre les réseaux virtuels et les services Azure. Il simplifie l’architecture réseau et sécurise la connexion entre les points de terminaison Azure en éliminant l’exposition des données à l’Internet public.
  • Stockage Azure est un stockage cloud évolutif et sécurisé pour l’ensemble de vos données, applications et charges de travail.
    • Stockage sur disque Azure est un stockage de bloc durable à hautes performances pour les applications stratégiques. Les disques managés Azure sont des volumes de stockage au niveau du bloc gérés par Azure sur des machines virtuelles. Les types de disques disponibles sont le stockage sur disques de stockage SSD Ultra, SSD Premium, SSD Standard et HDD Standard Azure. Cette architecture utilise des disques de stockage SSD Premium ou Ultra.
    • Azure Files fournit des partages de fichiers managés dans le cloud accessibles via le protocole SMB (Server Message Block) standard. Les déploiements cloud et locaux de Windows, Linux et macOS partagent les accès en montant des partages de fichiers Azure simultanément.
    • Azure NetApp Files fournit des partages de fichiers Azure de classe entreprise optimisés par NetApp. NetApp Files permet aux entreprises de migrer et d’exécuter facilement des applications complexes basées sur des fichiers sans modification du 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.
  • Azure comporte des bases de données relationnelles et NoSQL entièrement managées et en mémoire pour répondre aux besoins des applications modernes. La gestion automatisée de l’infrastructure fournit la scalabilité, la disponibilité et la sécurité. Pour obtenir une vue d’ensemble des types de base de données, consultez Types de bases de données sur Azure.
    • SQL Database est un moteur de base de données complètement managé. SQL Database s’exécute toujours sur la dernière version stable de SQL Server et un système d’exploitation corrigé offrant une haute disponibilité. Les fonctionnalités de gestion de base de données intégrées incluent la mise à niveau, la mise à jour corrective, les sauvegardes et la surveillance. Grâces à ces tâches prises en charge, vous pouvez vous concentrer sur l’administration et l’optimisation des bases de données critiques pour l’entreprise spécifiques d’un domaine.
    • 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. Pour les applications exigeant une mise à l’échelle et des performances supérieures, l’option de déploiement Hyperscale (Citus) met à l’échelle les requêtes sur plusieurs machines en utilisant un partitionnement,
    • Azure Cosmos DB est une base de données NoSQL rapide entièrement managée avec des API ouvertes pour n’importe quelle échelle.
  • Site Recovery reflète en miroir les machines virtuelles dans une région Azure secondaire pour un basculement et une récupération d’urgence rapides en cas de défaillance du centre de données Azure.
  • Data Factory est un service ETL (Extract, Transform, and Load) ce qui permet le scale-out de l’intégration et la transformation de données serverless. Il offre une interface utilisateur sans code pour une création intuitive et une supervision et une gestion dans une seule et même vue.

Détails du scénario

Il existe des raisons essentielles pour lesquelles les entreprises doivent remplacer leurs systèmes COBOL et mainframe :

  • Raréfaction des compétences dans le domaine : les développeurs qui comprennent la technologie COBOL et mainframe prennent leur retraite, et peu de développeurs sont formés pour les remplacer. Le vivier de talents se réduit de plus en plus et les coûts et les risques liés à l'utilisation de COBOL augmentent.
  • Flexibilité limitée : COBOL et les systèmes sous-jacents qui prennent en charge ce langage n’ont pas été conçus pour les applications cloud modernes. Ils manquent de flexibilité et sont et difficiles à intégrer.
  • Coûts exorbitants : le matériel et les logiciels mainframe IBM sont onéreux. Les frais de gestion des licences et de maintenance des applications et bases de données mainframe connexes augmentent.

Il existe un moyen de faire évoluer les systèmes COBOL et mainframe. La solution de refactorisation COBOL automatisée d’Astadia fournit des applications et des bases de données compatibles cloud qui sont fonctionnellement équivalentes à leurs homologues héritées. Les applications refactorisées s’exécutent en tant qu’applications Azure dans des machines virtuelles fournies par Machines virtuelles Microsoft Azure. Azure ExpressRoute les met à la disposition des utilisateurs tandis qu’Azure Load Balancer répartit la charge.

La refactorisation réduit les coûts et permet une intégration plus poussée et une personnalisation pour répondre aux besoins de l’entreprise. Les tracas et les coûts associés au COBOL et au mainframe cèdent la place à un nouveau monde de qualité et d'évolutivité qui comprend ce qui suit :

  • Tests automatisés et assurance qualité.
  • Docker et Kubernetes pour le déploiement et l’orchestration conteneurisés.

La solution de refactorisation crée des applications qui :

  • Sont fonctionnellement équivalentes à leurs équivalentes originales.
  • Sont écrits dans votre choix de Java ou C#.
  • Suivent les concepts et les paradigmes orientés objet.
  • Sont faciles à maintenir.
  • Offrent des performances sont aussi bonnes, voire meilleures, que celles des applications qu’elles remplacent.
  • Sont compatibles avec le cloud.
  • Sont livrées à l’aide d’une chaîne d’outils de DevOps standard et des meilleures pratiques.

Le processus de refactorisation comprend la normalisation du flux, la restructuration du code, l’extraction de la couche données, la remodélisation des données et l’empaquetage pour la reconstruction. Il identifie le code cloné et le remplace avec des objets partagés pour une maintenance et une gestion plus simples. Le processus identifie et supprime également le code mort en analysant les données et les dépendances de contrôle.

Les développeurs Java et C# adaptent les applications refactorisées pour l’optimisation du cloud à l’aide de concepts standard DevOps et d’intégration continue et de livraison continue (CI/CD). Ces outils et méthodes ne sont pas disponibles pour les applications mainframe. L’optimisation offre des avantages d’efficacité et d’entreprise tels que l’élasticité, la définition de service granulaire et une intégration aisée aux services natifs cloud.

Cas d’usage potentiels

La refactorisation automatisée est disponible pour la plupart des dialectes et plateformes COBOL, dont z/OS, OpenVMS et VME. Les candidats à l’utilisation incluent des organisations qui cherchent à :

  • Moderniser leur infrastructure et s’épargner les coûts élevés, les limitations et la rigidité des systèmes mainframe.
  • Éviter les risques de pénurie de développeurs COBOL et mainframe.
  • Réduire les coûts opérationnels et les dépenses en capital.
  • Déplacer les charges de travail mainframe vers le cloud sans les coûts et les risques de réécritures manuelles prolongées.
  • Migrer d’applications stratégiques vers le cloud tout en conservant la continuité avec les autres applications locales.
  • Rendre leurs systèmes évolutifs horizontalement et verticalement.
  • Implémenter des techniques de reprise d’activité après sinistre

Considérations

Les considérations de cette section, basées sur le Microsoft Azure Well-Architected Framework, s’appliquent à cette solution.

DevOps

La refactorisation accélère non seulement l’adoption du cloud, mais favorise également l’adoption des principes DevOps et de développement agiles. Vous bénéficiez d’une flexibilité totale en lien avec les options de déploiement en environnement de développement et de production.

Fiabilité

  • L’architecture utilise Site Recovery pour mettre en miroir les machines virtuelles dans une région Azure secondaire pour un basculement et une récupération d’urgence rapides en cas de défaillance d’un centre de données Azure.
  • La fonctionnalité des groupes de basculement automatique d’Azure SQL Database fournit une protection des données grâce à la gestion de la réplication des bases de données et au basculement vers une région secondaire. Pour plus d’informations, consultez Vue d’ensemble des groupes de basculement automatique et meilleures pratiques (Base de données Azure SQL).
  • La résilience est intégrée dans cette solution à l’aide de Load Balancer. En cas de défaillance d’un serveur de présentation ou de transaction, les autres serveurs peuvent exécuter les charges de travail.
  • Nous vous recommandons de créer des groupes à haute disponibilité pour vos machines virtuelles afin d’augmenter la disponibilité. Pour plus d’informations, consultez Vue d’ensemble des groupes à haute disponibilité.
  • Nous vous recommandons d’utiliser la géoréplication pour augmenter la fiabilité. Pour plus d’informations, consultez Redondance de Stockage Azure.

Extensibilité

Cette solution prend en charge le déploiement dans des conteneurs, des machines virtuelles ou des groupes Microsoft Azure Virtual Machine Scale Sets. Contrairement aux machines virtuelles, les conteneurs et les groupes de machines virtuelles identiques montent ou baissent en puissance parallèle rapidement. Le déplacement de l’unité de mise à l’échelle vers des conteneurs optimise l’utilisation de l’infrastructure.

Sécurité

  • 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.
  • Private Link pour Azure SQL Database fournit une connexion directe privée, isolée au réseau principal Azure et qui s’exécute entre les machines virtuelles Azure et SQL Database.
  • Azure Bastion optimise la sécurité de l’accès administrateur en minimisant les ports ouverts. Il fournit une connectivité RDP/SSH sécurisée et fluide à vos machines virtuelles de réseau virtuel, directement à partir du Portail Microsoft Azure via TLS.

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 anticipée pour répondre aux besoins de l’entreprise sans dépasser le budget alloué.
  • Azure réduit les coûts en s’exécutant sur des machines virtuelles. Vous pouvez désactiver les machines virtuelles qui ne sont pas utilisées et fournir une planification pour les modèles d’utilisation connus. Pour plus d’informations sur l’optimisation des coûts pour les machines virtuelles, consultez Machines Virtuelles.
  • Les machines virtuelles dans cette architecture utilisent un stockage sur disques SSD Premium ou Ultra. Pour plus d’informations sur les options et tarifs des disques, consultez Tarification des disques managés.
  • SQL Database optimise les coûts avec des ressources de calcul serverless et de stockage Hyperscale mises à l’échelle automatiquement. Pour plus d’informations sur les options et tarifs de SQL Database, consultez la section Tarification Azure SQL Database.
  • Pour estimer le coût de votre implémentation de cette solution, utilisez la Calculatrice de prix.

Contributeurs

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

Auteur principal :

Autre contributeur :

Étapes suivantes

  • Pour plus d’informations, contactez legacy2azure@microsoft.com.

Azure

Site web d’Astadia

Autre