Refactoring della struttura di accoppiamento mainframe IBM z/OS (CF) in Azure

Servizio Azure Kubernetes
Macchine virtuali di Azure
Rete virtuale di Azure

Questa architettura illustra come Azure può offrire prestazioni di scalabilità orizzontale e disponibilità elevata simili ai sistemi mainframe IBM z/OS con le funzionalità di accoppiamento (CFS).

Architettura

Architettura dei mainframe

Il diagramma seguente illustra l'architettura di un sistema mainframe IBM z/OS con Coupling Facility e Parallel Sysplex:

Diagramma che mostra l'architettura del mainframe IBM z/OS con i componenti Coupling Facility e Parallel Sysplex.

Scaricare un file di Visio di questa architettura.

Flusso di lavoro

  • L'input si sposta nel mainframe su TCP/IP, usando protocolli mainframe standard come TN3270 e HTTPS (A).
  • Le applicazioni riceventi possono essere sistemi batch o online (B). I processi batch possono distribuire o clonare tra più controller di dominio che condividono i dati nel livello dati. Il livello online può distribuire un'area CICS logica tra più controller di interfaccia di rete usando Parallel Sysplex CICS o CICSPlex.
  • Le applicazioni COBOL, PL/I, Assembler o compatibili (C) vengono eseguite nell'ambiente abilitato per Sysplex parallelo, ad esempio un CICSPlex.
  • Altri servizi dell'applicazione (D) possono anche usare la memoria condivisa in un cf.
  • I servizi dati abilitati per Sysplex paralleli come Db2 (E) consentono l'archiviazione dei dati con scalabilità orizzontale in un ambiente condiviso.
  • I servizi di middleware e utilità come MQSeries, gestione e stampa (F) vengono eseguiti in z/OS in ogni CEC.
  • Le partizioni logiche (LPAR) in ogni CEC (G) eseguono z/OS. Potrebbero esistere anche altri ambienti operativi come z/VM o altri motori come zIIP o IFL.
  • Un CEC si connette tramite cf (H) alla memoria e allo stato condivisi.
  • Cf (I) è un dispositivo fisico che connette più controller di rete per condividere la memoria.

Architettura di Azure

Il diagramma seguente illustra come i servizi di Azure possono offrire funzionalità e prestazioni simili ai mainframe z/OS con Parallel Sysplex e CFs:

Diagramma che mostra come i componenti mainframe IBM z/OS possono eseguire il mapping alle funzionalità di Azure.

Scaricare un file di Visio di questa architettura.

Flusso di lavoro

  1. L'input proviene da client remoti tramite ExpressRoute o da altre applicazioni di Azure. In entrambi i casi, TCP/IP è la connessione primaria al sistema.

    Un Web browser per accedere alle risorse di sistema di Azure sostituisce l'emulazione del terminale per gli utenti online e della domanda. Gli utenti accedono alle applicazioni basate sul Web sulla porta TLS 443. I livelli di presentazione delle applicazioni Web possono rimanere praticamente invariati, per ridurre al minimo il training degli utenti finali. In alternativa, è possibile aggiornare il livello di presentazione dell'applicazione Web con framework di esperienza utente moderni.

    Per l'accesso amministratore alle macchine virtuali di Azure Macchine virtuali, gli host Azure Bastion ottimizzano la sicurezza riducendo al minimo le porte aperte.

  2. In Azure l'accesso ai cluster di calcolo dell'applicazione è tramite Azure Load Balancer, consentendo alle risorse di calcolo con scalabilità orizzontale di elaborare il lavoro di input.

  3. Il tipo di cluster di calcolo dell'applicazione da usare dipende dal fatto che l'applicazione venga eseguita in macchine virtuali o in un cluster contenitore come Kubernetes. In genere, l'emulazione del sistema mainframe per le applicazioni scritte in PL/I o COBOL usano macchine virtuali, mentre le applicazioni sottoposti a refactoring in Java o .NET usano contenitori. Alcuni software di emulazione del sistema mainframe possono supportare anche la distribuzione nei contenitori.

  4. I server applicazioni, ad esempio Tomcat per Java o il monitoraggio dell'elaborazione delle transazioni CICS/IMS per COBOL, ricevono l'input e condividono lo stato e i dati dell'applicazione usando cache di Azure per Redis o Accesso diretto diretto a memoria remota (RDMA). Questa funzionalità è simile a CF per i mainframe.

  5. I servizi dati nei cluster di applicazioni consentono più connessioni a origini dati permanenti. Queste origini dati possono includere servizi dati PaaS (Platform-as-a-Service), ad esempio database Azure SQL e Azure Cosmos DB, database in macchine virtuali come Oracle o Db2 o repository Big Data come Databricks e Azure Data Lake. I servizi dati delle applicazioni possono anche connettersi a servizi di analisi dei dati di streaming come Kafka e Analisi di flusso di Azure.

    I servizi dati PaaS di Azure offrono archiviazione dati scalabile e a disponibilità elevata che più risorse di calcolo in un cluster possono condividere. Questi servizi possono anche essere con ridondanza geografica.

  6. I server applicazioni ospitano vari programmi applicativi basati sul linguaggio, ad esempio classi Java in Tomcat o programmi COBOL con verbi CICS nelle macchine virtuali di emulazione CICS.

  7. I servizi dati usano una combinazione di archiviazione a prestazioni elevate su dischi ssd Ultra o Premium, archiviazione file su Azure NetApp Files o File di Azure e BLOB standard, archiviazione e archiviazione di backup che possono essere ridondanti in locale o con ridondanza geografica.

  8. Archiviazione BLOB di Azure è una zona di destinazione comune per le origini dati esterne.

  9. Azure Data Factory inserisce e sincronizza i dati da più origini dati interne ed esterne.

  10. Azure Site Recovery fornisce il ripristino di emergenza per i componenti del cluster di macchine virtuali e contenitori.

Componenti

  • Azure ExpressRoute estende le reti locali nel cloud Microsoft tramite una connessione privata fornita da un partner di connettività. Con ExpressRoute è possibile stabilire connessioni a servizi cloud come Azure e Office 365.

  • Azure Bastion è un paaS completamente gestito di cui è stato effettuato il provisioning all'interno della rete virtuale. Bastion offre connettività RDP e SSH sicura e trasparente alle macchine virtuali nella rete virtuale direttamente dalla portale di Azure tramite TLS.

  • Azure Load Balancer distribuisce i flussi in ingresso dal front-end del servizio di bilanciamento del carico alle istanze del pool back-end, in base alle regole di bilanciamento del carico e ai probe di integrità configurati. Le istanze del pool back-end possono essere macchine virtuali o istanze di Azure in un set di scalabilità di macchine virtuali. Load Balancer è il singolo punto di contatto per i client.

    Load Balancer opera al livello 4 del modello OSI (Open Systems Interconnection). Sono disponibili servizi di bilanciamento del carico a livello di protocollo di rete di livello 7 e livello di protocollo di rete. Il tipo da usare dipende dal modo in cui l'input dell'applicazione raggiunge il punto di ingresso del cluster di calcolo.

  • Azure Macchine virtuali offre risorse di calcolo su richiesta e scalabili che offrono la flessibilità della virtualizzazione. Le macchine virtuali di Azure offrono una scelta di sistemi operativi, tra cui Windows e Linux.

    La maggior parte delle dimensioni delle macchine virtuali HPC (High Performance Computing) di Azure include un'interfaccia di rete per la connettività RDMA.

  • Le reti virtuali di Azure sono i blocchi predefiniti fondamentali per le reti private di Azure. Le reti virtuali consentono a risorse di Azure come le macchine virtuali di comunicare in modo sicuro tra loro, Internet e reti locali. Un Rete virtuale di Azure è simile a una rete locale tradizionale, ma con i vantaggi della scalabilità, della disponibilità e dell'isolamento dell'infrastruttura di Azure.

    Le interfacce di rete virtuale consentono alle macchine virtuali di Azure di comunicare con Internet, Azure e le risorse locali. Come in questa architettura, è possibile aggiungere diverse schede di interfaccia di rete a una macchina virtuale di Azure, in modo che le macchine virtuali figlio possano avere i propri dispositivi di interfaccia di rete dedicati e indirizzi IP.

  • servizio Azure Kubernetes (servizio Azure Kubernetes) è un servizio Kubernetes completamente gestito per la distribuzione e la gestione di applicazioni in contenitori in cluster di calcolo basati su contenitori.

  • cache di Azure per Redis è una cache in memoria completamente gestita che migliora le prestazioni e la scalabilità delle architetture a elevato utilizzo di dati. L'architettura corrente usa cache di Azure per Redis per condividere dati e stato tra le risorse di calcolo.

  • Azure SQL Database è un motore di database PaaS completamente gestito che esegue sempre la versione stabile più recente di SQL Server e il sistema operativo con patch, con disponibilità del 99,99%. database SQL gestisce l'aggiornamento, l'applicazione di patch, i backup, il monitoraggio e la maggior parte delle altre funzioni di gestione del database senza coinvolgere l'utente. Queste funzionalità PaaS consentono di concentrarsi sull'amministrazione e sull'ottimizzazione del database business critical, specifico del dominio.

  • collegamento privato di Azure per Azure SQL Database fornisce una connessione privata e diretta dalle macchine virtuali di Azure a Azure SQL Database isolato al backbone di rete di Azure.

  • Azure Cosmos DB è un servizio PaaS di Azure per i database NoSQL.

  • Database di Azure per PostgreSQL è un servizio PaaS di Azure per i database PostgreSQL.

  • I dischi gestiti di Azure sono volumi di archiviazione a livello di blocco gestiti da Azure nelle macchine virtuali di Azure. I tipi di dischi disponibili sono dischi Ultra, SSD Premium, SSD Standard e HDD Standard. Questa architettura funziona meglio con unità SSD Premium o SSD Ultra.

  • Azure Data Factory è una soluzione di integrazione dei dati serverless completamente gestita per l'inserimento, la preparazione e la trasformazione dei dati su larga scala.

  • File di Azure offre condivisioni file completamente gestite in un account di archiviazione di Azure accessibile dal cloud o dall'ambiente locale. Le distribuzioni di Windows, Linux e macOS possono montare le condivisioni file di Azure contemporaneamente e accedere ai file tramite il protocollo SMB (Server Message Block) standard del settore.

  • Analisi di flusso di Azure è un servizio di analisi basato su Azure per lo streaming dei dati.

  • Azure Databricks è un servizio PaaS Apache Spark per l'analisi di Big Data.

Dettagli dello scenario

Le strutture di accoppiamento (CFS) sono dispositivi fisici che connettono più server mainframe o central electronics complexes (CEC) con memoria condivisa, consentendo ai sistemi di aumentare le prestazioni. Le applicazioni scritte in linguaggi come COBOL e PL/I sfruttano facilmente queste funzionalità di scalabilità orizzontale strettamente associate.

I database IBM Db2 e i server CICS (Customer Information Control System) possono usare CFS con un sottosistema mainframe denominato Parallel Sysplex che combina la condivisione dei dati e il calcolo parallelo. Parallel Sysplex consente a un cluster di un massimo di 32 sistemi di condividere carichi di lavoro per prestazioni elevate, disponibilità elevata e ripristino di emergenza. I file CFS mainframe con Parallel Sysplex si trovano in genere nello stesso data center, con stretta prossimità tra le schede di cardinalità, ma possono anche estendersi tra data center.

Le risorse di Azure possono offrire prestazioni di scalabilità orizzontale simili con dati condivisi e disponibilità elevata. I cluster di calcolo di Azure condividono la memoria tramite meccanismi di memorizzazione nella cache dei dati come cache di Azure per Redis e usano tecnologie di dati scalabili come Azure SQL Database e Azure Cosmos DB. Azure può implementare set di disponibilità e gruppi, combinati con funzionalità con ridondanza geografica, per estendere il calcolo con scalabilità orizzontale e la disponibilità elevata ai data center di Azure distribuiti.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un 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.

Disponibilità

Questa architettura usa Azure Site Recovery per eseguire il mirroring delle macchine virtuali di Azure in un'area secondaria di Azure per il failover rapido e il ripristino di emergenza in caso di errore di un data center di Azure.

Resilienza

La resilienza è incorporata in questa soluzione a causa dei servizi di bilanciamento del carico. Se una presentazione o un server di transazione non riesce, altri server dietro l'Load Balancer possono eseguire i carichi di lavoro.

Scalabilità

È possibile aumentare la velocità effettiva dei set di server. Per altre informazioni, vedere Set di scalabilità di macchine virtuali.

Sicurezza

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

  • Questa soluzione usa un gruppo di sicurezza di rete di Azure per gestire il traffico tra le risorse di Azure. Per altre informazioni, vedere Gruppi di sicurezza di rete.

  • collegamento privato per Azure SQL Database fornisce una connessione privata e diretta isolata al backbone di rete di Azure dalle macchine virtuali di Azure al database Azure SQL.

  • Azure Bastion ottimizza la sicurezza degli accessi amministrativi riducendo al minimo le porte aperte. Bastion offre connettività RDP/SSH facile e sicura alle macchine virtuali della rete virtuale direttamente dal portale di Azure tramite TLS.

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.

Passaggi successivi