Bewerken

Delen via


Mainframe-batchtoepassingen opnieuw ontwerpen in Azure

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

Deze referentiearchitectuur laat zien hoe u Azure kunt gebruiken om een z/OS mainframe batch-toepassing opnieuw te ontwikkelen om een veilig, schaalbaar en maximaal beschikbaar systeem in de cloud te leveren met behulp van Azure. Vanwege steeds veranderende bedrijfsbehoeften moeten gegevens en toepassingen leveren en schalen zonder dat dit van invloed is op uw infrastructuur. Door de cloud opnieuw te ontwikkelen, kunnen bedrijven in financiën, gezondheid, verzekeringen en detailhandel hun product- of functieleveringstijden minimaliseren en kosten verlagen.

Mainframe-architectuur

In het eerste diagram ziet u de architectuur van een typische batchtoepassing die wordt uitgevoerd op een z/OS-mainframe.

diagram van een typische batchtoepassing die wordt uitgevoerd op een z/OS-mainframe.

Download een Visio-bestand van deze architectuur.

Werkstroom

  1. Batchprocessen van mainframes kunnen op een gepland tijdstip worden geactiveerd met behulp van een OPC-scheduler (Operation, Planning en Control). Ze kunnen ook worden geactiveerd door een bericht in een berichtenwachtrij, zoals een bericht dat aankondigt dat er een bestand is gemaakt.

  2. Een DASD (Mainframe Direct Access Storage Device) wordt gebruikt voor het opslaan van invoer- en uitvoerbestanden; Bijvoorbeeld platte bestanden die vereist zijn voor de toepassing. U kunt het batchproces activeren door een bestand in de DASD-opslag te maken.

  3. Het batchproces is een uitvoering van een reeks taken, zoals een taak die intern een gebruiker of systeemprogramma uitvoert om een specifieke taak uit te voeren. Normaal gesproken worden batchprocessen uitgevoerd zonder tussenkomst van de gebruiker. Alle batchtaken op een mainframe worden uitgevoerd onder controle van een JES (Job Execution System).

  4. Programma's in batchprocessen kunnen gegevens lezen/schrijven van:

    • Een database op basis van bestanden, zoals Virtual Storage Access Method (VSAM).
    • Een relationele database, zoals Db2 of Informix.
    • Een niet-relationele database, zoals Information Management System (IMS).
    • Een berichtenwachtrij.
  5. De uitvoer van de taakuitvoering kan worden bewaakt via een OPC scheduler of Workload Scheduler (TWS). Een systeemweergave en zoekfaciliteit (SDSF) in de JES wordt ook gebruikt op het mainframe om de uitvoeringsstatus van de taak te controleren.

  6. De beheerlaag biedt de volgende services:

    • Broncodebeheer, zoals Endevor of Changeman.
    • Beveiliging, zoals Resource Access Control Facility (RACF). Deze beveiliging biedt verificatie voor het uitvoeren van batches, het openen van bestanden en het openen van de database.
    • Uitvoerbeheer dat ondersteuning biedt voor de opslag en het zoeken naar taakuitvoeringslogboeken.

Azure-architectuur

In het tweede diagram ziet u hoe u Azure-services kunt gebruiken om een vergelijkbare toepassing opnieuw te ontwerpen met toegevoegde mogelijkheden en flexibiliteit.

diagram van een batchtoepassing die opnieuw is ontworpen met behulp van Azure-services. Er zijn meerdere voorbeeldservices opgenomen.

Download een Visio-bestand van deze architectuur.

Werkstroom

  1. Gebruik een van de volgende triggers om het Azure-batchproces te starten.

    • Gebruik de Azure Databricks taakplanner of Azure Function scheduler.
    • Maak een terugkerende batchprocestaak met Azure Logic Apps-.
    • Gebruik een opslag gebeurtenis, zoals het maken of verwijderen van een bestand in Azure Blob of File Storage.
    • Gebruik een trigger op basis van berichten, zoals de komst van een bericht op de Azure Service Bus-.
    • Maak een Azure Data Factory--trigger.
  2. Sla bestanden die vanuit het mainframe zijn gemigreerd op met behulp van Azure Blob Storage of Azure Files. Batchprocessen die opnieuw zijn ontworpen in Azure, kunnen gegevens uit deze opslag lezen/schrijven.

  3. Azure biedt verschillende services voor het implementeren van een mainframe-batchworkload. Selecteer specifieke services die zijn gebaseerd op uw bedrijfsvereisten. Bijvoorbeeld rekenkracht vereist, totale uitvoeringstijd, de mogelijkheid om mainframe batchproces te splitsen in kleinere eenheden en kostengevoeligheid.

    1. Azure Databricks is een op Apache Spark gebaseerd analyseplatform. Taken kunnen worden geschreven in de talen R, Python, Java, Scala en Spark SQL. Het biedt een rekenomgeving met snelle begintijden van het cluster, automatische beëindiging en automatisch schalen. Het heeft ingebouwde integratie met Azure Storage, zoals Azure Blob Storage en Azure Data Lake Storage. Gebruik Azure Databricks als u in korte tijd grote hoeveelheden gegevens moet verwerken. Het is ook een goede keuze als u ETL-workloads (Extract, Transform en Load) moet uitvoeren.
    2. AKS en Service Fabric bieden een infrastructuur voor het implementeren van een toepassingsarchitectuur op basis van een service. Het is mogelijk niet rendabel voor één toepassing. U kunt uw mainframe-toepassing herstructureren met behulp van Java Spring Boot. De beste manier om Spring Boot-apps uit te voeren in Azure is het gebruik van Azure Spring Apps, een volledig beheerde Spring-service. Java-ontwikkelaars kunnen dit gebruiken om eenvoudig Spring Boot Microservices te bouwen en uit te voeren in Azure.
    3. U kunt uw mainframe batch-toepassing opnieuw ontwikkelen met behulp van .NET of Java. Batch biedt de infrastructuur voor het uitvoeren van deze toepassing op schaal. Hiermee maakt en beheert u een groep virtuele machines (VM's), installeert u de toepassingen en plant u vervolgens taken die op de VM's moeten worden uitgevoerd. Er is geen cluster- of taakplannersoftware om te installeren, beheren of schalen. Schrijf toepassingen in elke programmeertaal die wordt ondersteund door Windows of Linux.
    4. U kunt kortlopende COBOL- of PL/1-batchprogramma's opnieuw ontwerpen. Gebruik voor deze programma's Azure-services zoals Functions, WebJobs of Logic Apps.
  4. Azure biedt verschillende gegevensservices voor het opslaan en ophalen van gegevens.

    • U kunt relationele mainframe-databases, zoals Db2 en Informix, migreren met minimale wijzigingen in de zichtbaarheid van de relationele Azure-databaseaanbiedingen. Bijvoorbeeld relationele databaseservices zoals Azure SQL VM, Azure SQL DB of Azure SQL MI. U kunt ook elk opensource Relational Database Management System (RDBMS) zoals Azure PostgreSQL gebruiken. De selectie van een Azure-database is afhankelijk van het type workload, query's tussen databases, vereisten voor doorvoeren in twee fasen en vele andere factoren.
    • U kunt mainframes niet-relationele databases migreren, zoals IMS, Integrated Data Management System (IDMS) of VSAM naar Azure Cosmos DB. Azure Cosmos DB biedt snelle reactietijden, automatische en directe schaalbaarheid en gegarandeerde snelheid op elke schaal. Het is een rendabele optie voor onvoorspelbare of sporadische workloads van elke grootte of schaal. Ontwikkelaars kunnen eenvoudig aan de slag zonder capaciteit te hoeven plannen of beheren.
    • U kunt Azure Cache voor Redis gebruiken om een opnieuw ontworpen toepassing te versnellen.
  5. Toepassingen, het besturingssysteem en Azure-resources kunnen agents gebruiken om logboeken en metrische gegevens te verzenden naar Azure Monitor-logboeken.

    • Application Insight- bewaakt uw gemigreerde toepassing. Het detecteert automatisch prestatieafwijkingen en bevat krachtige analysehulpprogramma's om u te helpen bij het diagnosticeren van problemen.
    • Azure Log Analytics- helpt bij het opslaan, indexeren, opvragen en afleiden van analyses van de verzamelde logboekgegevens.

    U kunt de uitvoer van Log Analytics en Application Insights gebruiken om waarschuwingen en dashboards te maken of te exporteren naar externe services. U kunt de uitvoer ook gebruiken om een actie uit te voeren, zoals het schalen van een VIRTUELE machine.

  6. Deze laag biedt Azure-services voor broncodebeheer, beveiliging en uitvoerbeheer. Deze services kunnen bestaan uit Azure DevOps en Microsoft Entra-id.

Onderdelen

Netwerk en identiteit

  • Azure ExpressRoute-: Met ExpressRoute kunt u uw on-premises netwerken uitbreiden naar de Microsoft-cloud via een privéverbinding van een connectiviteitsprovider. Met ExpressRoute kunt u verbindingen tot stand brengen met Microsoft-cloudservices zoals Microsoft Azure en Office 365.
  • Azure VPN Gateway: een VPN-gateway is een specifiek type virtuele netwerkgateway dat wordt gebruikt voor het verzenden van versleuteld verkeer tussen een virtueel Azure-netwerk en een on-premises locatie via het openbare internet.
  • Microsoft Entra ID: Microsoft Entra ID is een service voor identiteits- en toegangsbeheer die kan worden gesynchroniseerd met een on-premises directory.

Toepassing

  • Logic Apps: Logic Apps helpt u bij het maken en uitvoeren van geautomatiseerde terugkerende taken en processen volgens een planning. U kunt services binnen en buiten Azure aanroepen, zoals HTTP- of HTTPS-eindpunten. U kunt ook berichten posten naar Azure-services zoals Azure Service Bus of bestanden uploaden naar een bestandsshare.
  • Service Bus-: u kunt Service Bus gebruiken voor berichten tussen een gebruikersinterface en back-endservices. Dit systeem kan toepassingen en services loskoppelen en de betrouwbaarheid en het gebruik verhogen.
  • Azure Databricks: Azure Databricks is een cloudhulpprogramma voor data engineering dat wordt gebruikt voor het verwerken en transformeren van grote hoeveelheden gegevens. Vervolgens kunt u die gegevens verkennen via machine learning-modellen.
  • Azure Spring Apps: Met Azure Spring Apps kunt u Spring-microservices eenvoudig implementeren, beheren en uitvoeren in Azure. Het ondersteunt zowel Java als .NET Core.
  • AKS-: AKS vereenvoudigt het implementeren van een beheerd Kubernetes-cluster in Azure door de operationele overhead naar Azure te offloaden.
  • Batch-: Batch is ontworpen om batch-computing voor algemeen gebruik in de cloud uit te voeren op veel VM's die kunnen worden geschaald op basis van de workload die wordt uitgevoerd. Het is een perfecte oplossing voor ETL- of AI-gebruiksvoorbeelden waarbij meerdere taken parallel worden uitgevoerd, onafhankelijk van elkaar.
  • Functions: Gebruik Functions om kleine stukjes code uit te voeren zonder dat u zich zorgen hoeft te maken over de toepassingsinfrastructuur. Met Functions biedt de cloudinfrastructuur alle up-to-datumservers die u nodig hebt om uw toepassing op schaal te houden.
  • Azure App Service-: Met WebJobs, een functie van App Service, kunt u herbruikbare achtergrondbedrijfslogica codeeren als webtaken.
  • Azure Cache voor Redis: toepassingen die een groot aantal back-endgegevens gebruiken, kunnen worden ontwikkeld om te schalen en een zeer geoptimaliseerde prestaties te leveren door integratie met een in-memory gegevensarchief zoals Redis. Azure Cache voor Redis biedt zowel redis open source (OSS Redis) als een commercieel product van Redis Labs, Redis Enterprise, als een beheerde service.

Opslag

Azure Storage biedt meerdere lagen dynamische, statische en archiefgegevens. Effectief gebruik van deze opslaglagen kan u een prijs-naar-prestatievoordeel bieden.

  • Blob Storage: schaalbare en veilige objectopslag voor cloudworkloads, archieven, data lakes, high-performance computing en machine learning.
  • Azure Files: eenvoudige, veilige en serverloze cloudbestandsshares op ondernemingsniveau. Azure Files kan met name handig zijn voor opnieuw ontworpen mainframeoplossingen. Het biedt een effectieve invoegtoepassing voor de beheerde SQL-opslag.
  • Table Storage-: een NoSQL-sleutelwaardearchief voor snelle ontwikkeling met behulp van grote semi-gestructureerde gegevenssets.
  • Azure Queue Storage: eenvoudige, rendabele, duurzame berichtenwachtrijen voor grote workloads.
  • Azure SQL-: de volledig beheerde familie van services van Azure voor SQL Server. U kunt de relationele gegevens efficiënt migreren en gebruiken met andere Azure-services, zoals Azure SQL Managed Instance, SQL Server op Azure Virtual Machines en Azure Database for MariaDB.
  • Azure Cosmos DB: een no-SQL-aanbieding die u kunt gebruiken om niet-tabellaire gegevens te migreren vanuit de mainframes.

Monitoring

  • Azure Monitor: Azure Monitor biedt een uitgebreide oplossing voor het verzamelen, analyseren en uitvoeren van telemetrie vanuit cloud- en on-premises omgevingen. Het bevat de functies Application Insights, Azure Monitor-logboeken en Azure Log Analytics.

Beheer

  • Azure DevOps: Mainframe-toepassingen opnieuw ontwerpen in Azure tijdens elke fase van softwareontwikkeling en teamsamenwerking. DevOps biedt de volgende services:

    • Azure Boards: Agile planning, het bijhouden van werkitems, visualisaties en rapportagehulpprogramma's.
    • Azure Pipelines: een taal, platform en cloudneutraal CI/CD-platform met ondersteuning voor containers of Kubernetes.
    • Azure-opslagplaatsen: biedt privé-git-opslagplaatsen in de cloud.
    • Azure Artifacts: biedt geïntegreerd pakketbeheer met ondersteuning voor Maven-, npm-, Python- en NuGet-pakketfeeds van openbare of privébronnen.
    • Azure Test Plans: biedt een geïntegreerde, geplande en verkennende testoplossing.

Scenariodetails

Mainframes worden voornamelijk gebruikt voor het verwerken van grote hoeveelheden gegevens. Batchverwerking is een manier om een groot aantal transacties te verwerken die zijn gegroepeerd en vervolgens bulksgewijs bijwerken op de database. Zodra deze zijn geactiveerd, vereisen ze minimaal tot geen interactie van de gebruiker. Mainframesystemen maken het bijvoorbeeld mogelijk dat banken en andere financiële instellingen eind-of-kwartaalverwerkingen uitvoeren en rapporten produceren, zoals kwartaalvoorraad of pensioenoverzichten.

Mogelijke gebruiksvoorbeelden

Deze oplossing is ideaal voor de financiële, verzekerings-, gezondheidszorg- en retailindustrie. Gebruik deze architectuur om mainframe-toepassingen opnieuw te ontwerpen in Azure. De architectuur werkt het beste voor:

  • Resource-intensieve mainframe-batchtoepassingen.
  • Batchtoepassingen die gedurende een bepaalde periode hoge rekenkracht nodig hebben, zoals einde van de maand, het kwartaal of het jaar.
  • Mainframe-batchprocessen die herhaaldelijk en niet resource-intensief zijn, maar mogelijk gebruik van externe systemen nodig hebben.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Frameworkvoor meer informatie.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie Controlelijst ontwerpbeoordeling voor betrouwbaarheidvoor meer informatie.

  • Naast Log Analytics kunt u Azure Monitor en Application Insights gebruiken om de status van een Azure-resource te bewaken. Stel waarschuwingen in om uw resourcestatus proactief te beheren.
  • Zie Betrouwbare Azure-toepassingen ontwerpenvoor meer informatie over tolerantie in Azure.

Veiligheid

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie voor meer informatie controlelijst ontwerpbeoordeling voor Security.

  • Deze referentiearchitectuur maakt gebruik van ExpressRoute voor een privé- en efficiënte verbinding met Azure vanuit de on-premises omgeving. U kunt echter ook een site-naar-site-VPN-maken.
  • U kunt Azure-resources verifiëren met behulp van Microsoft Entra-id. U kunt machtigingen beheren met op rollen gebaseerd toegangsbeheer (RBAC).
  • Databaseservices in Azure ondersteunen verschillende beveiligingsopties, zoals Data Encryption at Rest.
  • Zie Azure-beveiligingsdocumentatievoor meer informatie over het ontwerpen van beveiligde oplossingen.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie controlelijst ontwerpbeoordeling voor kostenoptimalisatievoor meer informatie.

Gebruik de Azure-prijscalculator om de kosten voor Azure-resources te schatten.

Zie Batch-toepassing voor Azure-mainframes voor een voorbeeld van een kostenraming van services.

Operationele uitmuntendheid

Operational Excellence behandelt de operationele processen die een toepassing implementeren en deze in productie houden. Zie controlelijst ontwerpbeoordeling voor Operational Excellencevoor meer informatie.

  • De batcharchitectuur in dit artikel maakt gebruik van computing met meerdere knooppunten of PaaS-services, die hoge beschikbaarheid bieden.
  • Azure Database Services bieden ondersteuning voor zoneredundantie en u kunt deze ontwerpen om een failover uit te voeren naar een secundair knooppunt als er sprake is van een storing of tijdens een onderhoudsvenster.

Prestatie-efficiëntie

Prestatie-efficiëntie is de mogelijkheid van uw workload om te schalen om te voldoen aan de eisen die gebruikers op een efficiënte manier stellen. Zie controlelijst ontwerpbeoordeling voor prestatie-efficiëntievoor meer informatie.

  • De volgende Azure-services in deze architectuur hebben mogelijkheden voor automatisch schalen:

    • Azure Databricks
    • AKS
    • Spring-apps
    • Batch
    • Azure Functions
    • Logic Apps
  • Zie de handleiding voor automatisch schalenvoor meer informatie over automatisch schalen in Azure.

Medewerkers

Dit artikel wordt onderhouden door Microsoft. Het is oorspronkelijk geschreven door de volgende inzenders.

Hoofdauteur:

Meld u aan bij LinkedIn als u niet-openbare LinkedIn-profielen wilt zien.

Volgende stappen