Modifier

Partager via


Réinscrire des applications par lots mainframe sur Azure

Azure Data Factory
Azure Databricks
Azure Kubernetes Service (AKS)
Azure SQL Database
Stockage Azure

Cette architecture de référence montre comment utiliser Azure pour réinscrire une application par lots mainframe z/OS pour fournir un système sécurisé, évolutif et hautement disponible dans le cloud à l’aide d’Azure. En raison des besoins métier en constante évolution, les données et les applications doivent fournir et mettre à l’échelle sans affecter votre infrastructure. La re-ingénierie vers le cloud peut aider les entreprises à financer, à santé, à assurance et à réduire les délais de livraison de leurs produits ou fonctionnalités, et à réduire les coûts.

Mainframe Architecture

Le premier diagramme montre l’architecture d’une application batch classique s’exécutant sur un mainframe z/OS.

Diagramme d’une application par lots classique s’exécutant sur un mainframe z/OS.

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

Flux de travail

  1. Les processus de traitement par lots mainframe peuvent être déclenchés à un moment planifié à l’aide d’un planificateur d’opérations, de planification et de contrôle (OPC). Ils peuvent également être déclenchés par un message placé dans une file d’attente de messages, comme un message qui annonce qu’un fichier a été créé.

  2. Un appareil de stockage à accès direct mainframe (DASD) est utilisé pour stocker les fichiers d’entrée et de sortie ; par exemple, les fichiers plats requis par l’application. Vous pouvez déclencher le processus de traitement par lots en créant un fichier sur le stockage DASD.

  3. Le processus de traitement par lots est une exécution d’un ensemble de travaux, comme un travail en interne exécutant un utilisateur ou un programme système pour effectuer une tâche spécifique. En règle générale, les processus de traitement par lots sont exécutés sans interaction utilisateur. Tous les travaux de traitement par lots sur un mainframe sont exécutés sous le contrôle d’un système d’exécution de travaux (JES).

  4. Les programmes dans les processus de traitement par lots peuvent lire/écrire des données à partir de :

    • Base de données basée sur des fichiers, telle que Virtual Storage Access Method (VSAM).
    • Base de données relationnelle telle que Db2 ou Informix.
    • Une base de données non relationnelle comme le système de gestion des informations (IMS).
    • File d’attente de messages.
  5. La sortie de l’exécution du travail peut être supervisée par le biais d’un planificateur OPC ou d’un planificateur de charge de travail De l’OPC (TWS). Une installation d’affichage et de recherche système (SDSF) dans le serveur JES est également utilisée sur le mainframe pour vérifier l’état d’exécution du travail.

  6. Le niveau de gestion fournit les services suivants :

    • Contrôle de code source, comme Endevor ou Changeman.
    • Sécurité, comme l’installation de contrôle d’accès aux ressources (RACF). Cette sécurité fournit l’authentification pour l’exécution de lots, l’accès aux fichiers et l’accès à la base de données.
    • Gestion des sorties qui prend en charge le stockage et la recherche des journaux d’exécution de travaux.

Architecture Azure

Le deuxième diagramme montre comment utiliser les services Azure pour réinscrire une application similaire avec des fonctionnalités et une flexibilité ajoutées.

Diagramme d’une application de traitement par lots réécrite à l’aide de services Azure. Plusieurs exemples de services sont inclus.

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

Flux de travail

  1. Utilisez l’un des déclencheurs suivants pour démarrer le processus Azure Batch.

    • Utilisez le planificateur de travaux Azure Databricks ou planificateur de fonction Azure.
    • Créez une tâche de traitement par lots périodique avec Azure Logic Apps.
    • Utilisez un événement de stockage, comme la création ou la suppression d’un fichier dans Blob Azure ou stockage de fichiers.
    • Utilisez un déclencheur basé sur des messages, comme l’arrivée d’un message sur le Azure Service Bus.
    • Créez un déclencheur Azure Data Factory.
  2. Stockez les fichiers migrés à partir du mainframe à l’aide du Stockage Blob Azure ou d’Azure Files. Les processus Batch réécrits sur Azure peuvent lire/écrire des données à partir de ce stockage.

  3. Azure fournit différents services pour implémenter une charge de travail de traitement par lots mainframe. Sélectionnez des services spécifiques basés sur les besoins de votre entreprise. Par exemple, la puissance de calcul requise, le temps d’exécution total, la possibilité de fractionner le traitement par lots mainframe en unités plus petites et la sensibilité des coûts.

    1. Azure Databricks est une plateforme d’analytique basée sur Apache Spark. Les travaux peuvent être écrits dans les langages R, Python, Java, Scala et Spark SQL. Il fournit un environnement de calcul avec des heures de démarrage de cluster rapides, un arrêt automatique et une mise à l’échelle automatique. Il dispose d’une intégration intégrée au stockage Azure, comme Stockage Blob Azure et Stockage Azure Data Lake. Utilisez Azure Databricks si vous devez traiter de grandes quantités de données dans un court délai. Il s’agit également d’un bon choix si vous avez besoin d’exécuter des charges de travail d’extraction, de transformation et de chargement (ETL).
    2. AKS et Service Fabric fournissent une infrastructure pour implémenter une architecture d’application basée sur le service. Il peut ne pas être rentable pour une seule application. Vous pouvez refactoriser votre application mainframe à l’aide de Java Spring Boot. La meilleure façon d’exécuter des applications Spring Boot sur Azure consiste à utiliser Azure Spring Apps, un service Spring entièrement managé. Les développeurs Java peuvent l’utiliser pour générer et exécuter facilement des microservices Spring Boot sur Azure.
    3. Vous pouvez réinscrire votre application de traitement par lots mainframe à l’aide de .NET ou Java. Batch fournit l’infrastructure pour exécuter cette application à grande échelle. Il crée et gère un pool de machines virtuelles, installe les applications, puis planifie les travaux à exécuter sur les machines virtuelles. Aucun logiciel de cluster ou de planificateur de travaux n’est installé, géré ou mis à l’échelle. Écrivez des applications dans n’importe quel langage de programmation pris en charge par Windows ou Linux.
    4. Vous pouvez réinscrire des programmes de traitement par lots COBOL ou PL/1 en cours d’exécution. Pour ces programmes, utilisez des services Azure tels que Functions, WebJobs ou Logic Apps.
  4. Azure fournit différents services de données pour stocker et récupérer des données.

    • Vous pouvez migrer des bases de données relationnelles mainframe telles que Db2 et Informix avec des modifications minimales apportées à la visibilité des offres de base de données relationnelle Azure. Par exemple, les services de base de données relationnelles tels que la machine virtuelle Azure SQL, Azure SQL DB ou Azure SQL MI. Vous pouvez également utiliser n’importe quel système de gestion de base de données relationnelle open source (SGBDR) comme Azure PostgreSQL. La sélection d’une base de données Azure dépend du type de charge de travail, des requêtes inter-bases de données, des exigences de validation en deux phases et de nombreux autres facteurs.
    • Vous pouvez migrer des bases de données non relationnelles mainframe telles que IMS, Integrated Data Management System (IDMS) ou VSAM vers Azure Cosmos DB. Azure Cosmos DB fournit des temps de réponse rapides, une scalabilité automatique et instantanée et une vitesse garantie à n’importe quelle échelle. Il s’agit d’une option économique pour les charges de travail imprévisibles ou sporadiques de toute taille ou échelle. Les développeurs peuvent facilement commencer sans avoir à planifier ou à gérer la capacité.
    • Vous pouvez utiliser Azure Cache pour Redis pour accélérer une application réécrite.
  5. Les applications, le système d’exploitation et les ressources Azure peuvent utiliser des agents pour envoyer des journaux et des métriques à journaux Azure Monitor.

    • Application Insight surveille votre application migrée. Il détecte automatiquement les anomalies de performances et inclut des outils d’analyse puissants pour vous aider à diagnostiquer les problèmes.
    • azure Log Analytics permet de stocker, d’indexer, d’interroger et de dériver des données de journal collectées.

    Vous pouvez utiliser la sortie de Log Analytics et d’Application Insights pour créer des alertes et des tableaux de bord, ou exporter vers des services externes. Vous pouvez également utiliser la sortie pour effectuer une action comme la mise à l’échelle d’une machine virtuelle.

  6. Ce niveau fournit des services Azure pour le contrôle de code source, la sécurité et la gestion des sorties. Ces services peuvent être constitués d’Azure DevOps et de Microsoft Entra ID.

Composants

Réseau et identité

  • azure ExpressRoute: ExpressRoute vous permet d’étendre vos réseaux locaux dans le cloud Microsoft via une connexion privée à partir d’un fournisseur de connectivité. Avec ExpressRoute, vous pouvez établir des connexions à des services cloud Microsoft comme Microsoft Azure et Office 365.
  • passerelle VPN Azure: une passerelle VPN est un type spécifique de passerelle de réseau virtuel utilisée pour envoyer le trafic chiffré entre un réseau virtuel Azure et un emplacement local sur l’Internet public.
  • 'ID Microsoft Entra: l’ID Microsoft Entra est un service de gestion des identités et des accès qui peut être synchronisé avec un répertoire local.

Application

  • Logic Apps: Logic Apps vous permet de créer et d’exécuter des tâches et des processus périodiques automatisés selon une planification. Vous pouvez appeler des services à l’intérieur et à l’extérieur d’Azure, tels que des points de terminaison HTTP ou HTTPS. Vous pouvez également publier des messages dans des services Azure tels qu’Azure Service Bus ou obtenir des fichiers chargés dans un partage de fichiers.
  • Service Bus: vous pouvez utiliser Service Bus pour la messagerie entre une interface utilisateur et des services principaux. Ce système peut dissocier les applications et les services et augmenter la fiabilité et l’utilisation.
  • Azure Databricks: Azure Databricks est un outil d’ingénierie des données cloud utilisé pour le traitement et la transformation de grandes quantités de données. Vous pouvez ensuite explorer ces données via des modèles Machine Learning.
  • Azure Spring Apps: Azure Spring Apps facilite le déploiement, la gestion et l’exécution de microservices Spring sur Azure. Il prend en charge Java et .NET Core.
  • AKS: AKS simplifie le déploiement d’un cluster Kubernetes managé dans Azure en déchargeant la surcharge opérationnelle sur Azure.
  • Batch: Batch est conçu pour exécuter le traitement par lots à usage général dans le cloud sur de nombreuses machines virtuelles pouvant être mises à l’échelle en fonction de la charge de travail en cours d’exécution. Il s’agit d’un ajustement parfait pour les cas d’usage ETL ou IA où plusieurs tâches sont exécutées en parallèle, indépendamment les unes des autres.
  • Functions: utilisez Functions pour exécuter de petits éléments de code sans vous soucier de l’infrastructure d’application. Avec Functions, l’infrastructure cloud fournit tous les serveurs up-to-date dont vous avez besoin pour maintenir l’exécution de votre application à grande échelle.
  • azure App Service: avec WebJobs, une fonctionnalité d’App Service, vous pouvez coder une logique métier en arrière-plan réutilisable en tant que travaux web.
  • Azure Cache pour Redis: les applications qui utilisent un volume élevé de données back-end peuvent être développées pour mettre à l’échelle et offrir des performances hautement optimisées en s’intégrant à un magasin de données en mémoire comme Redis. Azure Cache pour Redis offre à la fois l’open source Redis (OSS Redis) et un produit commercial de Redis Labs, Redis Enterprise, en tant que service géré.

Stockage

Le stockage Azure fournit plusieurs niveaux de données chaudes, froides et archivées. L’utilisation efficace de ces niveaux de stockage peut vous offrir un avantage de prix à la performance.

  • Stockage Blob: stockage d’objets évolutif et sécurisé pour les charges de travail natives cloud, les archives, les lacs de données, le calcul hautes performances et le Machine Learning.
  • Azure Files: partages de fichiers cloud simples, sécurisés et serverless. Azure Files peut particulièrement être utile pour les solutions mainframe réécrites. Il fournit un module complémentaire efficace pour le stockage SQL managé.
  • stockage table: magasin de clé-valeur NoSQL pour un développement rapide à l’aide de jeux de données semi-structurés volumineux.
  • Stockage File d’attente Azure: file d’attente de messages simple, économique et durable pour les charges de travail volumineuses.
  • azure SQL: famille de services entièrement managée d’Azure pour SQL Server. Vous pouvez migrer et utiliser efficacement les données relationnelles avec d’autres services Azure tels qu’Azure SQL Managed Instance, SQL Server sur des machines virtuelles Azure et Azure Database for MariaDB.
  • Azure Cosmos DB: offre no-SQL que vous pouvez utiliser pour migrer des données non tabulaires à partir des mainframes.

Surveillance

  • Azure Monitor: Azure Monitor fournit une solution complète pour collecter, analyser et agir sur les données de télémétrie à partir d’environnements cloud et locaux. Il contient les fonctionnalités Application Insights, Journaux Azure Monitor et Azure Log Analytics.

Gestion

  • Azure DevOps: réinscrire des applications mainframe sur Azure pendant chaque phase du développement logiciel et de la collaboration d’équipe. DevOps fournit les services suivants :

    • Azure Boards: planification agile, suivi des éléments de travail, visualisation et outil de création de rapports.
    • azure Pipelines: une plateforme, une plateforme et une plateforme CI/CD indépendante du cloud avec prise en charge des conteneurs ou Kubernetes.
    • azure Repos: fournit des dépôts git privés hébergés dans le cloud.
    • Azure Artifacts: fournit une gestion intégrée des packages avec prise en charge des flux de package Maven, npm, Python et NuGet à partir de sources publiques ou privées.
    • plans de test Azure: fournit une solution de test intégrée, planifiée et exploratoire.

Détails du scénario

Les mainframes sont principalement utilisés pour traiter de grandes quantités de données. Le traitement par lots est un moyen de traiter un volume élevé de transactions regroupées, puis d’effectuer des mises à jour en bloc sur la base de données. Une fois déclenchés, ils nécessitent un minimum d’interaction utilisateur. Par exemple, les systèmes mainframe permettent aux banques et à d’autres institutions financières d’effectuer un traitement de fin de trimestre et de produire des rapports, tels que des titres boursiers trimestriels ou des relevés de pension.

Cas d’usage potentiels

Cette solution est idéale pour les secteurs de la finance, de l’assurance, de la santé et de la vente au détail. Utilisez cette architecture pour réinscrire des applications mainframe sur Azure. L’architecture fonctionne le mieux pour :

  • Applications de traitement par lots mainframe gourmandes en ressources.
  • Applications batch nécessitant un calcul élevé pendant une certaine période, comme la fin du mois, le trimestre ou l’année.
  • Processus de traitement par lots mainframe qui sont répétitifs et non gourmands en ressources, mais qui peuvent nécessiter une utilisation par des systèmes externes.

Considérations

Disponibilité

  • L’architecture de traitement par lots de cet article utilise des services PaaS ou de calcul à plusieurs nœuds, qui offrent une haute disponibilité.
  • Les services de base de données Azure prennent en charge la redondance de zone et vous pouvez les concevoir pour basculer vers un nœud secondaire en cas de panne ou pendant une fenêtre de maintenance.

Scalabilité

  • Les services Azure suivants dans cette architecture ont des fonctionnalités de mise à l’échelle automatique :

    • Azure Databricks
    • AKS
    • Spring Apps
    • Lot
    • Azure Functions
    • Logic Apps
  • Pour plus d’informations sur la mise à l’échelle automatique dans Azure, consultez le guide de mise à l’échelle automatique .

Sécurité

  • Cette architecture de référence utilise ExpressRoute pour une connexion privée et efficace à Azure à partir de l’environnement local. Toutefois, vous pouvez également créer un site sur unVPN de site.
  • Vous pouvez authentifier les ressources Azure à l’aide de l’ID Microsoft Entra. Vous pouvez gérer les autorisations avec le contrôle d’accès en fonction du rôle (RBAC).
  • Les services de base de données dans Azure prennent en charge différentes options de sécurité telles que Le chiffrement des données au repos.
  • Pour plus d’informations sur la conception de solutions sécurisées, consultez documentation sur la sécurité Azure.

Résilience

  • Vous pouvez utiliser Azure Monitor et Application Insights, en plus de Log Analytics, pour surveiller l’intégrité d’une ressource Azure. Définissez des alertes pour gérer de manière proactive votre intégrité des ressources.
  • Pour plus d’informations sur la résilience dans Azure, consultez Conception d’applications Azure fiables.

Optimisation des coûts

Utilisez la calculatrice de prix Azure pour estimer les coûts des ressources Azure.

Consultez application par lots Azure mainframes pour obtenir un exemple d’estimation des coûts des services.

Contributeurs

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

Auteur principal :

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

Étapes suivantes

  • Pour plus d’informations, contactez datasqlninja@microsoft.com.
  • Consultez les guides de migration de base de données Azure .