Replicare e sincronizzare i dati del mainframe in Azure

Azure Data Factory
Azure Databricks

Questa architettura di riferimento descrive un piano di implementazione per la replica e la sincronizzazione dei dati durante la modernizzazione in Azure. Vengono illustrati aspetti tecnici come archivi dati, strumenti e servizi.

Architettura

Architecture diagram showing how to sync on-premises and Azure databases during mainframe modernization.

Scaricare un file di Visio di questa architettura.

Workflow

I sistemi mainframe e midrange aggiornano i database delle applicazioni locali a intervalli regolari. Per mantenere la coerenza, la soluzione sincronizza i dati più recenti con i database di Azure. Il processo di sincronizzazione prevede i passaggi seguenti:

  1. Queste azioni si verificano durante il processo:

    1. Un gateway dati locale trasferisce i dati in modo rapido e sicuro tra i sistemi locali e i servizi di Azure. Con questa configurazione, il gateway dati locale può ricevere istruzioni da Azure e replicare i dati senza la rete locale esponendo direttamente gli asset di dati locali.
    2. Le pipeline di Azure Data Factory orchestrano le attività che vanno dall'estrazione dei dati al caricamento dei dati. È possibile pianificare le attività della pipeline, avviarle manualmente o attivarle automaticamente.
  2. I database locali, ad esempio Db2 zOS, Db2 per i e Db2 LUW archiviano i dati.

  3. Le pipeline raggruppano le attività che eseguono attività. Per estrarre i dati, Data Factory crea dinamicamente una pipeline per ogni tabella locale. È quindi possibile usare un'implementazione parallela massiccia quando si replicano i dati in Azure. Ma è anche possibile configurare la soluzione per soddisfare i requisiti:

    • Replica completa: si replica l'intero database, apportando le modifiche necessarie ai tipi di dati e ai campi nel database di Azure di destinazione.
    • Replica parziale, differenziale o incrementale: si usano colonne limite nelle tabelle di origine per sincronizzare le righe aggiornate con i database di Azure. Queste colonne contengono una chiave a incremento continuo o un timestamp che indica l'ultimo aggiornamento della tabella.

    Data Factory usa anche pipeline per le attività di trasformazione seguenti:

    • Conversione del tipo di dati
    • Manipolazione dei dati
    • Formattazione dei dati
    • Derivazione di colonne
    • Flating dei dati
    • Ordinamento dei dati
    • Filtro dati
  4. Un runtime di integrazione self-hosted fornisce l'ambiente usato da Data Factory per eseguire e inviare attività.

  5. Azure Data Lake Archiviazione Gen2 e Archiviazione BLOB di Azure offrono una posizione per la gestione temporanea dei dati. Questo passaggio è talvolta necessario per trasformare e unire dati da più origini.

  6. La preparazione dei dati avviene successivamente. Data Factory usa Azure Databricks, le attività personalizzate e i flussi di dati della pipeline per trasformare i dati in modo rapido ed efficace.

  7. Data Factory carica i dati in database di Azure relazionali e non relazionali:

    • Azure SQL
    • Database di Azure per PostgreSQL
    • Azure Cosmos DB
    • Azure Data Lake Storage
    • Database di Azure per MariaDB
    • Database di Azure per MySQL

    In alcuni casi d'uso, altri strumenti possono anche caricare i dati.

  8. Altri strumenti possono anche replicare e trasformare i dati:

    • Servizio Microsoft per l'architettura DRDA (Distributed Relational Database Architecture): questi servizi DRDA possono connettersi alla famiglia di database SQL di Azure e mantenere aggiornati i database locali. Questi servizi vengono eseguiti in una macchina virtuale (VM) locale o in una macchina virtuale di Azure.
    • Sql Server Migration Assistance (SSMA) per Db2: questo strumento esegue la migrazione di schemi e dati dai database IBM Db2 ai database di Azure.
    • SQL Server Integration Services (SSIS): questa piattaforma può estrarre, trasformare e caricare i dati.
    • Strumenti di terze parti: quando la soluzione richiede una replica quasi in tempo reale, è possibile usare strumenti di terze parti. Alcuni di questi agenti sono disponibili in Azure Marketplace.
  9. Azure Synapse Analytics gestisce i dati e lo rende disponibile per le applicazioni di Business Intelligence e Machine Learning.

Componenti

La soluzione usa i componenti seguenti:

Strumenti

  • Il servizio Microsoft per DRDA è un componente di Host Integration Server (HIS). Il servizio Microsoft per DRDA è un server applicazioni (AS) usato dai client DRDA Application Requester (AR). Esempi di client DRDA AR includono IBM Db2 per z/OS e Db2 per i5/OS. Questi client usano as per convertire le istruzioni SQL db2 ed eseguirle in SQL Server.

  • SSMA per Db2 automatizza la migrazione da Db2 ai servizi di database Microsoft. Durante l'esecuzione in una macchina virtuale, questo strumento converte gli oggetti di database Db2 in oggetti di database di SQL Server e crea tali oggetti in SQL Server. SSMA per Db2 esegue quindi la migrazione dei dati da Db2 ai servizi seguenti:

    • SQL Server 2012
    • SQL Server 2014
    • SQL Server 2016
    • SQL Server 2017 in Windows e Linux
    • SQL Server 2019 in Windows e Linux
    • Database SQL di Microsoft Azure
  • Azure Synapse Analytics è un servizio di analisi per data warehouse e sistemi di Big Data. Questo strumento usa tecnologie Spark e offre un'integrazione approfondita con Power BI, Azure Machine Learning e altri servizi di Azure.

Integratori di dati

  • Azure Data Factory è un servizio di integrazione dei dati ibrido. È possibile usare questa soluzione completamente gestita, serverless per creare, pianificare e orchestrare flussi di lavoro ETL ed ELT .

  • Azure Synapse Analytics è un servizio di analisi aziendale che accelera il tempo per ottenere informazioni dettagliate, tra data warehouse e sistemi Big Data. Azure Synapse riunisce le migliori tecnologie SQL (usate nel data warehousing aziendale), tecnologie Spark usate per Big Data, Esplora dati per l'analisi di log e serie temporali, pipeline per l'integrazione dei dati e ETL/ELT e un'integrazione approfondita con altri servizi di Azure, ad esempio Power BI, Azure Cosmos DB e Azure Machine Learning.

  • SQL Server Integration Services (SSIS) è una piattaforma per la creazione di soluzioni di integrazione e trasformazione dei dati a livello aziendale. È possibile usare SSIS per gestire, replicare, pulire e estrarre dati.

  • Azure Databricks è una piattaforma di analisi dei dati. In base al sistema di elaborazione distribuito open source di Apache Spark, Azure Databricks è ottimizzato per la piattaforma cloud di Azure. In un flusso di lavoro di analisi, Azure Databricks legge i dati da più origini e usa Spark per fornire informazioni dettagliate.

Archiviazione di dati

  • database SQL di Azure fa parte della famiglia SQL di Azure e viene creata per il cloud. Questo servizio offre tutti i vantaggi di una piattaforma completamente gestita e sempreverdi come servizio. Database SQL offre anche funzionalità automatizzate basate sull'intelligenza artificiale che ottimizzano le prestazioni e la durabilità. Le opzioni di calcolo serverless e di archiviazione Hyperscale ridimensionano automaticamente le risorse su richiesta.

  • Istanza gestita di SQL fa parte del portfolio di servizi SQL di Azure. Questo servizio di database cloud intelligente, scalabile combina la più ampia compatibilità del motore di SQL Server con tutti i vantaggi di una piattaforma distribuita come servizio completamente gestita e sempreverdi. Con Istanza gestita di SQL è possibile modernizzare le app esistenti su larga scala.

  • SQL Server in macchine virtuali di Azure consente di trasferire in modalità lift-and-shift i carichi di lavoro di SQL Server nel cloud con compatibilità del codice al 100%. Come parte della famiglia SQL di Azure, SQL Server in macchine virtuali di Azure offre prestazioni, sicurezza e analisi combinate di SQL Server con la flessibilità e la connettività ibrida di Azure. Con SQL Server in macchine virtuali di Azure, è possibile eseguire la migrazione di app esistenti o creare nuove app. È anche possibile accedere agli aggiornamenti e alle versioni più recenti di SQL Server, incluso SQL Server 2019.

  • Database di Azure per PostgreSQL è un servizio di database relazionale completamente gestito basato sull'edizione community del motore di database PostgreSQL open source. Con questo servizio, è possibile concentrarsi sull'innovazione delle applicazioni anziché sulla gestione dei database. È anche possibile ridimensionare il carico di lavoro in modo rapido e semplice.

  • Azure Cosmos DB è un database multimodello distribuito a livello globale. Con Azure Cosmos DB, le soluzioni possono ridimensionare in modo elastico e indipendente la velocità effettiva e l'archiviazione in un numero qualsiasi di aree geografiche. Questo servizio di database NoSQL completamente gestito garantisce latenze di millisecondi a cifra singola al novesimo percentile ovunque nel mondo.

  • Data Lake Archiviazione è un repository di archiviazione che contiene una grande quantità di dati nel formato nativo e non elaborato. Gli archivi data lake sono ottimizzati per la scalabilità fino a terabyte e petabyte di dati. I dati provengono generalmente da più origini eterogenee e possono essere strutturati, semistrutturati o non strutturati. Data Lake Archiviazione Gen2 combina le funzionalità di Data Lake Archiviazione Gen1 con Archiviazione BLOB. Questa soluzione Data Lake di nuova generazione offre semantica del file system, sicurezza a livello di file e scalabilità. Offre tuttavia anche funzionalità di archiviazione a livelli, disponibilità elevata e ripristino di emergenza di Archiviazione BLOB.

  • Database di Azure per MariaDB è un servizio di database relazionale basato sul cloud. Questo servizio si basa sul motore di database MariaDB Community Edition.

  • Database di Azure per MySQL è un servizio di database relazionale completamente gestito basato sull'edizione community del motore di database MySQL open source.

  • L'Archiviazione BLOB offre un archivio oggetti cloud ottimizzato che gestisce grandi quantità di dati non strutturati.

Rete

  • Un gateway dati locale funge da bridge che connette i dati locali con i servizi cloud. In genere, si installa il gateway in una macchina virtuale locale dedicata. I servizi cloud possono quindi usare in modo sicuro i dati locali.

  • Un runtime di integrazione è l'infrastruttura di calcolo usata da Data Factory per integrare i dati in ambienti di rete diversi. Data Factory usa IR self-hosted per copiare i dati tra archivi dati cloud e archivi dati in reti locali. È anche possibile usare le pipeline di Azure Synapse.

Dettagli dello scenario

La disponibilità e l'integrità dei dati svolgono un ruolo importante nella modernizzazione del mainframe e del midrange. Le strategie di data-first consentono di mantenere intatti e disponibili i dati durante la migrazione ad Azure. Per evitare effetti sulle applicazioni durante la modernizzazione, a volte è necessario replicare i dati rapidamente o mantenere sincronizzati i dati locali con i database di Azure.

In particolare, questa soluzione illustra quanto segue:

  • Estrazione: Connessione ing e estrazione da un database di origine.
  • Trasformazione:
    • Staging: archivia temporaneamente i dati nel formato originale e prepararli per la trasformazione.
    • Preparazione: trasformazione e modifica dei dati usando regole di mapping che soddisfano i requisiti del database di destinazione.
  • Caricamento: inserimento di dati in un database di destinazione.

Potenziali casi d'uso

Gli scenari di replica e sincronizzazione dei dati che possono trarre vantaggio da questa soluzione includono:

  • Architetture CQRS (Command Query Responsibility Segregation) che usano Azure per gestire tutti i canali di richiesta.
  • Ambienti che testano le applicazioni locali e le applicazioni rehosting o re-engineered in parallelo.
  • Sistemi locali con applicazioni strettamente associate che richiedono correzioni o modernizzazione in più fasi.

Consigli

Quando si usa Data Factory per estrarre i dati, seguire questa procedura per ottimizzare le prestazioni dell'attività di copia.

Considerazioni

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

Tenere presenti questi punti quando si considera questa architettura.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.

  • La gestione dell'infrastruttura, inclusa la disponibilità, è automatizzata nei database di Azure.

  • Per informazioni sulla protezione del failover fornita dal servizio Microsoft per DRDA, vedere Pooling e failover .

  • È possibile raggruppare il gateway dati locale e il runtime di integrazione per offrire garanzie di disponibilità più elevate.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.

Ottimizzazione dei costi

L'ottimizzazione dei costi riguarda l'analisi dei modi per ridurre le spese non necessarie e migliorare l'efficienza operativa. Per altre informazioni, vedere Panoramica del pilastro di ottimizzazione dei costi.

  • I modelli di determinazione dei prezzi variano tra i servizi dei componenti. Esaminare i modelli di determinazione dei prezzi dei servizi componenti disponibili per assicurarsi che i modelli di determinazione dei prezzi siano adatti al budget.

  • Per stimare il costo di implementazione di questa soluzione, usare il calcolatore dei prezzi di Azure.

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.

  • La gestione dell'infrastruttura, inclusa la scalabilità, è automatizzata nei database di Azure.

  • È possibile aumentare il numero di istanze del runtime di integrazione self-hosted associando l'istanza logica a più computer locali in modalità attiva-attiva.

  • È possibile raggruppare il gateway dati locale e il runtime di integrazione per la scalabilità.

Efficienza prestazionale

L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per altre informazioni, vedere Panoramica dell'efficienza delle prestazioni.

Passaggi successivi