Condividi tramite


Spostare il calcolo del mainframe in Azure

I mainframe hanno una reputazione di elevata affidabilità e disponibilità e continuano a essere la spina dorsale di molte aziende. Spesso si pensa di avere una scalabilità e una potenza di calcolo quasi illimitata. Tuttavia, alcune aziende hanno superato la capacità dei mainframe più grandi disponibili. In questo modo, Azure offre flessibilità, copertura e risparmi dell'infrastruttura.

Per eseguire carichi di lavoro mainframe in Microsoft Azure, è necessario conoscere il confronto tra le funzionalità di calcolo del mainframe e Azure. In base a un mainframe IBM z14 (il modello più recente a partire da questo articolo), questo articolo descrive come ottenere risultati confrontabili in Azure.

Per iniziare, prendere in considerazione gli ambienti affiancati. La figura seguente confronta un ambiente mainframe per l'esecuzione di applicazioni con un ambiente di hosting di Azure.

I servizi e gli ambienti di emulazione di Azure offrono un supporto paragonabile e semplificano la migrazione

La potenza dei mainframe viene spesso usata per i sistemi OLTP (Online Transaction Processing) che gestiscono milioni di aggiornamenti per migliaia di utenti. Queste applicazioni usano spesso software per l'elaborazione delle transazioni, la gestione dello schermo e la voce del modulo. Possono usare un sistema CICS (Customer Information Control System), Information Management System (IMS) o un pacchetto di interfaccia delle transazioni (TIP).

Come illustrato nella figura, un emulatore TPM in Azure può gestire carichi di lavoro CICS e IMS. Un emulatore di sistema batch in Azure svolge il ruolo di JCL (Job Control Language). Viene eseguita la migrazione dei dati mainframe ai database di Azure, ad esempio il database SQL di Azure. I servizi di Azure o altri software ospitati in Macchine virtuali di Azure possono essere usati per la gestione del sistema.

Calcolo del mainframe a colpo d'occhio

Nel mainframe z14, i processori sono disposti in un massimo di quattro cassetti. Un cassetto è semplicemente un cluster di processori e chipset. Ogni cassetto può avere sei chip di processore centrale attivo (CP) e ogni CP ha 10 chip di controller di sistema (SC). Nella terminologia Intel x86 sono disponibili sei socket per cassetto, 10 core per socket e quattro cassetto. Questa architettura fornisce l'equivalente approssimativo di 24 socket e 240 core, massimo, per z14.

Il cp z14 veloce ha una velocità di clock di 5,2 GHz. In genere, un z14 viene fornito con tutti i CP nella casella. Sono attivati in base alle esigenze. Un cliente viene in genere addebitato per almeno quattro ore di tempo di calcolo al mese nonostante l'utilizzo effettivo.

Un processore mainframe può essere configurato come uno dei tipi seguenti:

  • Processore per utilizzo generico (GP)
  • System z Integrated Information Processor (zIIP)
  • Processore Integrated Facility for Linux (IFL)
  • System Assist Processor (SAP)
  • Processore ICF (Integrated Coupling Facility)

Ridimensionamento delle risorse di calcolo del mainframe

I mainframe IBM offrono la possibilità di aumentare fino a 240 core (la dimensione z14 corrente per un singolo sistema). Inoltre, i mainframe IBM possono aumentare il numero di istanze tramite una funzionalità denominata Coupling Facility (CF). Il CF consente a più sistemi mainframe di accedere contemporaneamente agli stessi dati. Usando CF; il mainframe parallel sysplex raggruppa i processori mainframe nei cluster. Quando questa guida è stata scritta, la funzionalità Parallel Sysplex supportava 32 raggruppamenti di 64 processori ciascuno. In questo modo è possibile raggruppare fino a 2.048 processori per aumentare la capacità di calcolo.

Un CF consente ai cluster di calcolo di condividere i dati con accesso diretto. Viene usato per bloccare le informazioni, le informazioni della cache e l'elenco delle risorse dati condivise. Un sysplex parallelo che usa uno o più CFS può essere considerato come un cluster di calcolo con scalabilità orizzontale "tutto condiviso". Per altre informazioni su queste funzionalità, vedere Parallel Sysplex su IBM Z nel sito Web IBM.

Le applicazioni possono usare queste funzionalità per offrire prestazioni di scalabilità orizzontale e disponibilità elevata. Per informazioni su come CICS può usare Parallel Sysplex con CF, scaricare il redbook IBM CICS and the Coupling Facility: Beyond the Basics.

Calcolo di Azure in breve

Alcune persone pensano erroneamente che i server basati su Intel non siano potenti come mainframe. Tuttavia, i nuovi sistemi basati su Intel ad alta densità di core hanno una capacità di elaborazione equivalente a quella dei mainframe. Questa sezione descrive le opzioni IaaS (Infrastructure-as-a-Service) di Azure per il calcolo e l'archiviazione. Azure offre anche opzioni PaaS (Platform-as-a-Service), ma questo articolo è incentrato sulle scelte IaaS che offrono capacità di mainframe paragonabile.

Le macchine virtuali di Azure offrono potenza di calcolo in un intervallo di dimensioni e tipi. In Azure, una CPU virtuale (vCPU) equivale approssimativamente a un core in un mainframe.

Attualmente, l'intervallo di dimensioni delle macchine virtuali di Azure è compreso tra 1 e 128 vCPU. I tipi di macchina virtuale sono ottimizzati per carichi di lavoro specifici. Ad esempio, l'elenco seguente mostra i tipi di macchina virtuale (correnti a partire da questo articolo) e i relativi usi consigliati:

Dimensione Tipo e descrizione
Serie D Utilizzo generico con 64 vCPU e fino a 3,5 GHz velocità di clock
Serie E Memoria ottimizzata con fino a 64 vCPU
Serie F Calcolo ottimizzato con fino a 64 vCPU e velocità di clock da 3,7 GHz
Serie H Ottimizzato per applicazioni HPC (High Performance Computing)
Serie L Archiviazione ottimizzata per applicazioni a velocità effettiva elevata supportate da database come NoSQL
Serie M Macchine virtuali ottimizzate per il calcolo e la memoria più grandi con un massimo di 128 vCPU

Per informazioni dettagliate sulle macchine virtuali disponibili, vedere Serie di macchine virtuali.

Un mainframe z14 può avere fino a 240 core. Tuttavia, i mainframe z14 quasi mai usano tutti i core per una singola applicazione o carico di lavoro. Un mainframe separa invece i carichi di lavoro in partizioni logiche (LPAR) e le LPAR hanno valutazioni, MIPS (Milioni di istruzioni al secondo) o MSU (Million Service Unit). Quando si determinano le dimensioni di VM confrontabili necessarie per eseguire un carico di lavoro mainframe in Azure, tenere conto della classificazione MIPS (o MSU).

Di seguito sono riportate le stime generali:

  • 150 MIPS per vCPU

  • 1.000 MIPS per processore

Per determinare le dimensioni corrette della macchina virtuale per un determinato carico di lavoro in un LPAR, ottimizzare prima di tutto la macchina virtuale per il carico di lavoro. Determinare quindi il numero di vCPU necessari. Una stima conservativa è 150 MIPS per vCPU. In base a questa stima, ad esempio, una macchina virtuale serie F con 16 vCPU potrebbe supportare facilmente un carico di lavoro IBM Db2 proveniente da un LPAR con 2.400 MIPS.

Aumento delle prestazioni di calcolo di Azure

Le macchine virtuali serie M possono aumentare fino a 128 vCPU (al momento della scrittura di questo articolo). Usando la stima conservativa di 150 MIPS per vCPU, la macchina virtuale serie M equivale a circa 19.000 MIPS. La regola generale per stimare MIPS per un mainframe è 1.000 MIPS per processore. Un mainframe z14 può avere fino a 24 processori e fornire circa 24.000 MIPS per un singolo sistema mainframe.

Il mainframe z14 più grande ha circa 5.000 MIPS più della macchina virtuale più grande disponibile in Azure. È tuttavia importante confrontare il modo in cui vengono distribuiti i carichi di lavoro. Se un sistema mainframe ha sia un'applicazione che un database relazionale, vengono in genere distribuiti nello stesso mainframe fisico, ognuno nel proprio LPAR. La stessa soluzione in Azure viene spesso distribuita usando una macchina virtuale per l'applicazione e una macchina virtuale separata e ridimensionata in modo adeguato per il database.

Ad esempio, se un sistema VCPU M64 supporta l'applicazione e viene usata una vCPU M96 per il database, sono necessarie circa 150 vCPU o circa 24.000 MIPS come illustrato nella figura seguente.

Confronto tra distribuzioni del carico di lavoro di 24.000 MIPS

L'approccio consiste nel eseguire la migrazione di LPAR a singole macchine virtuali. Azure aumenta quindi facilmente le dimensioni necessarie per la maggior parte delle applicazioni distribuite in un singolo sistema mainframe.

Scalabilità orizzontale di calcolo di Azure

Uno dei vantaggi offerti da una soluzione basata su Azure è la possibilità di aumentare il numero di istanze. Il ridimensionamento rende disponibile una capacità di calcolo quasi illimitata per un'applicazione. Azure supporta più metodi per aumentare la potenza di calcolo:

  • Bilanciamento del carico in un cluster. In questo scenario, un'applicazione può usare un servizio di bilanciamento del carico o un gestore di risorse per distribuire il carico di lavoro tra più macchine virtuali in un cluster. Se è necessaria una maggiore capacità di calcolo, al cluster vengono aggiunte altre macchine virtuali.

  • Set di scalabilità di macchine virtuali. In questo scenario di burst, un'applicazione può essere ridimensionata in risorse di calcolo aggiuntive in base all'utilizzo delle macchine virtuali. Quando la domanda diminuisce, anche il numero di macchine virtuali in un set di scalabilità può scendere, garantendo un uso efficiente della potenza di calcolo.

  • Ridimensionamento PaaS. Le offerte PaaS di Azure ridimensionano le risorse di calcolo. Ad esempio, Azure Service Fabric alloca le risorse di calcolo per soddisfare gli aumenti del volume di richieste.

  • Cluster Kubernetes. Le applicazioni in Azure possono usare cluster Kubernetes per i servizi di calcolo per le risorse specificate. Il servizio Azure Kubernetes è un servizio gestito che orchestra nodi, pool e cluster Kubernetes in Azure.

Per scegliere il metodo appropriato per aumentare le risorse di calcolo, è importante comprendere in che modo Azure e i mainframe differiscono. La chiave è la modalità, o se, i dati sono condivisi dalle risorse di calcolo. In Azure i dati (per impostazione predefinita) non vengono in genere condivisi da più macchine virtuali. Se la condivisione dei dati è richiesta da più macchine virtuali in un cluster di calcolo con scalabilità orizzontale, i dati condivisi devono trovarsi in una risorsa che supporta questa funzionalità. In Azure la condivisione dei dati comporta l'archiviazione come illustrato nella sezione seguente.

Ottimizzazione delle risorse di calcolo di Azure

È possibile ottimizzare ogni livello di elaborazione in un'architettura di Azure. Usare il tipo più adatto di macchine virtuali e funzionalità per ogni ambiente. La figura seguente illustra un modello potenziale per la distribuzione di macchine virtuali in Azure per supportare un'applicazione CICS che usa Db2. Nel sito primario, le macchine virtuali per l'ambiente di produzione, pre-produzione e test sono distribuite con disponibilità elevata. Il sito secondario è destinato al backup e al ripristino di emergenza.

Ogni livello può anche fornire servizi di ripristino di emergenza appropriati. Ad esempio, le macchine virtuali di produzione e dei database possono richiedere il ripristino a caldo, mentre le macchine virtuali di test e sviluppo supportano il ripristino a freddo.

Distribuzione a disponibilità elevata che supporta il ripristino di emergenza

Passaggi successivi

Risorse IBM

Azure Government

Risorse per la migrazione aggiuntive