Bewerken

Share 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.

Een Visio-bestand van deze architectuur downloaden.

Workflow

  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.

Een Visio-bestand van deze architectuur downloaden.

Workflow

  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 aankomst van een bericht in 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 taakplanner-software die u moet 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 niet-relationele mainframe-databases zoals IMS, Integrated Gegevensbeheer System (IDMS) of VSAM migreren 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 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 om versleuteld verkeer tussen een virtueel Azure-netwerk en een on-premises locatie via het openbare internet te verzenden.
  • 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 schema. 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.
  • Functies: 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-date servers die u nodig hebt om uw toepassing op schaal te houden.
  • Azure-app Service: Met WebJobs, een functie van App Service, kunt u herbruikbare bedrijfslogica op de achtergrond codeeren als webtaken.
  • Azure Cache voor Redis: Toepassingen die gebruikmaken van een groot aantal back-endgegevens 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 de Redis open source (OSS Redis) als een commercieel product van Redis Labs, Redis Enterprise als een beheerde service.

Storage

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-sleutel-waardearchief 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.

Controleren

  • 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, tracering van werkitems, visualisatie en rapportagehulpprogramma.
    • Azure Pipelines: een taal, platform en cloudneutraal CI/CD-platform met ondersteuning voor containers of Kubernetes.
    • Azure-opslagplaatsen: biedt privé-git-opslagplaatsen die in de cloud worden gehost.
    • Azure Artifacts: biedt geïntegreerd pakketbeheer met ondersteuning voor Maven-, npm-, Python- en NuGet-pakketfeeds van openbare of privébronnen.
    • Azure-testplannen: 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.

Potentiële gebruikscases

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

Beschikbaarheid

  • 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.

Schaalbaarheid

  • 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 schalen voor meer informatie over automatisch schalen in Azure.

Beveiliging

  • 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 ondersteuning voor Azure verschillende beveiligingsopties, zoals Data Encryption at Rest.
  • Zie de Documentatie voor Azure-beveiliging voor meer informatie over het ontwerpen van beveiligde oplossingen.

Tolerantie

  • 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 ontwerpen voor meer informatie over tolerantie in Azure.

Kostenoptimalisatie

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

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

Medewerkers

Dit artikel wordt onderhouden door Microsoft. De tekst is oorspronkelijk geschreven door de volgende Inzenders.

Hoofdauteur:

Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.

Volgende stappen

  • Neem contact op met datasqlninja@microsoft.com voor meer informatie.
  • Zie de Azure Database Migration Guides (Handleidingen voor migratie van Azure-databases).