Modifier

Partager via


Réorganiser des applications de traitement 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éorganiser une application par lots mainframe z/OS pour créer un système sécurisé, évolutif et hautement disponible dans le cloud à l’aide d’Azure. En raison de l’évolution constante des besoins des entreprises, les données et applications doivent pouvoir être fournies et mises à l’échelle sans affecter l’infrastructure. La réingénierie dans le cloud peut aider les entreprises actives dans le domaine des finances, de la santé, des assurances et de la distribution à réduire les délais de livraison de leurs produits ou prestations, ainsi que les coûts.

Architecture mainframe

Le premier diagramme illustre l’architecture d’une application par lots standard exécutée sur un ordinateur mainframe z/OS.

Diagramme représentant une application par lots standard exécutée sur un ordinateur mainframe z/OS.

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

Workflow

  1. Les processus de traitement par lots mainframe peuvent être déclenchés à un horaire programmé à l’aide d’un planificateur OPC (Operation, Planning and Control). Ils peuvent également être déclenchés par un message placé dans une file d’attente (par exemple, message annonçant la création d’un fichier).

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

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

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

    • d’une base de données basée sur un fichier telle que la méthode Virtual Storage Access Method (VSAM) ;
    • d’une base de données relationnelle telle que Db2 ou Informix ;
    • d’une base de données non relationnelle telles qu’IMS (Information Management System) ;
    • d’une file d’attente de messages.
  5. La sortie de l’exécution du travail peut être surveillée par le biais d’un planificateur OPC ou de Tivoli Workload Scheduler (TWS). Une interface SDSF (System Display and Search Facility) dans le système JES est également utilisée sur l’ordinateur mainframe pour vérifier l’état d’exécution des travaux.

  6. Le niveau de gestion fournit les services suivants :

    • contrôle de code source tel que Endevor ou Changeman ;
    • sécurité telle que Resource Access Control Facility (RACF). Cette sécurité assure l’authentification des lots en cours d’exécution, 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 des travaux.

Architecture Azure

Le deuxième diagramme montre comment utiliser les services Azure pour réorganiser une application semblable avec des fonctionnalités supplémentaires et une flexibilité accrue.

Diagramme représentant une application par lots réorganisée à l’aide des services Azure. Plusieurs exemples de services sont inclus.

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

Workflow

  1. Utilisez l’un des déclencheurs suivants pour démarrer le processus de traitement par lots Azure.

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

  3. Azure fournit plusieurs services afin d’implémenter une charge de travail de traitement par lots mainframe. Sélectionnez des services spécifiques conformément aux besoins de votre entreprise, tels que la puissance de calcul requise, le délai d’exécution total, la possibilité de fractionner le processus de traitement par lots mainframe en unités plus petites et la sensibilité aux coûts.

    1. Azure Databricks est une plateforme d’analyse basée sur Apache Spark. Les travaux peuvent être écrits dans les langages R, Python, Java, Scala et Spark SQL. Elle fournit un environnement de calcul avec des délais rapides de démarrage de cluster, un arrêt automatique et une mise à l’échelle automatique. Il présente une intégration avec Azure Storage, telle que Stockage Blob Azure et Azure Data Lake Storage. Vous pouvez utiliser Azure Databricks si vous avez besoin de traiter de grands volumes de données en peu de temps. La plateforme convient également si vous devez exécuter des charges de travail ETL (Extract-transform-load).
    2. AKS et Service Fabric fournissent une infrastructure pour implémenter une architecture d’application basée sur les services. L’utilisation de celle-ci n’est pas nécessairement 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 Apps entièrement géré. Les développeurs Java peuvent l’utiliser pour créer et exécuter facilement des microservices Spring Boot sur Azure.
    3. Vous pouvez réorganiser votre application par lots mainframe à l’aide de .NET ou Java. Batch fournit l’infrastructure pour exécuter cette application à l’échelle. Il crée et gère un pool de machines virtuelles, installe les applications, puis planifie l’exécution des travaux sur les machines virtuelles. Il n’y a aucun logiciel de planificateur de travail ou de cluster à installer, gérer ou mettre à l’échelle. Vous pouvez écrire des applications dans n’importe quel langage de programmation pris en charge par Windows ou Linux.
    4. Vous pouvez réorganiser des programmes de traitement par lots COBOL ou PL/1 à exécution rapide. Pour ces programmes, vous pouvez utiliser les services Azure comme 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 moyennant une modification minime de la visibilité des offres de base de données relationnelle Azure. Par exemple, les services de base de données relationnelle tels qu’Azure SQL VM, 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 tel qu’Azure PostgreSQL. La sélection d’une base de données Azure dépend du type de charge de travail, des requêtes de bases de données croisé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 qu’IMS, IDMS (Integrated Data Management System) ou VSAM vers Azure Cosmos DB. Azure Cosmos DB assure des temps de réponse rapides, une scalabilité automatique et instantanée, ainsi qu’une vitesse garantie quelle que soit l’échelle. Il s’agit d’une option économique pour les charges de travail imprévisibles ou sporadiques, quelle que soit leur taille ou leur envergure. Les développeurs peuvent commencer facilement sans avoir à planifier ou à gérer la capacité.
    • Vous pouvez utiliser Azure Cache pour Redis pour améliorer les performances d’une application réorganisée.
  5. Les applications, le système d’exploitation et les ressources Azure peuvent utiliser des agents pour envoyer des journaux et des indicateurs de performance à Azure Monitor Logs.

    • Application Insights surveille votre application migrée. Il détecte automatiquement les anomalies de performances et intègre de puissants outils d’analyse conçus pour aider à diagnostiquer les problèmes.
    • Azure Log Analytics permet de stocker, indexer, interroger et dériver des analyses à partir des données de journal collectées.

    Vous pouvez utiliser la sortie de Log Analytics et Application Insights pour créer des alertes et des tableaux de bord, ou les exporter vers des services externes. Vous pouvez également utiliser la sortie pour effectuer une action telle que 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. Il est possible que ces services se composent 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 d’un fournisseur de connectivité. Avec ExpressRoute, vous pouvez établir des connexions aux services cloud de Microsoft, tels que Microsoft Azure et Office 365.
  • Passerelle VPN Azure : une passerelle VPN est une passerelle de réseau virtuel qui est utilisée pour envoyer du trafic chiffré entre un réseau virtuel Azure et un emplacement local via l’Internet public.
  • Microsoft Entra ID : Microsoft Entra ID est un service de gestion des identités et des accès que vous pouvez synchroniser avec un répertoire local.

Application

  • Logic Apps : Logic Apps vous aide à créer et à exécuter des tâches et des processus récurrents automatisés selon un calendrier. Vous pouvez invoquer 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 sur des services Azure tels qu’Azure Service Bus ou récupérer des fichiers chargés sur un partage de fichiers.
  • Service Bus : vous pouvez utiliser le service Service Bus pour échanger des messages entre une interface utilisateur et des services principaux. Ce système peut découpler des applications et services, et accroître la fiabilité et l’utilisation.
  • Azure Databricks : Azure Databricks est un outil d’engineering données basé sur le cloud qui permet de traiter et transformer de grands volumes de données. Vous pouvez ensuite explorer ces données à l’aide de modèles Machine Learning.
  • Azure Spring Apps : Azure Spring Apps facilite le déploiement, la gestion et l’exécution des 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 du Batch Computing à 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. Le service convient parfaitement aux cas d’utilisation d’ETL ou d’IA pour lesquels plusieurs tâches sont exécutées en parallèle, indépendamment les unes des autres.
  • Functions : Functions vous permet d’exécuter de petits morceaux de code sans vous préoccuper de l’infrastructure de l’application. Avec Functions, l’infrastructure cloud fournit tous les serveurs à jour dont vous avez besoin pour que votre application continue de s’exécuter à grande échelle.
  • Azure App Service : avec WebJobs, une fonctionnalité d’App Service, vous pouvez coder la logique métier en arrière-plan réutilisable en tant que tâches web.
  • Azure Cache pour Redis : les applications qui utilisent un volume élevé de données principales peuvent être développées pour adapter et fournir des performances hautement optimisées en s’intégrant à une banque de données en mémoire telle que Redis. Azure Cache pour Redis fournit à la fois Redis open source (OSS Redis) et un produit commercial de Redis Labs (Redis Enterprise) sous la forme d’un service managé.

Stockage

Stockage Azure fournit plusieurs niveaux de données chaudes, froides et d’archivage. Une utilisation efficace de ces niveaux de stockage peut vous offrir un avantage en termes de rapport qualité/prix.

  • Stockage Blob : stockage d’objets basé sur REST évolutif et sécurisé pour les charges de travail, les archives, les lacs de données, l’informatique hautes performances et le Machine Learning natifs cloud.
  • Azure Files : partages de fichiers cloud de qualité professionnelle simples, sécurisés et serverless. Azure Files peut être particulièrement utile pour les solutions mainframe réorganisées. Le service fournit un module complémentaire efficace pour le stockage SQL managé.
  • Stockage Table : stockage de valeurs de clé NoSQL pour un développement rapide à l’aide de grands jeux de données semi-structurés.
  • Stockage File d’attente Azure : mise en 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 les machines virtuelles Azure et Azure Database for MariaDB.
  • Azure Cosmos DB : offre non SQL que vous pouvez utiliser pour migrer des données non tabulaires à partir d’ordinateurs mainframe.

Surveillance

  • Azure Monitor : Azure Monitor offre une solution complète pour collecter, analyser et exploiter les données de télémétrie de vos environnements cloud et locaux. Elle contient les fonctionnalités Application Insights, Azure Monitor Logs et Azure Log Analytics.

Gestion

  • Azure DevOps : réorganisez des applications mainframe sur Azure à toutes les phases de développement logiciel et de collaboration d’équipe. DevOps propose les services suivants :

    • Azure Boards : planification agile, suivi des éléments de travail, visualisation et outil de création de rapports.
    • Azure Pipelines : plateforme CI/CD indépendante du langage, de la plateforme et du cloud avec prise en charge des conteneurs ou de Kubernetes.
    • Azure Repos: fournit des référentiels 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 packages Maven, npm, Python et NuGet à partir de sources publiques ou privées.
    • Azure Test Plans : fournit une solution de test intégré, planifié et exploratoire.

Détails du scénario

Les ordinateurs mainframe sont principalement utilisés pour traiter de grands volumes de données. Le traitement par lots permet de traiter un grand volume de transactions regroupées, puis d’effectuer des mises à jour en bloc sur la base de données. Une fois déclenché, il ne nécessite aucune intervention de l’utilisateur ou une intervention minimale. Par exemple, les systèmes mainframe permettent aux banques et autres établissements financiers d’effectuer des traitements en fin de trimestre et de produire des rapports, tels que des relevés trimestriels d’action ou 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 distribution. Utilisez cette architecture pour réorganiser des applications mainframe sur Azure. L’architecture convient parfaitement aux applications suivantes :

  • applications de traitement par lots mainframe sollicitant de nombreuses ressources ;
  • applications par lots nécessitant une capacité de calcul importante pendant une période spécifique telle que la fin du mois, du trimestre ou de l’année ;
  • processus de traitement par lots mainframe répétitifs qui mobilisent peu de ressources, mais pouvant impliquer une utilisation par des systèmes externes.

Considérations

Disponibilité

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

Extensibilité

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

    • Azure Databricks
    • AKS
    • Spring Apps
    • Batch
    • Azure Functions
    • Logic Apps
  • Pour plus d’informations sur la mise à l’échelle automatique, consultez le guide sur la 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. Vous pouvez aussi utiliser un VPN de site à site.
  • Vous pouvez authentifier des ressources Azure en tirant parti de Microsoft Entra ID. Vous pouvez gérer les autorisations à l’aide du contrôle d’accès en fonction du rôle.
  • Les services de base de données dans Azure prennent en charge différentes options de sécurité, comme le chiffrement des données au repos.
  • Pour plus d’informations sur la conception de solutions sécurisées, consultez la 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 l’intégrité de vos ressources.
  • Pour plus d’informations sur la résilience dans Azure, consultez l’article sur la conception d’applications Azure fiables.

Optimisation des coûts

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

Pour obtenir un exemple d’estimation de coût des services, consultez l’application par lots mainframe Azure.

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