Migrera IBM z/OS OLTP-arbetsbelastningar till Azure
OLTP-system (Online Transaction Processing) är ansiktet utåt för ditt företag eftersom de interagerar direkt med kunderna. Genom att migrera till en dynamiskt anpassningsbar infrastruktur kan ditt företag snabbt skapa och lansera produkter så att kunderna kan använda dina produkter tidigare.
Arkitektur
Följande diagram visar en arkitektur för ett OLTP-system som körs på en z/OS-stordator före migreringen till Azure:
Arbetsflöde
Följande arbetsflöde motsvarar föregående diagram:
- Användare ansluter till stordatorn via TCP (Transmission Control Protocol) eller IP (Internet Protocol) med hjälp av standardprotokoll för stordatorer som TN3270 och HTTPS. 
- Transaktionshanterarna interagerar med användarna och anropar programmet för att uppfylla användarförfrågningar. 
- I frontend av applikationslagret, interagerar användare med skärmarna Customer Information Control System (CICS) eller Information Management System (IMS) eller med webbsidor. 
- Transaktionshanterarna använder affärslogiken som är skriven i Common Business-oriented Language (COBOL) eller Programming Language One (PL/I) för att implementera transaktionerna. 
- Programkod använder lagringsfunktionerna i datalagret, till exempel DB2, IMS DB eller VSAM. 
- Förutom transaktionsbearbetning tillhandahåller andra tjänster autentisering, säkerhet, hantering, övervakning och rapportering. Dessa tjänster interagerar med alla andra tjänster i systemet. 
Följande diagram visar hur du migrerar den här arkitekturen till Azure.
Ladda ned en Visio-fil med den här arkitekturen.
- Stordatoranvändare är bekanta med 3270-terminaler och lokal anslutning. I det migrerade systemet interagerar de med Azure-program via det offentliga Internet eller via en privat anslutning som implementeras via Azure ExpressRoute. Microsoft Entra ID tillhandahåller autentisering. 
- Indatabegäranden går till en global lastbalanseringstjänst, till exempel Azure Front Door eller Azure Traffic Manager. Lastbalanseraren kan betjäna en geografiskt spridd användarbas. Den dirigerar begäranden enligt regler som definierats för de arbetsbelastningar som stöds. Dessa lastbalanserare kan samordnas med Azure Application Gateway eller Azure Load Balancer för att belastningsutjämna programlagret. Tjänsten Azure Content Delivery Network cachelagrar statiskt innehåll på gränsservrar för snabba svar. En brandvägg för webbaserade program (WAF) hjälper till att skydda tjänsten. 
- Klientdelen av programlagret använder Azure-tjänster som Служба приложений Azure för att implementera programskärmar och för att interagera med användare. Skärmarna är migrerade versioner av stordatorskärmarna. 
- COBOL- och PL/I-kod i serverdelen av programlagret implementerar affärslogiken. Koden kan använda tjänster och funktioner som Azure Functions, WebJobs och Azure Spring Apps mikrotjänster. Program kan köras i en Azure Kubernetes Service-container (AKS). 
- Ett minnesinternt datalager påskyndar OLTP-program med högt dataflöde. Exempel är In-Memory OLTP, som är en funktion i Azure SQL Database och Azure SQL Managed Instance, och Azure Cache for Redis. 
- Datalagret kan innehålla: - Filer, tabeller och blobar som implementeras med hjälp av Azure Storage.
- Relationsdatabaser från Azure SQL-familjen.
- Azure-implementeringar av PostgreSQL- och MySQL-databaser med öppen källkod.
- Azure Cosmos DB, som är en NoSQL-databas.
 - Dessa lager innehåller data som migrerats från stordatorn för programlagret som ska användas. 
- Azure-inbyggda tjänster som Application Insights och Azure Monitor övervakar proaktivt systemets hälsotillstånd. Du kan integrera Azure Monitor-loggar med hjälp av en Azure-instrumentpanel. 
Komponenter
Den här arkitekturen består av flera Azure-molntjänster. Den är indelad i fyra kategorier av resurser: nätverk och identitet, program, lagring och övervakning. I följande avsnitt beskrivs tjänsterna för varje resurs och deras roller.
Nätverk och identitet
När du utformar programarkitektur är det viktigt att prioritera nätverks- och identitetskomponenter för att säkerställa säkerhet, prestanda och hanterbarhet under interaktioner via det offentliga Internet eller privata anslutningar. Följande komponenter i arkitekturen är viktiga för att hantera det här kravet på ett effektivt sätt.
- En Azure WAF är en brandvägg för webbprogram som skyddar program mot skadliga attacker och vanliga webbsårbarheter, till exempel SQL-inmatning och skript för flera webbplatser. I den här arkitekturen skyddar den de migrerade stordatorprogrammen genom att filtrera och inspektera inkommande trafik till webbriktade tjänster. 
- Application Gateway är en layer 7-programleveranskontrollant. I den här arkitekturen hanterar den HTTP-trafikroutning och ger belastningsutjämning för de migrerade stordatorwebbprogrammen. 
- Azure Front Door är en global HTTP-lastbalanserare med funktioner för snabb redundans. I den här arkitekturen påskyndar den innehållsleveransen och säkerställer hög tillgänglighet för geografiskt distribuerade stordatoranvändare. - Content Delivery Network är en distribuerad cachelagringstjänst som optimerar leverans av statiskt innehåll genom att lagra cachelagrade kopior på gränsservrar för snabbare svarstider för användare. Den använder nätverksoptimeringar för att förbättra svaret på dynamiskt innehåll. Content Delivery Network är särskilt användbart när användarbasen är global. I den här arkitekturen förbättrar den prestandan för stordatorskärmselement och statiska tillgångar över globala gränsplatser.
 
- ExpressRoute är en privat anslutningstjänst som upprättar en dedikerad anslutning mellan lokal infrastruktur och Azure. I den här arkitekturen ger den säker nätverksåtkomst för användare som är bekanta med terminalanslutningar för stordatorer som behöver privata anslutningar. 
Load Balancer är en tjänst som distribuerar inkommande nätverkstrafik över flera backend-resurser och hanterar layer 4 TCP- och UDP-trafik. I den här arkitekturen balanserar den trafik för containerbaserade program och mikrotjänster som ersätter komponenter för bearbetning av stordatortransaktioner.
- Traffic Manager är en DNS-baserad trafikroutningstjänst som hjälper till att distribuera användarbegäranden över flera slutpunkter. I den här arkitekturen distribuerar den trafik mellan regionala slutpunkter för att optimera tillgängligheten för stordatoranvändare på olika geografiska platser.
Ansökan
Azure tillhandahåller hanterade tjänster som stöder säkrare, skalbarare och effektivare distribution av program. De tjänster på programnivå som används i föregående arkitektur kan hjälpa dig att optimera programarkitekturen.
- AKS är en hanterad Kubernetes-tjänst för containerbaserade program. AKS förenklar distributionen av ett hanterat AKS-kluster i Azure genom att avlasta driftkostnaderna till Azure. I den här arkitekturen är den värd för mikrotjänster som ersätter monolitiska stordatortransaktionsbearbetningskomponenter som CICS och IMS. 
- App Service är en fullständigt hanterad tjänst för att skapa, distribuera och skala webbappar. Du kan skapa appar med hjälp av .NET, .NET Core, Node.js, Java, Python eller PHP. Apparna kan köras i containrar eller på Windows eller Linux. I en stordatormigrering kan klientdelsskärmarna eller webbgränssnittet kodas som HTTP-baserade REST-API:er. De kan åtskiljas enligt stordatorprogrammet och kan vara tillståndslösa för att orkestrera ett mikrotjänstbaserat system. I den här arkitekturen levererar den REST-API:er och webbgränssnitt som ersätter 3270 terminalskärmar och stordatorns användargränssnitt. - WebJobs är en funktion i App Service som kör ett program eller skript i samma instans som en webbapp, API-app eller mobilapp. Ett webbjobb kan vara ett bra val för att implementera delbar och återanvändbar programlogik. I den här arkitekturen körs batchbearbetningsuppgifter och bakgrundsaktiviteter som tidigare hanterades av stordatorns jobbschemaläggare.
 
- Azure API Management är en fullständigt hanterad plattform som en tjänst (PaaS) som stöder publicering, routning, skydd, loggning och analys av API:er. Du kan styra hur data presenteras och utökas och vilka appar som kan komma åt dem. Du kan också begränsa åtkomsten till dina appar eller tillåta tredje part. I den här arkitekturen hanterar den åtkomst till moderniserade API:er som exponerar stordatorns affärslogik och styr hur äldre data används av nya program. 
- Azure Cache for Redis är en fullständigt hanterad minnesintern cachelagringstjänst för att dela data och tillstånd mellan beräkningsresurser. Den innehåller Redis med öppen källkod och Redis Enterprise, en kommersiell produkt från Redis Labs, som en hanterad tjänst. Du kan förbättra prestandan för OLTP-program med högt dataflöde genom att utforma dem för skalning och användning av ett minnesinternt datalager, till exempel Azure Cache for Redis. I den här arkitekturen påskyndas dataåtkomsten för OLTP-arbetsbelastningar med högt dataflöde som ersätter stordatorns transaktionsbearbetningssystem. 
- Azure Functions är en serverlös beräkningstjänst. Det ger en miljö för att köra små delar av kod, som kallas funktioner, utan att behöva upprätta en programinfrastruktur. Du kan använda den för att bearbeta bulkdata, integrera system, arbeta med Internet of Things och bygga enkla API:er och mikrotjänster. Använd mikrotjänster för att skapa servrar som ansluter till Azure-tjänster och alltid är uppdaterade. I den här arkitekturen hanterar den händelsedriven bearbetning och enkla affärslogikkomponenter som migrerats från stordatorns transaktionshanterare. 
- Azure Service Bus är en tillförlitlig molnmeddelandetjänst för enkel hybridintegrering. Service Bus- och Storage-köer kan ansluta klientdelen till affärslogiken i det migrerade systemet. Azure Service Bus möjliggör tillförlitliga meddelanden mellan distribuerade system. I den här arkitekturen underlättas asynkron kommunikation mellan migrerade stordatorkomponenter som tidigare använde meddelandesystem för stordatorer. 
Lagring och databas
Den här arkitekturen hanterar skalbar och säker molnlagring samt hanterade databaser för migrering av stordatordata och stöd för moderna programkrav.
- Azure Cosmos DB är en fullständigt hanterad NoSQL-databastjänst som du kan använda Azure Cosmos DB för att migrera stordator, icke-tabellbaserade data till Azure. I den här arkitekturen lagrar den icke-relationella data som migrerats från stordatorsystem som VSAM-filer och tillhandahåller global distribution för internationella användarbaser. 
- Azure Database for MySQL är en fullständigt hanterad MySQL-databastjänst. I den här arkitekturen har den stöd för program som kräver databaskompatibilitet med öppen källkod under stordatormoderniseringsprocessen. 
- Azure Database for PostgreSQL är en fullständigt hanterad, intelligent och skalbar PostgreSQL som har inbyggd anslutning till Azure-tjänster. I den här arkitekturen är den värd för relationsdata som migrerats från stordatordatabaser med avancerade indexerings- och analysfunktioner. 
- Azure SQL är en familj av molnbaserade SQL-databastjänster. I den här arkitekturen är den värd för relationsdata som migrerats från stordatordatabaser som DB2 och IMS DB: - Azure SQL Edge är en specialiserad version av SQL Server-databasmotorn som är optimerad för IoT- och edge-distributioner. I den här arkitekturen bearbetar den data nära gränsenheter i scenarier där stordatorprogram har distribuerats till gränsplatser. 
- SQL Database är en fullständigt hanterad relationsdatabastjänst. I den här arkitekturen har den stöd för moderniserade arbetsbelastningar med elastisk skalning för transaktionsbelastningar för variabel stordator. 
- SQL Managed Instance är ett fullständigt hanterat, molnbaserat distributionsalternativ som ger nära 100% SQL Server-kompatibilitet. I den här arkitekturen är den värd för migrerade stordatordatabaser med minimala kodändringar och inbyggd hög tillgänglighet. 
- SQL Server på Azure Virtual Machines är ett IaaS-erbjudande (infrastruktur som en tjänst) som tillhandahåller fullständiga SQL Server-funktioner. I den här arkitekturen har den stöd för äldre arbetsbelastningar som kräver specifika databasmotorfunktioner under migreringen. 
- In-Memory OLTP är en högpresterande funktion som påskyndar transaktionsbearbetningen i SQL Database och SQL Managed Instance. I den här arkitekturen tillhandahåller den funktioner för högpresterande transaktionsbearbetning som OLTP-arbetsbelastningar för stordatorer kräver. 
 
- Lagring är en uppsättning mycket skalbara och säkrare molntjänster för data, appar och arbetsbelastningar som tillhandahåller grundläggande molnlagringstjänster. I den här arkitekturen har den stöd för Azure Files, Azure Table Storage och Azure Queue Storage för olika scenarier för stordatordatamigrering. 
Övervakning
Följande övervakningsverktyg ger omfattande dataanalys och värdefulla insikter om programprestanda.
- Application Insights är en funktion i Azure Monitor som tillhandahåller telemetri på kodnivå för program. Den övervakar programmet, identifierar avvikelser som mediokra prestanda och fel och skickar personliga data till Azure Portal. Du kan också använda Application Insights för loggning, distribuerad spårning och anpassade programmått. I den här arkitekturen spårar den programprestanda, identifierar avvikelser och stöder distribuerad spårning och anpassade mått för att säkerställa tillförlitlighet och svarstider. 
- Azure Monitor är en omfattande plattform för att samla in, analysera och agera på telemetri från Azure och lokala miljöer. I den här arkitekturen fungerar den som central hubb för övervakning av infrastruktur, program och tjänster. - Azure Monitor-aviseringar är en funktion i Azure Monitor som meddelar användare när mått eller loggar överskrider definierade tröskelvärden. I den här arkitekturen utlöser de automatiserade svar eller eskalerar problem till driftsteam för snabba åtgärder. 
- Log Analytics är ett frågeverktyg i Azure Monitor som använder ett kraftfullt språk för att analysera loggdata. I den här arkitekturen möjliggör den djupdiagnostik, stöder anpassade instrumentpaneler och integreras med aviseringar och arbetsböcker för driftinsikter. 
 
Scenarioinformation
På grund av föränderliga affärsbehov och data måste program skalas och producera resultat utan att skapa infrastrukturproblem. Den här exempelarbetsbelastningen visar hur du kan migrera ett z/OS-stordator-OLTP-program till ett säkrare, skalbarare system med hög tillgänglighet i molnet med hjälp av PaaS-tjänster (plattform som en tjänst) i Azure. Den här migreringen hjälper företag inom ekonomi, hälsa, försäkring och detaljhandel att minimera tidslinjerna för programleverans. Det hjälper också till att minska kostnaderna för att köra applikationerna.
Potentiella användningsfall
Den här arkitekturen är idealisk för OLTP-arbetsbelastningar som har följande egenskaper:
- De betjänar en internationell användarbas. 
- Deras användning varierar mycket över tid, så de drar nytta av flexibel skalning och användningsbaserad prissättning. 
Överväganden
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som du kan använda för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet hjälper till att säkerställa att ditt program kan uppfylla de åtaganden som du gör gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.
- Du kan distribuera den här OLTP-arkitekturen i flera regioner. Det kan också ha ett geo-replikerat datalager. 
- Azure-databastjänsterna stöder zonredundans och kan redundansväxla till en sekundär nod om ett avbrott inträffar eller för att tillåta underhållsaktiviteter. 
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.
- ExpressRoute skapar en privat anslutning till Azure från en lokal miljö. Du kan också använda plats-till-plats-VPN. 
- Microsoft Entra ID kan autentisera resurser och kontrollera åtkomsten med hjälp av rollbaserad åtkomstkontroll i Azure. 
- Databastjänster i Azure har stöd för olika säkerhetsalternativ som datakryptering i vila. 
- Allmän vägledning om hur du utformar säkrare lösningar finns i Snabblänkar för säkerhet. 
Kostnadsoptimering
Kostnadsoptimering fokuserar på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
Använd priskalkylatorn för Azure för att beräkna kostnaderna för implementeringen.
Operativ skicklighet
Operational Excellence omfattar de driftsprocesser som distribuerar ett program och håller det igång i produktion. Mer information finns i Checklista för designgranskning för Operational Excellence.
I det här scenariot används Azure Monitor och Application Insights för att övervaka hälsotillståndet för Azure-resurserna. Du kan ställa in aviseringar för proaktiv hantering.
Prestandaeffektivitet
Prestandaeffektivitet syftar på arbetsbelastningens förmåga att skala för att effektivt uppfylla användarnas krav. Mer information finns i Checklista för designgranskning för prestandaeffektivitet.
- Den här arkitekturen använder Azure PaaS-tjänster som App Service, som har funktioner för automatisk skalning. 
- För mer information, se Autoskalning. 
Bidragsgivare
Microsoft ansvarar för den här artikeln. Följande deltagare skrev den här artikeln.
Huvudsakliga författare:
- Ashish Khandelwal | Principal Engineering Architecture Manager
- Nithish Aruldoss | Teknisk arkitekt
Om du vill se linkedin-profiler som inte är offentliga loggar du in på LinkedIn.
Nästa steg
- Kontakta datasqlninja@microsoft.comom du vill ha mer information.
- Migreringsguider för Azure-databaser
Relaterade resurser
Se följande relaterade arkitekturer och relaterad teknisk information.
Relaterade arkitekturer
- batchtransaktionsbearbetning med stora volymer
- Migrering av IBM z/OS-stordatorer med hjälp av Avanade AMT
- Micro Focus Enterprise Server på virtuella Azure-datorer
- Omstrukturera IBM z/OS-kopplingsfunktionen för stordatorer till Azure
- Replikera och synkronisera stordatordata i Azure
- Migrera IBM-stordatorprogram till Azure med hjälp av TmaxSoft OpenFrame