IBM z/OS online transaction processing on Azure

Front Door
Traffic Manager
Kubernetes Service
Spring Cloud
Cache for Redis

OLTP-system (Online Transaction Processing) interagerar direkt med användarna och är företagets ansikte. Med en dynamiskt anpassningsbar infrastruktur kan företag snabbt realisera och lansera sina produkter för att hjälpa sina användare.

Med ständigt växande affärsbehov och data måste program producera och skala utan att skapa infrastrukturproblem. Den här exempelarbetsbelastningen visar hur du kan migrera ett z/OS-stordator-OLTP-program till ett säkert, skalbart och mycket tillgängligt system i molnet med hjälp av PaaS-tjänster (plattform som en tjänst). En sådan migrering hjälper företag inom ekonomi, sjukvård, försäkringsverksamhet och detaljhandel att minimera tidslinjerna för programleverans och hjälper till att minska kostnaderna för att köra programmen.

Följande diagram visar arkitekturen för den arbetsbelastning som ska migreras, ett OLTP-system som körs på en z/OS-stordator:

OLTP-arkitektur på z/OS

Ladda ned en Visio-fil med den här arkitekturen.

  1. Användare ansluter till stordatorn via TCP/IP med standardprotokoll för stordatorer som TN3270 och HTTPS.
  2. Transaktionshanterare interagerar med användarna och anropar programmet för att uppfylla användarbegäranden.
  3. I programlagrets framdel interagerar användare med CICS/IMS-skärmarna eller med webbsidor.
  4. Transaktionshanterare använder affärslogiken som skrivits i COBOL eller PL/1 för att implementera transaktionerna.
  5. Programkoden använder lagringsfunktioner i datalagret, vanligtvis DB2, IMS DB eller VSAM.
  6. Samtidigt med transaktionsbearbetning tillhandahåller andra tjänster autentisering, säkerhet, hantering, övervakning och rapportering. Dessa tjänster interagerar med alla andra tjänster i systemet.

I Arkitekturser vi hur du migrerar den här arkitekturen till Azure.

Potentiella användningsfall

Den här arkitekturen är perfekt för OLTP-arbetsbelastningar som har följande egenskaper:

  • De fungerar som en internationell användarbas.
  • Användningen varierar mycket över tid, så de drar nytta av flexibel skalning och användningsbaserade priser.

Arkitektur

Azure-arkitektur för att migrera z/OS OLTP-arbetsbelastning

Ladda ned en Visio-fil med den här arkitekturen.

  1. Stordatoranvändare är bekanta med 3270-terminaler och lokala anslutningar. I det migrerade systemet interagerar de med Azure-program via offentligt Internet eller via en privat anslutning som implementeras med Azure ExpressRoute. Azure Active Directory (Azure AD) tillhandahåller autentisering.

  2. Indatabegäranden går till en global lastbalanseringstjänst, till exempel Azure Front Door eller Azure Traffic Manager. Lastbalanseraren kan betjäna en geografiskt utspridd användarbas. Den dirigerar begäranden enligt de regler som definierats för de arbetsbelastningar som stöds. Dessa lastbalanserare kan koordineras med Azure Application Gateway eller Azure Load Balancer för belastningsutjämning i programlagret. Azure Content Delivery Network-tjänsten cachelagrar statiskt innehåll på gränsservrar för snabba svar som skyddas med tjänsten Web Application Firewall (WAF).

  3. Frontend-delen av programlagret använder Azure-tjänster som Azure App Service för att implementera programskärmar och för att interagera med användare. Skärmarna är migrerade versioner av stordatorskärmarna.

  4. COBOL- och PL/1-kod i programlagrets backend-del implementerar affärslogiken. Koden kan använda tjänster som Azure Functions, WebJobs och Azure Spring Cloud mikrotjänster. Program kan köras i en Azure Kubernetes Service (AKS)-container.

  5. Ett minnes in memory-datalager påskyndar OLTP-program med högt dataflöde. Ett sådant arkiv är In-Memory OLTP, en funktion i Azure SQL Database och Azure SQL Managed Instance. En annan är Azure Cache for Redis.

  6. Datalagret kan till exempel innehålla:

    1. Filer, tabeller och blobar implementeras med hjälp Azure Storage tjänster.
    2. Relationsdatabaser från Azure SQL familjen.
    3. Azure-implementeringar av databaserna PostgreSQL och MySQL med öppen källkod.
    4. Azure Cosmos DB, en NoSQL-databas.

    Dessa lager innehåller data som migrerats från stordatorn för användning av programlagret.

  7. Azure-interna tjänster som Application Insights och Azure Monitor övervaka systemets hälsotillstånd proaktivt. Du kan integrera övervakningsloggarna med hjälp av en Azure-instrumentpanel.

Komponenter

Nätverk och identitet

  • Azure ExpressRoute privata anslutningar mellan lokal infrastruktur och Azure-datacenter.
  • Azure Active Directory (Azure AD) är en identitets- och åtkomsthanteringstjänst som kan synkroniseras med en lokal katalog.
  • Azure Front Door ger global HTTP-belastningsutjämning med omedelbar redundans. Cachelagringsalternativet kan göra det snabbare att leverera statiskt innehåll.
  • Azure Traffic Manager dirigerar inkommande DNS-begäranden baserat på ditt val av trafikroutningsmetoder.
  • Azure Web Application Firewall skyddar webbappar mot skadliga attacker och vanliga webbsårbarheter, till exempel SQL och skriptning mellan webbplatser.
  • Azure Content Delivery Network (CDN) cachelagrar statiskt innehåll på gränsservrar för snabba svar och använder nätverksoptimeringar för att förbättra svaret för dynamiskt innehåll. CDN är särskilt användbart när användarbasen är global.
  • Azure Application Gateway är en tjänst för programleveranskontrollant. Den fungerar på nivå 7, programlagret, och har olika funktioner för belastningsutjämning.
  • Azure Load Balancer är en lastbalanserare för Layer 4 (TCP, UDP). I den här arkitekturen ger den alternativ för belastningsutjämning för Spring Cloud och AKS.

Program

  • Azure API Management stöder publicering, routning, skydd, loggning och analys av API:er. Du kan styra hur data visas och utökas och vilka appar som kan komma åt dem. Du kan begränsa åtkomsten till dina appar eller tillåta tredje part.
  • Azure App Service är en helt 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 frontend-skärmarna eller webbgränssnittet kodas som HTTP-baserade REST-API:er. De kan separeras enligt stordatorprogrammet och kan vara tillståndslösa för att orkestrera ett mikrotjänstbaserat system.
  • WebJobs är en funktion i Azure App Service som kör ett program eller skript i samma instans som en webbapp, en API-app eller en mobilapp. Ett webbjobb kan vara ett bra alternativ för att implementera delbar och återanvändbar programlogik. Teknisk information finns i Köra bakgrundsaktiviteter med WebJobs i Azure App Service.
  • Azure Kubernetes Service (AKS) är en fullständigt hanterad Kubernetes-tjänst för distribution och hantering av program i containrar. AKS förenklar distributionen av ett hanterat AKS-kluster i Azure genom att avlasta driftkostnaderna till Azure.
  • Azure Spring Cloud är en fullständigt hanterad Spring Cloud som skapats och drivs gemensamt av Microsoft och VMware. Med den kan du enkelt distribuera, hantera och köra Spring-mikrotjänster och skriva Spring-program med Java eller .NET.
  • Azure Service Bus är en tillförlitlig meddelandetjänst i molnet för enkel hybridintegrering. Service Bus och Storage köer kan ansluta frontend till affärslogiken i det migrerade systemet.
  • Azure Functions 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 IoT och skapa enkla API:er och mikrotjänster. Med mikrotjänster kan du skapa servrar som ansluter till Azure-tjänster och som alltid är uppdaterade.
  • Azure Cache for Redis är en fullständigt hanterad minnescachelagringstjänst för att dela data och tillstånd mellan beräkningsresurser. Den innehåller både Redis (OSS Redis) med öppen källkod och en kommersiell produkt från Redis Labs (Redis Enterprise) 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 för att använda ett minnes in-memory-datalager, till exempel Azure Cache for Redis.

Storage

Övervakning

  • Azure Monitor samlar in, analyserar och agerar på telemetri från dina Azure-miljöer och lokala miljöer.
  • Log Analytics är ett verktyg i den Azure Portal som används för att köra frågor mot Monitor-loggar med hjälp av ett kraftfullt frågespråk. Du kan arbeta med resultatet av dina frågor interaktivt eller använda dem med andra Azure Monitor funktioner som loggafrågeaviseringar eller arbetsböcker. Mer information finns i Översikt över Log Analytics i Azure Monitor.
  • Program Insights är en funktion i Monitor som ger övervakning på kodnivå av programanvändning, tillgänglighet och prestanda. Den övervakar programmet, identifierar programavvikelser som medelmåttiga prestanda och fel och skickar telemetri till Azure Portal. Du kan också använda Application Insights för loggning, distribuerad spårning och anpassade programmått.
  • Azure Monitor aviseringar är en funktion i Monitor. Mer information finns i Skapa, visa och hantera måttaviseringar med hjälp av Azure Monitor

Överväganden

Tillgänglighet

  • Den här OLTP-arkitekturen kan distribueras i flera regioner och kan ha ett geo-replikerat datalager.
  • Azure-databastjänsterna stöder zonredundans och kan redundansredundans till en sekundär nod vid ett avbrott eller för att tillåta underhållsaktiviteter.

Skalbarhet

  • Den här arkitekturen använder Azure PaaS-tjänster App Service, som har funktioner för automatisk skalning.
  • Vägledning om autoskalning i Azure finns i Autoskalning.

Säkerhet

  • ExpressRoute skapar en privat anslutning till Azure från en lokal miljö. Du kan också använda plats-till-plats-VPN.
  • Azure AD kan autentisera resurser och kontrollera åtkomst med hjälp av rollbaserad åtkomstkontroll i Azure (RBAC).
  • Databastjänster i Azure stöder olika säkerhetsalternativ som datakryptering i vila.
  • Allmän vägledning om hur du utformar säkra lösningar finns i Översikt över grundpelaren för säkerhet.

Återhämtning

  • Det här scenariot använder Azure Monitor program och Insights för att övervaka hälsotillståndet för Azure-resurserna. Du kan ställa in aviseringar för proaktiv hantering.
  • Vägledning om återhämtning i Azure finns i Utforma tillförlitliga Azure-program.

Prissättning

Nästa steg