Den här arkitekturen beskriver hur du implementerar en arbetsbelastning för ett IMS-stordatorprogram (Information Management System) i Azure med hjälp av Raincodes IMSql. Att migrera ett IMS-databasprogram (DB) till en molnbaserad lösning är mer komplext än att migrera ett relationsdatabasprogram. Den här artikeln beskriver hur du sömlöst byter värd för en IMS-arbetsbelastning för stordatorer som har viktiga IMS-funktioner till Azure. Du behöver inte översätta eller ändra ditt befintliga program.
ARKITEKTUR för IMS DB/DC-arbetsbelastning före migrering
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
- Användare ansluter till stordatorn via TCP/IP med hjälp av standardprotokoll för stordatorer som TN3270 och HTTPS.
- Transaktionshanterare interagerar med användare och anropar programmet för att uppfylla användarbegäranden.
- I klientdelen av programskiktet interagerar användarna med IMS-skärmar eller med webbsidor.
- Programkoden använder lagringsfunktionerna i IMS DB-serverdelsdatalagret (hierarkisk).
- Alla stordataåtgärder offline utförs via batchjobb.
- Tillsammans 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.
IMSql-arkitektur i Azure
Ladda ned en Visio-fil med den här arkitekturen.
Arbetsflöde
IMSql-terminalserver
Traditionellt används gränssnittet Mainframe z/OS via en intern IBM-terminal eller via programvara för terminalemulering. Ett program som har ett geografiskt utspridda nätverk med tusentals användare kan ansluta till stordatorerna via valfri form av terminal. När ett DC-program (IMS Data Communications) är värd för det distribuerade molnbaserade systemet måste du vara värd för programmet och resursen centralt och publicera dem för fjärrklientenheterna. Du kan utföra dessa uppgifter i Azure med hjälp av IMSql-terminalservrar.
SQL Server Service Broker
I Stordator samordnar IMS DC kommunikationsskiktet mellan användarterminalerna och programprogrammen genom att överföra och bearbeta meddelanden i en kontrollregion. Efter omvärdningen orkestrerar SQL Server Service Broker det här asynkrona kommunikationsskiktet. Service Broker hjälper till med kommunikation via dess ramverk för meddelandeleverans och skalar ut meddelanden till separata bearbetningsservrar, aktuella användare och deras transaktionsbearbetning.
IMSql-bearbetningsserver
Bearbetningsservern kör den Raincode-omkompilerade koden för IMS-programmen i .NET Framework eller .NET Core. Den innehåller den underliggande infrastrukturen som gör att de omkompilerade programmen kan köras effektivt med rätt funktionell likvärdighet. IMSql Processing Server kan generera dynamiska frågor och anropa SQL-lagrade procedurer som skapas under omkompileringen av DL/I-anrop.
SQL Server som ett hierarkiskt datalager
Data lagras som hierarkiska data i IMS. IMSql använder samma modell på SQL Server. Med den här modellen kan IMSql dra nytta av relationsdatabasernas höga prestanda och logiskt implementera de hierarkiska segmenten från IMS. Det gör också att systemet kan skalas oberoende med segment. Segmentdata lagras i rå EBCDIC-format, så de behöver inte konverteras för programmet. Genom att använda SQL Platform as a Service (PaaS) kan IMSql dra nytta av de underliggande HA/DR-funktionerna som tillhandahålls av Azure.
DL/I-anrops-API
IMSql-API:et säkerställer att COBOL IMS DL/I-anrop översätts till motsvarande SQL-frågor. Den hämtar sedan data och returnerar dem tillbaka till programprogrammet i förväntat format. IMSql spårar även programpositionen på tabellposten för att utföra crud-åtgärderna (create, read, update och delete), som den hierarkiska databasen. IMSql kan skapa SQL-lagrade procedurer under kompilering för att svara på prestandaintensiva DL/I-anrop.
Raincode JCL
Raincode job control language (JCL) är en tolk som är kompatibel med z/OS JCL. Raincode JCL-tolken gör övergången från den invecklade affärslogiken inbäddad i JCL till Azure- och .NET Core-plattformarna så smidig som möjligt. Raincode JCL är utformat för att köra kod som kompilerats av Kompilatorerna Raincode COBOL, PL/I och ASM370. Den kan enkelt köra steg som skrivits på praktiskt taget vilket språk som helst. Den kan konfigureras och finjusteras med användarskriven kod, så att du kan anpassa den efter dina egna behov för batchschemaläggning.
IMSql-datavy
IMSql definierar relationsvyer för SQL baserat på copybooks (postlayouter), så att IMS-segmenten kan nås via vanliga SQL-instruktioner av valfri Azure-tjänst och av nya program. IMSql-vyer är också skrivbara, så moderna program kan interagera med IMS på båda sätten via SQL Server.
Datamigrering via IMSql
Ladda ned en Visio-fil med den här arkitekturen.
Databasobjektmigrering
- Den ursprungliga IMS DB-databasbeskrivningen (DBD) extraheras och överförs från stordator. IMSql använder DBD-informationen för att skapa SQL-skript för att generera en måldatabas och tabeller i Azure SQL.
- Varje segment i en IMS DBD översätts som en tabell i Azure.
- Tabellerna består av ett nyckelfält, sökfält och fullständiga IMS-segmentdata som representeras i EBCDIC.
- IMS-segmentträdsstrukturen behålls med den primära och sekundärnyckelrelationen i Azure SQL-tabeller.
Inledande datainläsning
- Data från IMS DB extraheras via ett stordatorjobb och ofta tillgängliga nedladdningsverktyg som DFSRRC00 och DFSURGL0.
- Du kan överföra de extraherade binära filerna till Azure med hjälp av Azure Data Factory-anslutningsappar som FTP och SFTP och en Java-baserad lösning som körs på Unix Subsystem Services (USS).
- IMSql har ett inbyggt inläsningsverktyg för att slutföra de första datainläsningarna. Det här verktyget använder verktyget SQL Server masskopieringsprogram (bcp). Det säkerställer bcp-körning och nödvändig referensintegritet mellan tabellerna för att matcha den förväntade hierarkiska strukturen.
- Den här migreringen åtgärdar en engångsdatainläsning från IMS DB, inte samexistens och associerad datasynkronisering.
Dataflöde för migrering
- Huvuddatorns icke-relationella datalager (IMS DB) har två komponenter: DBD och faktiska segmentdata.
- IBM-verktyg extraherar och tar bort IMS DB-informationen.
- DBD-filen och motsvarande binära datafiler genereras separat.
- Datainmatning:
- Data Factory FTP-anslutningsappen kopierar IMS-datauppsättningar för stordatorer till Azure-datalagring.
- IMS-datafiler för stordatorer kopieras till Azure Blob Storage via SFTP.
- Stordator-JCL används för att köra en anpassad Java-lösning som flyttar data mellan stordatorsystemet och SFTP Azure Blob Storage.
- Med hjälp av DBD-filen skapar IMSql måldatabasen och tabellerna med nödvändig referensintegritet.
- När dataobjekt har skapats läser IMSql in data till motsvarande tabell i sekventiell ordning.
- Alla migrerade IMS-data finns i Azure SQL Managed Instance.
- Programdatabasen består av rådata för bearbetning av IMS online och batchbearbetning.
- IMS-läs-/skrivvyerna består av segmentdata som expanderas baserat på copybook-layouten.
Komponenter
- Med Azure Logic Apps kan du snabbt skapa kraftfulla integreringslösningar. Stordatoranvändare är bekanta med 3270 terminaler och lokala anslutningar. De kan använda Logic Apps IBM 3270-anslutningsappen för att komma åt och köra IBM-stordatorappar. I det migrerade systemet interagerar de med Azure-program via offentligt Internet eller en privat anslutning som implementeras via Azure ExpressRoute. Microsoft Entra ID tillhandahåller autentisering.
- Azure Virtual Network är den grundläggande byggstenen för ditt privata nätverk i Azure. Med virtuellt nätverk kan många typer av Azure-resurser, till exempel virtuella Azure-datorer, kommunicera med varandra, Internet och lokala nätverk, allt med förbättrad säkerhet. Virtuellt nätverk är som ett traditionellt nätverk som du arbetar i ditt eget datacenter, men det ger mer av fördelarna med Azure-infrastrukturen, till exempel skalning, tillgänglighet och isolering.
- Med ExpressRoute kan du utöka dina lokala nätverk till Microsoft Cloud via en privat anslutning som en anslutningsleverantör underlättar. Du kan använda ExpressRoute för att upprätta anslutningar till Microsoft Cloud-tjänster som Azure och Office 365.
- Skalningsuppsättningar för virtuella Azure-datorer ger automatiserad och belastningsutjämning av vm-skalning som förenklar hanteringen av dina program och ökar tillgängligheten.
- SQL Managed Instance, en del av Azure SQL-tjänstportföljen, är en hanterad, mycket säker, alltid uppdaterad SQL-instans i molnet.
- Microsoft Entra ID är en molnbaserad tjänst för företagsidentitet och åtkomsthantering. Microsoft Entra-enkel inloggning och multifaktorautentisering hjälper användare att logga in och komma åt resurser samtidigt som de hjälper till att skydda mot cybersäkerhetsattacker.
Alternativ
- Du kan använda SQL Server på en virtuell Azure-dator som ett alternativ till SQL Managed Instance. Vi rekommenderar SQL Managed Instance i den här arkitekturen på grund av fördelar som hög tillgänglighet, sömlös integrering med olika Azure-tjänster och hantering av underliggande säkerhetskorrigeringar och underhåll.
- Du kan använda en Azure-arkitektur med en virtuell dator som ett alternativ till VM-skalningsuppsättningar. Du kanske vill använda enskilda virtuella datorer för arbetsbelastningar som har konstant belastning och prestandakrav och som inte behöver skalas. Den här arkitekturen använder VM-skalningsuppsättningar för att hantera vanliga IMS-arbetsbelastningar.
Information om scenario
OLTP-stordatorsystem kan bearbeta miljontals transaktioner för ett stort antal användare. IBM IMS är en robust klassisk stordatortransaktionshanterare som används av stora företag för bearbetning av onlinetransaktioner. Den har två huvudkomponenter: IMS DC-komponenten och den underliggande hierarkiska DBMS IMS DB-komponenten.
IMSql är ett sätt att vara värd för IMS-baserade arbetsbelastningar i Azure eller lokala distribuerade implementeringar som baseras på SQL Server. IMSql tillhandahåller en holistisk lösning för att köra en IMS-arbetsbelastning, inklusive komponenterna app, data och mellanprogram. Den kan mata in den hierarkiska datastrukturen (IMS DB) till en relationsdatamodell i SQL Server, SQL Server på Azure Virtual Machines och SQL Managed Instance. Den har inbyggda API:er för IMS-program DL/I-anrop och utökar datalagret bortom den hierarkiska arbetsbelastningen till molnbaserade appar som används för relationsdata.
Den här lösningen ger följande fördelar:
- Modernisera infrastrukturen och minska de höga kostnader, begränsningar och stelhet som är associerade med monolitiska IMS-arbetsbelastningar för stordatorer.
- Minska den tekniska skulden genom att implementera molnbaserade lösningar och DevOps.
- Tillhandahålla IMS DB-data till icke-stordator- och molnbaserade program, inklusive AI- och analysprogram.
Potentiella användningsfall
- Bank-, finans-, försäkrings-, myndighets- och detaljhandelsbranscher som använder Mainframe IMS. Många av dessa organisationer kör sina primära OLTP- och batchprogram på IMS DB/DC.
- IBM zSeries stordatorkunder som behöver migrera verksamhetskritiska program samtidigt som de bibehåller kontinuiteten med andra lokala program och undviker biverkningarna av en fullständig ombyggnad.
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i checklistan för Designgranskning för tillförlitlighet.
- Den här OLTP-arkitekturen kan distribueras i flera regioner och kan innehålla ett geo-replikeringsdatalager.
- Azure Database Services stöder zonredundans och kan redundansväxla till en sekundär nod vid avbrott eller för att aktivera underhållsaktiviteter.
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i checklistan för Designgranskning för Security.
- ExpressRoute tillhandahåller en privat och effektiv anslutning till Azure lokalt.
- Du kan använda Microsoft Entra-ID för att autentisera Azure-resurser. Du kan använda rollbaserad åtkomstkontroll för att hantera behörigheter.
- Den här lösningen använder en Azure-nätverkssäkerhetsgrupp för att hantera trafik till och från Azure-resurser. Mer information finns i Nätverkssäkerhetsgrupper.
- Dessa säkerhetsalternativ är tillgängliga i Azure-databastjänster:
- Datakryptering i vila
- Dynamisk datamaskning
- Always Encrypted-data
Allmän vägledning om hur du utformar mycket säkra datalösningar finns i Säkerhetsrekommendationer för Azure.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i checklistan Designgranskning för kostnadsoptimering.
- Vm-skalningsuppsättningar optimerar kostnaderna genom att minimera antalet onödiga maskinvaruinstanser som kör programmet när efterfrågan är låg.
- SQL Managed Instance tillhandahåller olika prisnivåer, till exempel generell användning och affärskritisk, för att optimera kostnader baserat på användning och affärskritiskhet.
- Azure-reservationer och Azure-sparplan för beräkning med ett ett- eller treårskontrakt ger betydande besparingar jämfört med betala per användning-priser. I många fall kan du minska kostnaderna ytterligare genom att implementera flexibiliteten för reserverade instanser.
- Azure Hybrid-förmån är en licensförmån som kan hjälpa dig att avsevärt minska kostnaderna för att köra dina arbetsbelastningar i molnet. Den gör att du kan använda dina lokala Software Assurance-aktiverade Windows Server- och SQL Server-licenser på Azure.
Använd Priskalkylatorn för Azure för att beräkna kostnaden för att implementera den här lösningen. Här är en uppskattning som baseras på komponenterna i den här lösningen i rimlig skala.
Prestandaeffektivitet
Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i checklistan för Designgranskning för prestandaeffektivitet.
- Vm-skalningsuppsättningar säkerställer att tillräckligt många virtuella datorer är tillgängliga för att uppfylla verksamhetskritiska online- och batchbearbetningsbehov.
- Azure Blob Storage är ett skalbart system för lagring av säkerhetskopior, arkiveringsdata, sekundära datafiler och andra ostrukturerade digitala objekt.
- Finjusteringsverktyg för databasmotorer analyserar databaser och ger rekommendationer som du kan använda för att optimera frågeprestanda. Du kan använda Finjusteringsverktyg för databasmotorer för att välja och skapa en optimal uppsättning index, indexerade vyer eller tabellpartitioner.
- Skalbarhet är en av de viktigaste egenskaperna hos PaaS. Med den kan du dynamiskt lägga till resurser i din tjänst när de behövs. Du kan använda Azure SQL Database för att enkelt ändra de resurser (processorkraft, minne, I/O-dataflöde och lagring) som allokeras till dina databaser. Du kan använda SQL Managed Instance för att dynamiskt lägga till resurser i databasen med minimal stilleståndstid.
- Minnesintern OLTP är en teknik som är tillgänglig i SQL Server och SQL Database för att optimera prestanda för transaktionsbearbetning, datainmatning, datainläsning och tillfälliga datascenarier.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudsakliga författare:
- Nithish Aruldoss | Teknisk arkitekt
- Ametist Solomon | Teknisk arkitekt
Övriga medarbetare:
- Mick Alberts | Teknisk författare
Om du vill se icke-offentliga LinkedIn-profiler loggar du in på LinkedIn.
Nästa steg
- Stordator till Azure Data Factory med FTP-anslutningsprogram
- Stordator till Azure Data Platform med SFTP
- Vad är Azure Virtual Network?
- Vad är Azure ExpressRoute?
- Dokumentation om Microsoft Fabric
Mer information finns i Azure Dataingenjör ing – Modernisering av stordatorer.
Relaterade resurser
Se den tillhörande arkitekturen:
Mer relaterade resurser: