Bewerken

Delen via


IMS DC en IMS DB opnieuw hosten in Azure met behulp van Raincode IMSql

Azure Virtual Machine Scale Sets
Azure Logic Apps
Azure SQL Managed Instance
Azure Virtual Network
Azure ExpressRoute

In deze architectuur wordt beschreven hoe u een MAINFRAME-toepassingsworkload (Information Management System) implementeert in Azure met behulp van de IMSql van Raincode. Het migreren van een IMS-databasetoepassing (DB) naar een cloudeigen oplossing is complexer dan het migreren van een relationele databasetoepassing. In dit artikel wordt beschreven hoe u naadloos een mainframe-IMS-workload kunt hosten met essentiële IMS-functies en -mogelijkheden voor Azure. U hoeft uw bestaande toepassing niet te vertalen of te wijzigen.

IMS DB/DC-workloadarchitectuur, vóór de migratie

Diagram met de premigratie-IMS DB/DC-workloadarchitectuur.

Een Visio-bestand van deze architectuur downloaden.

Gegevensstroom

  1. Gebruikers maken verbinding met het mainframe via TCP/IP met behulp van standaard-mainframeprotocollen zoals TN3270 en HTTPS.
  2. Transactiebeheerders communiceren met gebruikers en roepen de toepassing aan om te voldoen aan gebruikersaanvragen.
  3. In de front-end van de toepassingslaag communiceren gebruikers met IMS-schermen of met webpagina's.
  4. Toepassingscode maakt gebruik van de opslagmogelijkheden van de back-endgegevenslaag IMS DB (hiërarchisch).
  5. Alle offline big data-bewerkingen worden uitgevoerd via batchtaken.
  6. Naast transactieverwerking bieden andere services verificatie, beveiliging, beheer, bewaking en rapportage. Deze services communiceren met alle andere services in het systeem.

IMSql-architectuur in Azure

Diagram met de IMSql-architectuur in Azure.

Een Visio-bestand van deze architectuur downloaden.

Workflow

  1. IMSql Terminal Server

    Traditioneel wordt de Mainframe z/OS-interface geopend via een INTERNE IBM-terminal of via terminal emulatiesoftware. Een toepassing met een geografisch verspreid netwerk met duizenden gebruikers kan via elke vorm van terminal verbinding maken met de mainframes. Wanneer een DC-toepassing (IMS Data Communications) opnieuw wordt gehost op het gedistribueerde cloudsysteem, moet u de toepassing en resource centraal hosten en publiceren voor de externe clientapparaten. U kunt deze taken uitvoeren in Azure met behulp van IMSql Terminal Servers.

  2. SQL Server Service Broker

    In Mainframe organiseert IMS DC de communicatielaag tussen de gebruikersterminals en de toepassingsprogramma's door berichten in een besturingsregio te verzenden en te verwerken. Nadat de herhost is uitgevoerd, organiseert SQL Server Service Broker deze asynchrone communicatielaag. Service Broker helpt bij de communicatie via het framework voor berichtbezorging en schaalt berichten uit tot afzonderlijke verwerkingsservers, huidige gebruikers en hun transactieverwerking.

  3. IMSql Processing Server

    De verwerkingsserver voert de regencode opnieuw gecompileerde code uit voor de IMS-programma's in .NET Framework of .NET Core. Het bevat de onderliggende infrastructuur waarmee de opnieuw gecompileerde programma's effectief kunnen worden uitgevoerd met de juiste functionele gelijkwaardigheid. IMSql Processing Server kan dynamische query's genereren en opgeslagen SQL-procedures aanroepen die worden gemaakt tijdens de hercompilatie van DL/I-aanroepen.

  4. SQL Server als hiërarchisch gegevensarchief

    Gegevens worden opgeslagen als hiërarchische gegevens in IMS. IMSql maakt gebruik van hetzelfde model in SQL Server. Met dit model kan IMSql profiteren van de hoge prestaties van relationele databases en de hiërarchische segmenten logisch implementeren vanuit IMS. Hiermee kan het systeem ook onafhankelijk worden geschaald met segmenten. De segmentgegevens worden opgeslagen in onbewerkte EBCDIC-indeling, zodat deze niet hoeven te worden geconverteerd voor de toepassing. Met behulp van SQL Platform as a Service (PaaS) kan IMSql profiteren van de onderliggende HA/DR-mogelijkheden die worden geleverd door Azure.

  5. DL/I-aanroep-API

    De IMSql-API zorgt ervoor dat de COBOL IMS DL/I-aanroepen worden vertaald naar gelijkwaardige SQL-query's. Vervolgens worden de gegevens opgehaald en geretourneerd naar het toepassingsprogramma in de verwachte indeling. IMSql houdt ook de positie van het programma in de tabelrecord bij om de CRUD-bewerkingen (create, read, update en delete) uit te voeren, zoals de hiërarchische database. IMSql kan opgeslagen SQL-procedures maken tijdens de compilatie om te reageren op prestatieintensieve DL/I-aanroepen.

  6. Raincode JCL

    Raincode job control language (JCL) is een interpreter die compatibel is met z/OS JCL. De Raincode JCL-interpreter maakt de overgang van de complexe bedrijfslogica die is ingesloten in JCL naar de Azure- en .NET Core-platforms zo soepel mogelijk. Raincode JCL is ontworpen om code uit te voeren die is gecompileerd door de Raincode COBOL-, PL/I- en ASM370-compilers. Het kan eenvoudig stappen uitvoeren die in vrijwel elke taal zijn geschreven. Het kan worden geconfigureerd en afgestemd op door de gebruiker geschreven code, zodat u deze kunt aanpassen aan uw eigen behoeften voor batchplanning.

  7. IMSql-gegevensweergave

    IMSql definieert relationele SQL-weergaven op basis van copybooks (recordindelingen), zodat de IMS-segmenten toegankelijk zijn via gewone SQL-instructies door elke Azure-service en door nieuwe toepassingen. IMSql-weergaven zijn ook beschrijfbaar, zodat moderne toepassingen op beide manieren kunnen communiceren met IMS via SQL Server.

Gegevensmigratie via IMSql

Diagram met de gegevensmigratie via IMSql.

Een Visio-bestand van deze architectuur downloaden.

Databaseobjectmigratie

  • De oorspronkelijke IMS DB-databasebeschrijving (DBD) wordt geëxtraheerd en overgedragen vanuit Mainframe. IMSql gebruikt de DBD-gegevens om SQL-scripts te produceren voor het genereren van een doeldatabase en tabellen in Azure SQL.
  • Elk segment in een IMS DBD wordt vertaald als een tabel in Azure.
  • De tabellen bestaan uit een sleutelveld, zoekvelden en de volledige IMS-segmentgegevens die worden weergegeven in EBCDIC.
  • De structuur van de IMS-segmentstructuur wordt bewaard met de primaire en refererende-sleutelrelatie in Azure SQL-tabellen.

Initiële gegevens laden

  • De gegevens uit IMS DB worden geëxtraheerd via een mainframetaak en veelgebruikte downloadhulpprogramma's zoals DFSRRC00 en DFSURGL0.
  • U kunt de geëxtraheerde binaire bestanden overbrengen naar Azure met behulp van Azure Data Factory-connectors zoals FTP en SFTP en een Op Java gebaseerde oplossing die wordt uitgevoerd op Unix Subsystem Services (USS).
  • IMSql heeft een ingebouwd hulpprogramma voor het laden van de initiële gegevens. Dit hulpprogramma maakt gebruik van het hulpprogramma sql Server voor bulksgewijs kopiëren (bcp). Het zorgt ervoor dat bcp-uitvoering en de vereiste referentiële integriteit tussen de tabellen overeenkomen met de verwachte hiërarchische structuur.
  • Met deze migratie wordt een eenmalige gegevensbelasting vanuit IMS DB opgelost, niet co-existentie en bijbehorende gegevenssynchronisatie.

Gegevensstroom voor migratie

  1. Het mainframe niet-relationele gegevensarchief (IMS DB) heeft twee onderdelen: de DBD en de werkelijke segmentgegevens.
  2. IBM-hulpprogramma's extraheren en de IMS DB-gegevens uitpakken en loshalen.
  3. Het DBD-bestand en de bijbehorende binaire gegevensbestanden worden afzonderlijk gegenereerd.
  4. Gegevensopname:
    1. De Data Factory FTP-connector kopieert Mainframe IMS-gegevenssets naar Azure-gegevensopslag.
    2. Mainframe IMS-gegevensbestanden worden gekopieerd naar Azure Blob Storage via SFTP.
    3. Mainframe JCL wordt gebruikt om een aangepaste Java-oplossing uit te voeren waarmee gegevens worden verplaatst tussen het mainframe-systeem en SFTP Azure Blob Storage.
  5. Met behulp van het DBD-bestand maakt IMSql de doeldatabase en tabellen, met de benodigde referentiële integriteit.
  6. Nadat gegevensobjecten zijn gemaakt, worden de gegevens in IMSql in opeenvolgende volgorde in de bijbehorende tabel geladen.
  7. Alle gemigreerde IMS-gegevens worden gehost in Azure SQL Managed Instance.
  8. De toepassingsdatabase bestaat uit de onbewerkte segmentgegevens voor het online verwerken van IMS en batchverwerking.
  9. De IMS-weergaven voor lezen/schrijven bestaan uit segmentgegevens die zijn uitgevouwen op basis van de indeling van het copybook.

Onderdelen

  • Met Azure Logic Apps kunt u snel krachtige integratieoplossingen bouwen. Mainframe-gebruikers zijn bekend met 3270 terminals en on-premises connectiviteit. Ze kunnen de Logic Apps IBM 3270-connector gebruiken om ibm mainframe-apps te openen en uit te voeren. In het gemigreerde systeem communiceren ze met Azure-toepassingen via het openbare internet of een privéverbinding die is geïmplementeerd via Azure ExpressRoute. Microsoft Entra-id biedt verificatie.
  • Azure Virtual Network is de fundamentele bouwsteen voor uw privénetwerk in Azure. Met Virtual Network kunnen veel soorten Azure-resources, zoals virtuele Azure-machines (VM's), met elkaar communiceren, internet en on-premises netwerken, allemaal met verbeterde beveiliging. Virtual Network is net als een traditioneel netwerk dat u in uw eigen datacenter uitvoert, maar het biedt meer voordelen van de Azure-infrastructuur, zoals schalen, beschikbaarheid en isolatie.
  • Met ExpressRoute kunt u uw on-premises netwerken uitbreiden naar de Microsoft Cloud via een privéverbinding die een connectiviteitsprovider faciliteert. U kunt ExpressRoute gebruiken om verbindingen tot stand te brengen met Microsoft Cloud-services zoals Azure en Office 365.
  • Virtuele-machineschaalsets van Azure bieden geautomatiseerde en taakverdeling voor VM-schaalaanpassing die het beheer van uw toepassingen vereenvoudigt en de beschikbaarheid verhoogt.
  • SQL Managed Instance, onderdeel van het Azure SQL-serviceportfolio, is een beheerd, uiterst veilig, altijd up-to-date SQL-exemplaar in de cloud.
  • Microsoft Entra ID is een zakelijke identiteits- en toegangsbeheerservice in de cloud. Eenmalige aanmelding en meervoudige verificatie van Microsoft Entra helpen gebruikers zich aan te melden en toegang te krijgen tot resources terwijl ze bescherming bieden tegen cyberbeveiligingsaanvallen.

Alternatieven

  • U kunt SQL Server in een virtuele Azure-machine gebruiken als alternatief voor SQL Managed Instance. We raden SQL Managed Instance in deze architectuur aan vanwege voordelen zoals hoge beschikbaarheid, naadloze integratie met verschillende Azure-services en het beheer van onderliggende beveiligingspatches en onderhoud.
  • U kunt een Azure-architectuur met één VM gebruiken als alternatief voor virtuele-machineschaalsets. Mogelijk wilt u één VIRTUELE machine gebruiken voor workloads met constante belasting- en prestatievereisten en geen behoefte aan schalen. Deze architectuur maakt gebruik van Virtuele-machineschaalsets voor het verwerken van typische IMS-workloads.

Scenariodetails

OLTP-systemen van Mainframe kunnen miljoenen transacties verwerken voor een groot aantal gebruikers. IBM IMS is een robuuste klassieke mainframe transaction manager die wordt gebruikt door grote bedrijven voor online transactieverwerking. Het heeft twee hoofdonderdelen: het IMS DC-onderdeel en het onderliggende hiërarchische DBMS IMS DB-onderdeel.

IMSql biedt een manier om workloads op basis van IMS te hosten in Azure of on-premises gedistribueerde implementaties die zijn gebaseerd op SQL Server. IMSql biedt een holistische oplossing voor het uitvoeren van een IMS-workload, waaronder de onderdelen app, gegevens en middleware. Het kan de hiërarchische gegevensstructuur (IMS DB) opnemen in een relationeel gegevensmodel in SQL Server, SQL Server op Azure Virtual Machines en SQL Managed Instance. Het bevat ingebouwde API's voor DL/I-aanroepen van IMS-toepassingen en breidt de gegevenslaag uit buiten de hiërarchische workload naar cloudeigen apps die worden gebruikt voor relationele gegevens.

Deze oplossing biedt de volgende voordelen:

  • Moderniseer de infrastructuur en verminder de hoge kosten, beperkingen en starheid die samenhangen met monolithische MAINFRAME IMS-workloads.
  • Verminder technische schulden door cloudoplossingen en DevOps te implementeren.
  • Bied IMS DB-gegevens aan niet-mainframe- en cloudtoepassingen, waaronder AI- en analysetoepassingen.

Potentiële gebruikscases

  • Banking, finance, insurance, government, and retail industries that use Mainframe IMS. Veel van deze organisaties voeren hun primaire OLTP- en batchtoepassingen uit op IMS DB/DC.
  • IBM zSeries mainframe-klanten die bedrijfskritieke toepassingen moeten migreren terwijl ze de continuïteit met andere on-premises toepassingen behouden en de bijwerkingen van een volledige herontwikkeling vermijden.

Overwegingen

Met deze overwegingen worden de pijlers van het Azure Well-Architected Framework geïmplementeerd. Dit is een set richtlijnen die kunnen worden gebruikt om de kwaliteit van een workload te verbeteren. Zie Microsoft Azure Well-Architected Framework voor meer informatie.

Betrouwbaarheid

Betrouwbaarheid zorgt ervoor dat uw toepassing kan voldoen aan de toezeggingen die u aan uw klanten hebt gedaan. Zie Controlelijst ontwerpbeoordeling voor betrouwbaarheidvoor meer informatie.

  • Deze OLTP-architectuur kan in meerdere regio's worden geïmplementeerd en kan een geo-replicatiegegevenslaag bevatten.
  • De Azure Database Services ondersteunen zoneredundantie en kunnen tijdens storingen een failover naar een secundair knooppunt uitvoeren of onderhoudsactiviteiten inschakelen.

Beveiliging

Beveiliging biedt garanties tegen opzettelijke aanvallen en misbruik van uw waardevolle gegevens en systemen. Zie voor meer informatie controlelijst ontwerpbeoordeling voor Security.

  • ExpressRoute biedt een privé- en efficiënte verbinding met Azure vanaf on-premises.
  • U kunt De Microsoft Entra-id gebruiken om Azure-resources te verifiëren. U kunt op rollen gebaseerd toegangsbeheer gebruiken om machtigingen te beheren.
  • Deze oplossing maakt gebruik van een Azure-netwerkbeveiligingsgroep om verkeer van en naar Azure-resources te beheren. Zie Netwerkbeveiligingsgroepen voor meer informatie.
  • Deze beveiligingsopties zijn beschikbaar in Azure Database Services:
    • Versleuteling van inactieve gegevens
    • Dynamische gegevensmaskering
    • Always Encrypted-gegevens

Zie De aanbevelingen voor Azure-beveiliging voor algemene richtlijnen voor het ontwerpen van uiterst veilige gegevensoplossingen.

Kostenoptimalisatie

Kostenoptimalisatie gaat over manieren om onnodige uitgaven te verminderen en operationele efficiëntie te verbeteren. Zie controlelijst ontwerpbeoordeling voor kostenoptimalisatievoor meer informatie.

  • Virtual Machine Scale Sets optimaliseert de kosten door het aantal onnodige hardware-exemplaren te minimaliseren waarop uw toepassing wordt uitgevoerd wanneer de vraag laag is.
  • SQL Managed Instance biedt verschillende prijscategorieën, zoals algemeen gebruik en bedrijfskritiek, om de kosten te optimaliseren op basis van gebruik en bedrijfskritiek.
  • Azure-reserveringen en een Azure-besparingsplan voor berekeningen met een een- of driejarige contract bieden aanzienlijke besparingen op de prijzen voor betalen per gebruik. In veel gevallen kunt u uw kosten verder verlagen door flexibiliteit van de grootte van gereserveerde instanties te implementeren.
  • Azure Hybrid Benefit is een licentievoordeel waarmee u de kosten voor het uitvoeren van uw workloads in de cloud aanzienlijk kunt verlagen. Dit werkt door uw on-premises Windows Server- en SQL Server-licenties met Software Assurance in Azure te gebruiken.

Gebruik de Azure-prijscalculator om de kosten voor het implementeren van deze oplossing te schatten. Hier volgt een schatting op basis van de onderdelen van deze oplossing, op een redelijke schaal.

Prestatie-efficiëntie

Prestatie-efficiëntie is de mogelijkheid van uw workload om te schalen om te voldoen aan de eisen die gebruikers op een efficiënte manier stellen. Zie controlelijst ontwerpbeoordeling voor prestatie-efficiëntievoor meer informatie.

  • Virtuele-machineschaalsets zorgen ervoor dat er voldoende VM's beschikbaar zijn om te voldoen aan bedrijfskritieke online- en batchverwerkingsbehoeften.
  • Azure Blob Storage is een schaalbaar systeem voor het opslaan van back-ups, archiveringsgegevens, secundaire gegevensbestanden en andere ongestructureerde digitale objecten.
  • Database Engine Tuning Advisor analyseert databases en doet aanbevelingen die u kunt gebruiken om queryprestaties te optimaliseren. U kunt Database Engine Tuning Advisor gebruiken om een optimale set indexen, geïndexeerde weergaven of tabelpartities te selecteren en te maken.
  • Schaalbaarheid is een van de belangrijkste kenmerken van PaaS. Hiermee kunt u dynamisch resources aan uw service toevoegen wanneer ze nodig zijn. U kunt Azure SQL Database gebruiken om eenvoudig de resources (CPU-kracht, geheugen, I/O-doorvoer en opslag) te wijzigen die zijn toegewezen aan uw databases. U kunt SQL Managed Instance gebruiken om resources dynamisch aan uw database toe te voegen met minimale downtime.
  • OLTP in het geheugen is een technologie die beschikbaar is in SQL Server en SQL Database voor het optimaliseren van de prestaties van transactieverwerking, gegevensopname, gegevensbelasting en tijdelijke gegevensscenario's.

Medewerkers

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

Belangrijkste auteurs:

Andere Inzenders:

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

Volgende stappen

Neem voor meer informatie contact op met Azure Data-engineer ing - Mainframe Modernization.

Zie de bijbehorende architectuur:

Meer gerelateerde resources: