Eseguire il rehosting del controller di dominio IMS e del database IMS in Azure usando Raincode IMSql

Set di scalabilità delle macchine virtuali di Azure
App per la logica di Azure
Istanza gestita di SQL di Azure
Rete virtuale di Azure
Azure ExpressRoute

Questa architettura descrive come implementare un carico di lavoro dell'applicazione mainframe (IMS) di Information Management System in Azure usando IMSql di Raincode. La migrazione di un'applicazione di database IMS a una soluzione nativa del cloud è più complessa rispetto alla migrazione di un'applicazione di database relazionale. Questo articolo descrive come eseguire facilmente il rehosting di un carico di lavoro IMS mainframe con funzionalità e funzionalità di IMS critiche in Azure. Non è necessario tradurre o modificare l'applicazione esistente.

Architettura del carico di lavoro del database/controller di dominio IMS prima della migrazione

Diagramma che mostra l'architettura del carico di lavoro IMS DB/DC premigration.

Scaricare un file di Visio di questa architettura.

Flusso di dati

  1. Gli utenti si connettono al mainframe su TCP/IP usando protocolli mainframe standard come TN3270 e HTTPS.
  2. I gestori delle transazioni interagiscono con gli utenti e richiamano l'applicazione per soddisfare le richieste degli utenti.
  3. Nel front-end del livello applicazione, gli utenti interagiscono con schermate IMS o con pagine Web.
  4. Il codice dell'applicazione usa le funzionalità di archiviazione del livello dati back-end del database IMS (gerarchico).
  5. Tutte le operazioni di Big Data offline vengono eseguite tramite processi batch.
  6. Oltre all'elaborazione delle transazioni, altri servizi forniscono autenticazione, sicurezza, gestione, monitoraggio e creazione di report. Questi servizi interagiscono con tutti gli altri servizi nel sistema.

Architettura IMSql in Azure

Diagramma che mostra l'architettura IMSql in Azure.

Scaricare un file di Visio di questa architettura.

Workflow

  1. IMSql Terminal Server

    Tradizionalmente, l'interfaccia Mainframe z/OS è accessibile tramite un terminale interno IBM o tramite software di emulazione terminale. Un'applicazione con una rete geograficamente dispersa con migliaia di utenti può connettersi ai mainframe tramite qualsiasi forma di terminale. Quando un'applicazione IMS Data Communications (DC) viene rehostata nel sistema basato sul cloud distribuito, è necessario ospitare centralmente l'applicazione e la risorsa e pubblicarle per i dispositivi client remoti. È possibile eseguire queste attività in Azure usando i server terminal IMSql.

  2. SQL Server Service Broker

    Nel mainframe IMS DC orchestra il livello di comunicazione tra i terminali utente e i programmi dell'applicazione trasmettendo ed elaborando messaggi in un'area di controllo. Dopo il rehosting, SQL Server Service Broker orchestra questo livello di comunicazione asincrona. Service Broker consente di comunicare tramite il framework di recapito dei messaggi e aumenta il numero di messaggi per separare i server di elaborazione, gli utenti correnti e l'elaborazione delle transazioni.

  3. Server di elaborazione IMSql

    Il server di elaborazione esegue il codice ricompilato Raincode per i programmi IMS in .NET Framework o .NET Core. Contiene l'infrastruttura sottostante che consente l'esecuzione efficace dei programmi ricompilati con l'equivalenza funzionale corretta. IMSql Processing Server può generare query dinamiche e chiamare stored procedure SQL create durante la ricompilazione delle chiamate DL/I.

  4. SQL Server come archivio dati gerarchico

    I dati vengono archiviati come dati gerarchici in IMS. IMSql usa lo stesso modello in SQL Server. Questo modello consente a IMSql di sfruttare le prestazioni elevate dei database relazionali e implementare logicamente i segmenti gerarchici di IMS. Consente inoltre la scalabilità indipendente del sistema con segmenti. I dati del segmento vengono archiviati in formato EBCDIC non elaborato, quindi non è necessario convertirli per l'applicazione. Usando la piattaforma SQL distribuita come servizio (PaaS), IMSql può sfruttare le funzionalità di disponibilità elevata/ripristino di emergenza sottostanti fornite da Azure.

  5. DL/I chiama API

    L'API IMSql garantisce che le chiamate DL/I DI COBOL IMS vengano convertite in query SQL equivalenti. Recupera quindi i dati e lo restituisce al programma dell'applicazione nel formato previsto. IMSql tiene traccia anche della posizione del programma nel record Tabella per eseguire le operazioni di creazione, lettura, aggiornamento ed eliminazione (CRUD), ad esempio il database gerarchico. IMSql può creare stored procedure SQL durante la compilazione per rispondere alle chiamate DL/I a elevato utilizzo di prestazioni.

  6. Raincode JCL

    Raincode Job Control Language (JCL) è un interprete compatibile con jCL z/OS. L'interprete JCL Raincode esegue la transizione dalla logica di business complessa incorporata in JCL alle piattaforme Azure e .NET Core il più possibile fluide. Raincode JCL è progettato per eseguire il codice compilato dai compilatori Raincode COBOL, PL/I e ASM370. Può eseguire facilmente i passaggi scritti in praticamente in qualsiasi linguaggio. Può essere configurato e ottimizzato con codice scritto dall'utente, in modo da poterlo adattare alle proprie esigenze per la pianificazione batch.

  7. Visualizzazione dati IMSql

    IMSql definisce le viste SQL relazionali basate su copybook (layout di record), in modo che i segmenti IMS possano essere accessibili tramite istruzioni SQL semplici da qualsiasi servizio di Azure e da nuove applicazioni. Le viste IMSql sono anche scrivibili, quindi le applicazioni moderne possono interagire con IMS in entrambi i modi tramite SQL Server.

Migrazione dei dati tramite IMSql

Diagramma che mostra la migrazione dei dati tramite IMSql.

Scaricare un file di Visio di questa architettura.

Migrazione di oggetti di database

  • La descrizione originale del database IMS DB viene estratta e trasferita dal mainframe. IMSql usa le informazioni DBD per produrre script SQL per generare un database e tabelle di destinazione in Azure SQL.
  • Ogni segmento in un DBD IMS viene convertito come tabella in Azure.
  • Le tabelle sono costituite da un campo chiave, i campi di ricerca e i dati completi del segmento IMS rappresentati in EBCDIC.
  • La struttura ad albero dei segmenti IMS viene mantenuta con la relazione di chiave primaria ed esterna nelle tabelle SQL di Azure.

Caricamento iniziale dei dati

  • I dati del database IMS vengono estratti tramite un processo mainframe e utilità di download comunemente disponibili, ad esempio DFSRRC00 e DFSURGL0.
  • È possibile trasferire i file binari estratti in Azure usando connettori di Azure Data Factory come FTP e SFTP e una soluzione basata su Java eseguita in Servizi sottosistemi Unix (USS).
  • IMSql dispone di un'utilità di caricamento predefinita per completare i caricamenti iniziali dei dati. Questo strumento usa l'utilità bcp (Bulk Copy Program) di SQL Server. Garantisce l'esecuzione di bcp e l'integrità referenziale necessaria tra le tabelle in modo che corrispondano alla struttura gerarchica prevista.
  • Questa migrazione risolve un caricamento dei dati monouso dal database IMS, non dalla coesistenza e dalla sincronizzazione dei dati associata.

Flusso di dati per la migrazione

  1. L'archivio dati mainframe non relazionale (IMS DB) include due componenti: il DBD e i dati del segmento effettivi.
  2. Le utilità IBM estraggono e scaricano le informazioni del database IMS.
  3. Il file DBD e i file di dati binari corrispondenti vengono generati separatamente.
  4. Inserimento dati:
    1. Il connettore FTP di Data Factory copia i set di dati IMS mainframe nell'archiviazione dati di Azure.
    2. I file di dati IMS del mainframe vengono copiati in Archiviazione BLOB di Azure tramite SFTP.
    3. JCL mainframe viene usato per eseguire una soluzione Java personalizzata che sposta i dati tra il sistema mainframe e l'Archiviazione BLOB di Azure SFTP.
  5. Usando il file DBD, IMSql crea il database di destinazione e le tabelle, con l'integrità referenziale necessaria.
  6. Dopo aver creato gli oggetti dati, IMSql carica i dati nella tabella corrispondente in ordine sequenziale.
  7. Tutti i dati IMS migrati sono ospitati in Istanza gestita di SQL di Azure.
  8. Il database dell'applicazione è costituito dai dati di segmento non elaborati per l'elaborazione online e batch di IMS.
  9. Le visualizzazioni di lettura/scrittura di IMS sono costituite da dati segmentati espansi in base al layout del copybook.

Componenti

  • App per la logica di Azure consente di creare rapidamente soluzioni di integrazione avanzate. Gli utenti del mainframe hanno familiarità con i terminali 3270 e la connettività locale. Possono usare il connettore IBM 3270 di App per la logica per accedere ed eseguire app ibm mainframe. Nel sistema migrato interagiscono con le applicazioni di Azure tramite la rete Internet pubblica o una connessione privata implementata tramite Azure ExpressRoute. Microsoft Entra ID fornisce l'autenticazione.
  • Azure Rete virtuale è il blocco predefinito fondamentale per la rete privata in Azure. Rete virtuale consente a molti tipi di risorse di Azure, ad esempio macchine virtuali di Azure, di comunicare tra loro, Internet e reti locali, con una maggiore sicurezza. Rete virtuale è come una rete tradizionale che si opera nel proprio data center, ma offre maggiori vantaggi dell'infrastruttura di Azure, ad esempio scalabilità, disponibilità e isolamento.
  • ExpressRoute consente di estendere le reti locali in Microsoft Cloud tramite una connessione privata facilitata da un provider di connettività. È possibile usare ExpressRoute per stabilire connessioni ai servizi cloud Microsoft, ad esempio Azure e Office 365.
  • Azure set di scalabilità di macchine virtuali offre scalabilità automatica e con bilanciamento del carico delle macchine virtuali che semplifica la gestione delle applicazioni e aumenta la disponibilità.
  • Istanza gestita di SQL, parte del portfolio di servizi SQL di Azure, è un'istanza SQL gestita, altamente sicura e sempre aggiornata nel cloud.
  • Microsoft Entra ID è un servizio di gestione delle identità e degli accessi aziendale basato sul cloud. Microsoft Entra Single Sign-On e l'autenticazione a più fattori consentono agli utenti di accedere e accedere alle risorse, contribuendo al contempo a proteggersi dagli attacchi alla sicurezza informatica.

Alternative

  • È possibile usare SQL Server in una macchina virtuale di Azure come alternativa a Istanza gestita di SQL. È consigliabile Istanza gestita di SQL in questa architettura a causa di vantaggi come la disponibilità elevata, l'integrazione senza problemi con vari servizi di Azure e la gestione delle patch di sicurezza e della manutenzione sottostanti.
  • È possibile usare un'architettura a macchina virtuale singola di Azure come alternativa a set di scalabilità di macchine virtuali. È possibile usare singole macchine virtuali per carichi di lavoro con carico costante e richieste di prestazioni e non è necessario ridimensionare. Questa architettura usa set di scalabilità di macchine virtuali per gestire i carichi di lavoro IMS tipici.

Dettagli dello scenario

I sistemi OLTP mainframe possono elaborare milioni di transazioni per un numero elevato di utenti. IBM IMS è un solido gestore transazioni mainframe classico usato dalle principali aziende per l'elaborazione delle transazioni online. Include due componenti principali: il componente IMS DC e il componente DBMS IMS DBS db sottostante.

IMSql consente di ospitare carichi di lavoro basati su IMS in Azure o implementazioni distribuite locali basate su SQL Server. IMSql offre una soluzione olistica per l'esecuzione di un carico di lavoro IMS, inclusi i componenti app, dati e middleware. Può inserire la struttura di dati gerarchica (IMS DB) a un modello di dati relazionale in SQL Server, SQL Server in Azure Macchine virtuali e Istanza gestita di SQL. Include API predefinite per le chiamate DL/I del programma di applicazioni IMS ed estende il livello dati oltre il carico di lavoro gerarchico alle app native del cloud usate per i dati relazionali.

Questa soluzione offre i vantaggi seguenti:

  • Modernizzare l'infrastruttura e ridurre i costi elevati, le limitazioni e la rigidità associati ai carichi di lavoro IMS monolitici.
  • Ridurre il debito tecnico implementando soluzioni native del cloud e DevOps.
  • Fornire i dati del database IMS alle applicazioni non mainframe e basate sul cloud, incluse le applicazioni di intelligenza artificiale e analisi.

Potenziali casi d'uso

  • Settore bancario, finanziario, assicurativo, governativo e retail che usano l'IMS mainframe. Molte di queste organizzazioni eseguono le principali applicazioni OLTP e batch in IMS DB/DC.
  • I clienti mainframe IBM zSeries che devono eseguire la migrazione di applicazioni cruciali mantenendo al tempo stesso la continuità con altre applicazioni locali ed evitando gli effetti collaterali di una riqualifica completa.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, ovvero un set di set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Microsoft Azure Well-Architected Framework.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'affidabilità.

  • Questa architettura OLTP può essere distribuita in più aree e può incorporare un livello dati di replica geografica.
  • I servizi di database di Azure supportano la ridondanza della zona e possono eseguire il failover in un nodo secondario durante le interruzioni o per abilitare le attività di manutenzione.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per Security.

  • ExpressRoute offre una connessione privata ed efficiente ad Azure dall'ambiente locale.
  • È possibile usare Microsoft Entra ID per autenticare le risorse di Azure. È possibile usare il controllo degli accessi in base al ruolo per gestire le autorizzazioni.
  • Questa soluzione usa un gruppo di sicurezza di rete di Azure per gestire il traffico da e verso le risorse di Azure. Per altre informazioni, vedere Gruppi di sicurezza di rete.
  • Queste opzioni di sicurezza sono disponibili nei servizi di database di Azure:
    • Crittografia dei dati inattivi
    • Maschera dati dinamica
    • Dati Always Encrypted

Per indicazioni generali sulla progettazione di soluzioni di dati altamente sicure, vedere Raccomandazioni sulla sicurezza di Azure.

Ottimizzazione costi

L'ottimizzazione dei costi consiste nell'esaminare i modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.

  • set di scalabilità di macchine virtuali ottimizza i costi riducendo al minimo il numero di istanze hardware non necessarie che eseguono l'applicazione quando la domanda è bassa.
  • Istanza gestita di SQL offre diversi piani tariffari, ad esempio utilizzo generico e business critical, per ottimizzare i costi in base all'utilizzo e alla criticità aziendale.
  • Le prenotazioni di Azure e il piano di risparmio di Azure per il calcolo con un contratto di un anno o tre anni offrono risparmi significativi sui prezzi con pagamento in base al consumo. In molti casi, è possibile ridurre ulteriormente i costi implementando la flessibilità delle dimensioni dell'istanza riservata.
  • Vantaggio Azure Hybrid è un vantaggio di licenza che consente di ridurre significativamente i costi di esecuzione dei carichi di lavoro nel cloud. dal momento che consente di usare le licenze di Windows Server e SQL Server locali abilitate per Software Assurance in Azure.

Per stimare il costo di implementazione di questa soluzione, usare il calcolatore dei prezzi di Azure. Ecco una stima basata sui componenti di questa soluzione, su scala ragionevole.

Efficienza delle prestazioni

L'efficienza delle prestazioni è la capacità del carico di lavoro di ridimensionarsi per soddisfare le esigenze poste dagli utenti in modo efficiente. Per altre informazioni, vedere Elenco di controllo per l'efficienza delle prestazioni.

  • set di scalabilità di macchine virtuali garantisce che siano disponibili sufficienti macchine virtuali per soddisfare esigenze di elaborazione online e batch cruciali.
  • Archiviazione BLOB di Azure è un sistema scalabile per l'archiviazione di backup, dati di archiviazione, file di dati secondari e altri oggetti digitali non strutturati.
  • motore di database Ottimizzazione guidata analizza i database e fornisce raccomandazioni che è possibile usare per ottimizzare le prestazioni delle query. È possibile usare motore di database Ottimizzazione guidata per selezionare e creare un set ottimale di indici, viste indicizzate o partizioni di tabella.
  • La scalabilità è una delle caratteristiche più importanti di PaaS. Consente di aggiungere in modo dinamico risorse al servizio quando sono necessarie. È possibile usare database SQL di Azure per modificare facilmente le risorse (potenza della CPU, memoria, velocità effettiva di I/O e archiviazione) allocate ai database. È possibile usare Istanza gestita di SQL per aggiungere in modo dinamico risorse al database con tempi di inattività minimi.
  • OLTP in memoria è una tecnologia disponibile in SQL Server e database SQL per ottimizzare le prestazioni di elaborazione delle transazioni, inserimento dati, caricamento dati e scenari di dati temporanei.

Collaboratori

Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.

Autori principali:

Altri contributori:

Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.

Passaggi successivi

Per altre informazioni, contattare Azure Ingegneria dei dati - Modernizzazione del mainframe.

Vedere l'architettura complementare:

Altre risorse correlate: