Migreringsstrategier för stordatorprogram

När de flesta team migrerar program från stordatormiljöer till Azure följer de vanligtvis en pragmatisk metod: återanvänd när det är möjligt. Sedan startar de en stegvis distribution där program skrivs om eller ersätts.

Programmigrering omfattar vanligtvis en eller flera av följande strategier:

  • Rehost: Flytta befintlig kod, program och program från stordatorn. Kompilera om koden så att den körs i en stordatoremulator som finns i en molninstans. Den här metoden börjar vanligtvis med att flytta program till en molnbaserad emulator och sedan migrera databasen till en molnbaserad databas. Viss teknik och refaktorisering krävs med den här strategin, tillsammans med data- och filkonverteringar.

    Du kan också byta värd med hjälp av en traditionell värdleverantör. En av de största fördelarna med molnet är att lägga ut infrastrukturhantering på entreprenad. Hitta en datacenterprovider som är värd för dina stordatorarbetsbelastningar åt dig. Den här modellen kan köpa lite tid, minska leverantörslåset och ge tillfälliga kostnadsbesparingar.

  • Dra tillbaka: Dra tillbaka program som inte längre behövs före migreringen.

  • Återskapa: Vissa organisationer väljer att helt skriva om program med hjälp av moderna tekniker. Med tanke på den extra kostnaden och komplexiteten i den här metoden är det inte lika vanligt som en lift-and-shift-strategi. Ofta efter den här typen av migrering är det klokt att börja ersätta moduler och kod med hjälp av kodtransformeringsmotorer.

  • Ersätt: Den här metoden ersätter stordatorfunktioner med motsvarande funktioner i molnet. Programvara som en tjänst (SaaS) är ett alternativ. Med Saas använder du en lösning som skapats specifikt för ett företag, till exempel ekonomi, personal, tillverkning eller företagsresursplanering. Dessutom är många branschspecifika program nu tillgängliga för att lösa problem som anpassade stordatorlösningar som användes för att lösa tidigare.

Börja med att planera de arbetsbelastningar som du först vill migrera och bestäm sedan kraven för att flytta associerade program, äldre kodbaser och databaser.

Emulering av stordator i Azure

Azure-tjänster kan emulera traditionella stordatormiljöer. Du kan sedan återanvända befintlig stordatorkod och program. Du kan emulera vanliga serverkomponenter som OLTP (Online Transaction Processing), batch- och datainmatningssystem.

OLTP-system

Många stordatorer har OLTP-system som bearbetar tusentals eller miljontals uppdateringar för ett stort antal användare. Dessa program använder ofta transaktionsbearbetning och programvara för skärmformulärhantering, till exempel CICS (Customer Information Control System), Information Management System (IMS) och Terminal Interface Processor (TIP).

När du flyttar OLTP-program till Azure kan emulatorer för TP-övervakare (mainframe transaction processing) köras som infrastruktur som en tjänst (IaaS) med hjälp av virtuella datorer (VM) i Azure. Webbservrarna kan också implementera funktioner för skärmhantering och formulär. Kombinera den här metoden med databas-API:er, till exempel ActiveX Data Objects (ADO), Open Database Anslut ivity (ODBC) och Java Database Anslut ivity (JDBC) för dataåtkomst och transaktioner.

Tidsbegränsade batchuppdateringar

Många stordatorsystem utför månatliga eller årliga uppdateringar av miljontals kontoposter, till exempel de som används inom bank, försäkring och myndigheter. Stordatorer hanterar dessa typer av arbetsbelastningar genom att erbjuda datahanteringssystem med högt dataflöde. Batchjobb för stordatorer är vanligtvis seriellt och är beroende av indata- och utdataåtgärder per sekund (IOPS) som tillhandahålls av huvuddatorns stamnät för prestanda.

Molnbaserade batchmiljöer använder parallella beräknings- och höghastighetsnätverk för prestanda. Om du behöver optimera batchprestanda tillhandahåller Azure olika alternativ för beräkning, lagring och nätverk.

Datainmatningssystem

Stordatorer matar in stora mängder data från detaljhandel, finansiella tjänster, tillverkning och andra lösningar för bearbetning. Med Azure kan du använda enkla kommandoradsverktyg som AzCopy för att kopiera data till och från en lagringsplats. Du kan också använda Azure Data Factory-tjänsten för att mata in data från olika datalager och för att skapa och schemalägga datadrivna arbetsflöden.

Förutom emuleringsmiljöer tillhandahåller Azure paaS-tjänster (plattform som en tjänst) och analystjänster som kan förbättra befintliga stordatormiljöer.

Migrera OLTP-arbetsbelastningar till Azure

Lift-and-shift-metoden är alternativet utan kod för att snabbt migrera befintliga program till Azure. Varje program migreras som det är, vilket ger fördelarna med molnet utan risker eller kostnader för att göra kodändringar. Att använda en emulator för TP-övervakare (mainframe transaction processing) i Azure har stöd för den här metoden.

TP-övervakare är tillgängliga från olika leverantörer och körs på virtuella datorer, ett IaaS-alternativ (infrastruktur som en tjänst) i Azure. Följande diagram visar före och efter för ett onlineprogram som backas upp av IBM DB2, ett relationsdatabashanteringssystem (DBMS), på en IBM z/OS-stordator. DB2 för z/OS använder VSAM-filer (Virtual Storage Access Method) för att lagra data och ISAM (Indexed Sequential Access Method) för flata filer. Den här arkitekturen använder också CICS för transaktionsövervakning.

Diagram of a

I Azure kör emuleringsmiljöer TP-chefen och batchjobben som använder JCL. På datanivån ersätts DB2 av Azure SQL Database, men du kan också använda Microsoft SQL Server, DB2 LUW eller Oracle Database. En emulator stöder IMS, VSAM och SEQ. Stordatorns systemhanteringsverktyg ersätts av Azure-tjänster och programvara från andra leverantörer som körs på virtuella datorer.

Webbservrar implementerar ofta funktionerna för skärmhantering och formulärinmatning, som du kan kombinera med databas-API:er, till exempel ADO, ODBC och JDBC för dataåtkomst och transaktioner. Den exakta uppradningen av Azure IaaS-komponenter som ska användas beror på vilket operativsystem du föredrar. Till exempel:

  • Windows-baserade virtuella datorer: Internet Information Server (IIS) tillsammans med ASP.NET för skärmhantering och affärslogik. Använd ADO.NET för dataåtkomst och transaktioner.

  • Linux-baserade virtuella datorer: Java-baserade programservrar, till exempel Apache Tomcat-processskärmshantering och Java-baserade affärsfunktioner. Använd JDBC för dataåtkomst och transaktioner.

Migrera batcharbetsbelastningar till Azure

Batchåtgärder i Azure skiljer sig från den typiska batchmiljön på stordatorer. Batchjobb för stordatorer är vanligtvis seriellt och är beroende av IOPS som tillhandahålls av huvuddatorns stamnät för prestanda. Molnbaserade batchmiljöer använder parallell databehandling och höghastighetsnätverk för prestanda.

Om du vill optimera batchprestanda med Hjälp av Azure bör du överväga alternativen för beräkning, lagring, nätverk och övervakning på följande sätt.

Compute

Använd:

  • Virtuella datorer med högsta klockhastighet. Stordatorprogram är ofta entrådade och stordator-processorer har en hög klockfrekvens.

  • Virtuella datorer med stor minneskapacitet för att tillåta cachelagring av data och programarbetsområden.

  • Virtuella datorer med VCPU:er med högre densitet för att dra nytta av flertrådad bearbetning om programmet stöder flera trådar.

  • Parallell bearbetning, eftersom Azure enkelt skalar ut för parallell bearbetning, vilket ger mer beräkningskraft för en batchkörning.

Lagring

Använd:

  • Azure Premium SSD eller Azure Ultra Disk Storage för maximalt tillgängligt IOPS.

  • Striping med flera diskar för mer IOPS per lagringsstorlek.

  • Partitionering för lagring för att sprida I/O över flera Azure Storage-enheter.

Nätverk

Övervakning

  • Använd övervakningsverktyg, Azure Monitor, Application Insights och Azure-loggar. De här verktygen hjälper dig att övervaka överpresterande batchkörningar och minska flaskhalsar.

Migrera utvecklingsmiljöer

Molnets distribuerade arkitekturer förlitar sig på en annan uppsättning utvecklingsverktyg som ger fördelen med moderna metoder och programmeringsspråk. För att underlätta den här övergången använder du en utvecklingsmiljö med andra verktyg som är utformade för att emulera IBM z/OS-miljöer. I följande lista visas alternativ från Microsoft och andra leverantörer:

Komponent Azure-alternativ
z/OS Windows, Linux eller Unix
CICS Azure-tjänster som erbjuds av Micro Focus, Oracle, GT Software (Fujitsu), TmaxSoft, Raincode och NTT DATA eller omskrivning med Kubernetes
IMS Azure-tjänster som erbjuds av Micro Focus och Oracle
Assembler Azure-tjänster från Raincode och TmaxSoft; eller COBOL, C eller Java, eller mappa till operativsystemfunktioner
JCL JCL, PowerShell eller andra skriptverktyg
COBOL COBOL, C eller Java
Naturliga Naturlig, COBOL, C eller Java
Fortran och PL/I Fortran, PL/I, COBOL, C eller Java
REXX och PL/I REXX, PowerShell eller andra skriptverktyg

Migrera databaser och data

Programmigrering innebär vanligtvis att du byter värd för datanivån. Du kan migrera SQL Server, öppen källkod och andra relationsdatabaser till fullständigt hanterade lösningar i Azure. Du kan använda Azure SQL Managed Instance, Azure Database for PostgreSQL och Azure Database for MySQL med Azure Database Migration Service.

Du kan till exempel migrera om stordatorns datanivå använder:

  • IBM DB2 eller en IMS-databas använder Du Azure SQL Database, SQL Server, DB2 LUW eller Oracle Database i Azure.

  • VSAM och andra flata filer använder indexerade ISAM-flata filer (Sekventiell åtkomstmetod) för Azure SQL Database, SQL Server, DB2 LUW eller Oracle.

  • Genereringsdatumgrupper (GDG: er) migrerar till filer i Azure som använder en namngivningskonvention och filnamnstillägg som ger liknande funktioner som GDG:er.

IBM-datanivån innehåller flera viktiga komponenter som du också måste migrera. När du till exempel migrerar en databas migrerar du även en samling data som finns i pooler, som var och en innehåller dbextenter, som är z/OS VSAM-datauppsättningar. Migreringen måste innehålla katalogen som identifierar dataplatser i lagringspoolerna. Dessutom måste din migreringsplan ta hänsyn till databasloggen, som innehåller en post med åtgärder som utförs på databasen. En databas kan ha en, två (dubbla eller alternativa) eller fyra (dubbla och alternativa) loggar.

Databasmigrering innehåller även följande komponenter:

  • Databashanterare: Ger åtkomst till data i databasen. Databashanteraren körs i en egen partition i en z/OS-miljö.
  • Programförfrågan: Accepterar begäranden från program innan de skickas till en programserver.
  • Onlineresurskort: Innehåller programbegärandekomponenter för användning i CICS-transaktioner.
  • Batch-resurskort: Implementerar programbegärandekomponenter för z/OS-batchprogram.
  • Interaktiv SQL (ISQL): Körs som ett CICS-program och gränssnitt och låter användare ange SQL-instruktioner eller operatorkommandon.
  • CICS-program: Körs under kontroll av CICS med hjälp av tillgängliga resurser och datakällor i CICS.
  • Batch-program: Kör processlogik utan interaktiv kommunikation med användare för att till exempel skapa massdatauppdateringar eller generera rapporter från en databas.

Optimera skalning och dataflöde för Azure

I allmänhet skalas stordatorer upp medan molnet skalas ut. För att optimera skalning och dataflöde för stordatorbaserade program som körs i Azure är det viktigt att förstå hur stordatorer separerar och isolerar program. En z/OS-stordator använder en funktion som kallas logiska partitioner (LPAR) för att isolera och hantera resurserna för ett specifikt program på en enda instans.

En stordator kan till exempel använda en LPAR för en CICS-region med associerade COBOL-program och en separat LPAR för DB2. Andra LPAR används ofta för utvecklings-, testnings- och mellanlagringsmiljöer.

I Azure är det vanligare att använda separata virtuella datorer för att hantera det här syftet. Azure-arkitekturer distribuerar vanligtvis virtuella datorer för programnivån, en separat uppsättning virtuella datorer för datanivån, en annan uppsättning för utveckling och så vidare. Du kan optimera varje bearbetningsnivå med den lämpligaste typen av virtuella datorer och funktioner för den miljön.

Dessutom kan varje nivå också tillhandahålla lämpliga haveriberedskapstjänster. Till exempel kan virtuella datorer för produktion och databas kräva en varm eller varm återställning, medan de virtuella datorerna för utveckling och testning stöder en kall återställning.

Följande bild visar en möjlig Azure-distribution med hjälp av en primär och en sekundär plats. På den primära platsen distribueras de virtuella datorerna för produktion, mellanlagring och testning med hög tillgänglighet. Den sekundära platsen är avsedd för säkerhetskopiering och haveriberedskap.

Diagram of a possible Azure deployment using a primary and a secondary site.

Utföra en stegvis migrering till Azure

Att flytta lösningar från en stordator till Azure kan innebära en stegvis migrering. Du flyttar vissa program först, medan andra finns kvar i stordatorn tillfälligt eller permanent. Den här metoden kräver vanligtvis system som låter program och databaser samverka mellan stordatorn och Azure.

Ett vanligt scenario är att flytta ett program till Azure samtidigt som du behåller de data som används av programmet på stordatorn. Specifik programvara gör det möjligt för programmen i Azure att komma åt data från stordatorn. Lyckligtvis tillhandahåller en mängd olika lösningar integrering mellan Azure och befintliga stordatormiljöer, stöd för hybridscenarier och migrering över tid. Microsoft-partner, oberoende programvaruleverantörer och systemintegrerare kan hjälpa dig på din resa.

Ett alternativ är Microsoft Host Integration Server. Den här lösningen tillhandahåller den distribuerade relationsdatabasarkitektur (DRDA) som krävs för program i Azure. Det gör att programmen kan komma åt data i DB2 som finns kvar på stordatorn. Andra alternativ för integrering mellan stordatorer och Azure är lösningar från IBM, Attunity, Codit, andra leverantörer och alternativ med öppen källkod.

Partnerlösningar

Om du överväger en stordatormigrering kan partnerekosystemet hjälpa dig.

Azure tillhandahåller en beprövad, högtillgänglig och skalbar infrastruktur för system som för närvarande körs på stordatorer. Vissa arbetsbelastningar kan migreras relativt enkelt. Du kan byta värd för andra arbetsbelastningar som är beroende av äldre systemprogramvara, till exempel CICS och IMS. Använd partnerlösningar och migrera dem till Azure över tid. Oavsett vilket val du väljer kan Microsoft och våra partner hjälpa dig att optimera för Azure samtidigt som du behåller programvarufunktionerna i stordatorsystemet.

Läs mer

Mer information finns i följande resurser: