Le organizzazioni che eseguono la migrazione da mainframe z/TPF al cloud necessitano di una piattaforma affidabile in grado di elaborare transazioni con volumi elevati. Questa soluzione offre applicazioni e database abilitati per il cloud equivalenti funzionalmente alle controparti legacy z/TPF.
Architettura
Architettura dei mainframe
Scaricare un file di Visio di questa architettura.
Flusso di dati
- Gli utenti inserisce dati su TCP/IP, inclusi TN3270 e HTTP(S).
- I dati sono input nel mainframe tramite protocolli mainframe standard.
- Le applicazioni ricevono i dati. Queste applicazioni sono in genere solo sistemi online. Assembler, C++o Saber Talk vengono eseguiti in un ambiente abilitato.
- Dati nonSQL e servizi di database, ad esempio Azure Cosmos DB, archivia i dati.
- I servizi middleware e di utilità gestiscono attività come archiviazione su nastro, accodamento, output e servizi Web all'interno dell'ambiente.
- L'accoppiamento di memoria condivisa coordina più processori.
- Le partizioni vengono usate per eseguire carichi di lavoro separati o separare i tipi di lavoro all'interno dell'ambiente.
- I sistemi operativi forniscono interfacce tra il motore e il software eseguito.
Architettura di Azure
Scaricare un file di Visio di questa architettura.
La migrazione di sistemi mainframe in Azure richiede una piattaforma che supporti un meccanismo di condivisione della memoria a prestazioni elevate e uno stack IP ad alte prestazioni con bassa latenza (microsecondi) per offrire prestazioni a livello di z/TPF.
Il mainframe z/TPF usa una funzionalità di memoria condivisa denominata struttura di accoppiamento insieme a uno stack IP a bassa latenza denominato HiperSockets. Questa architettura usa driver che forniscono i/O condivisi e memoria tra più nodi per implementare funzionalità simili.
Il database NoSQL di Azure Cosmos DB viene usato per l'archiviazione ad alte prestazioni. Questa soluzione di archiviazione offre la persistenza e il recupero di dati ad alte prestazioni e velocità elevate.
Flusso di dati
- Input, in genere tramite Azure ExpressRoute da client remoti o tramite altre applicazioni attualmente in esecuzione in Azure. In entrambi i casi, le connessioni TCP/IP forniscono il mezzo principale di connessione al sistema. L'accesso utente per le applicazioni basate sul Web viene fornito sulla porta TLS 443. Per migliorare la sicurezza riducendo al minimo le porte aperte, è possibile usare gli host Azure Bastion per l'accesso amministratore alle macchine virtuali.
- In Azure viene usato un servizio di bilanciamento del carico di Azure per accedere ai cluster di calcolo dell'applicazione. Kubernetes offre un solido bilanciamento del carico e scalabilità. In questo caso, il servizio di bilanciamento del carico front-end offre un altro livello di funzionalità di failover per mantenere la continuità aziendale in caso di arresto di un intero servizio cluster.
- Le macchine virtuali, Kubernetes o i set di scalabilità di macchine virtuali vengono usati per la distribuzione.
- I server applicazioni ricevono l'input nei cluster di calcolo e condividono lo stato e i dati dell'applicazione usando cache di Azure per Redis o Remote Direct Memory Access (RDMA).
- L'architettura viene eseguita in Red Hat Enterprise Linux, SUSE Linux o Windows.
- Un singolo driver di virtualizzazione I/O radice (SR-IOV) viene usato per soddisfare i requisiti di prestazioni. SR-IOV consente a più macchine virtuali di condividere le stesse risorse hardware fisiche PCIe. Il driver usato qui è RDMA su Ethernet convergente (RoCE) o InfiniBand su Ethernet (IBoE). Questi driver consentono la comunicazione tra due host nello stesso dominio di trasmissione Ethernet tramite un livello di collegamento Ethernet.
- I driver RDMA/InfiniBand o RoCE consentono ai due host di condividere la memoria come un pool.
- cache di Azure per Redis offre una soluzione di memorizzazione nella cache che migliora il tempo di risposta dell'applicazione archiviando copie dei dati usati più di frequente e dello stato della sessione.
- I cluster di Service Fabric forniscono l'orchestrazione dei contenitori.
Componenti
Questa soluzione include i componenti di Azure seguenti:
- Azure ExpressRoute consente di estendere la rete locale in Azure tramite una connessione in fibra privata dedicata da un provider di servizi di connettività. ExpressRoute stabilisce connessioni a servizi cloud come Azure e Microsoft 365.
- Azure Bastion è un servizio completamente gestito che consente di proteggere l'accesso remoto alle macchine virtuali.
- Azure Load Balancer distribuisce il traffico in ingresso ai cluster di risorse di calcolo. È possibile definire regole e altri criteri per distribuire il traffico.
- Il servizio Azure Kubernetes è il servizio completamente gestito di Kubernetes per la distribuzione e la gestione di applicazioni in contenitori. Il servizio Azure Kubernetes offre Kubernetes serverless, un'esperienza di CI/CD integrata, oltre a sicurezza e governance di livello aziendale.
- Rete virtuale di Azure è il blocco predefinito fondamentale per le reti private di Azure. Le macchine virtuali di Azure nelle reti virtuali possono comunicare, con sicurezza avanzata, tra loro, Internet e reti locali. Una rete virtuale è simile a una rete locale tradizionale, ma offre vantaggi dell'infrastruttura di Azure, ad esempio scalabilità, disponibilità elevata e isolamento.
- Cache di Azure per Redis aggiunge un livello di memorizzazione nella cache rapido all'architettura dell'applicazione per gestire volumi di grandi dimensioni ad alta velocità. cache di Azure per Redis ridimensiona le prestazioni in modo semplice e conveniente, offrendo i vantaggi di un servizio completamente gestito.
- I database di Azure offrono una scelta di database relazionali e NoSQL completamente gestiti in base alle esigenze moderne delle applicazioni. La gestione automatizzata dell'infrastruttura offre scalabilità, disponibilità e sicurezza.
- Azure Cosmos DB è il database NoSQL veloce completamente gestito con API aperte per qualsiasi scala.
Alternative
Questa soluzione supporta la distribuzione in contenitori, macchine virtuali o set di scalabilità di macchine virtuali. A differenza delle macchine virtuali, i contenitori e i set di scalabilità possono essere ridimensionati rapidamente. Poiché l'unità di ridimensionamento è costituita da contenitori, l'utilizzo dell'infrastruttura è ottimizzato.
È possibile usare il livello di presentazione dell'applicazione Web legacy praticamente invariato per ridurre al minimo il training degli utenti. In alternativa, è possibile aggiornare il livello di presentazione dell'applicazione Web con framework di esperienza utente moderni.
Dettagli dello scenario
I sistemi mainframe sono costosi da gestire e il pool di sviluppatori che conoscono questi sistemi diminuisce. Tuttavia, le organizzazioni che eseguono la migrazione dai mainframe z/TPF al cloud necessitano di una piattaforma affidabile in grado di elaborare transazioni con volumi elevati. Questa soluzione offre applicazioni e database abilitati per il cloud equivalenti funzionalmente alle controparti legacy z/TPF.
La soluzione è progettata per soddisfare questi requisiti:
- Le applicazioni con refactoring devono rimanere funzionalmente equivalenti alle controparti originali.
- Le applicazioni di cui è stato eseguito il refactoring devono offrire prestazioni o migliori rispetto alle applicazioni originali.
- Le applicazioni con refactoring devono essere pronte per il cloud e distribuite tramite una toolchain DevOps standard e implementare le procedure consigliate per DevOps.
Potenziali casi d'uso
Ecco alcuni scenari che possono trarre vantaggio dal refactoring in Azure:
- Modernizzare l'infrastruttura ed evitare i costi elevati, le limitazioni e la rigidità associati ai mainframe.
- Ridurre le spese operative e in conto capitale.
- Spostare i carichi di lavoro del mainframe nel cloud senza gli effetti collaterali delle riscritture.
- Eseguire la migrazione di applicazioni cruciali ma mantenere la continuità con altre applicazioni locali.
- Sfruttare i vantaggi della scalabilità orizzontale e verticale fornita da Azure.
- Implementare soluzioni che forniscono il ripristino di emergenza.
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.
Affidabilità
L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'affidabilità.
Kubernetes offre un'utilità di scalabilità automatica del cluster che regola il numero di nodi necessari in base alle risorse di calcolo richieste nel pool di nodi. Il ridimensionamento automatico del cluster monitora il server API Metriche ogni 10 secondi per determinare se sono necessarie modifiche nel conteggio dei nodi.
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.
Questa architettura è basata principalmente su Kubernetes, che include componenti di sicurezza come gli standard di sicurezza dei pod e i segreti. Azure offre funzionalità di sicurezza aggiuntive, ad esempio Microsoft Entra ID, Microsoft Defender per contenitori, Criteri di Azure, Azure Key Vault, gruppi di sicurezza di rete e aggiornamenti del cluster orchestrati.
Azure Bastion migliora la sicurezza per l'accesso amministratore riducendo al minimo le porte aperte. Azure Bastion offre connettività RDP o SSH altamente sicura alle macchine virtuali di rete virtuale direttamente dalla portale di Azure, tramite TLS.
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.
Usare il calcolatore prezzi di Azure per stimare i costi per l'implementazione di questa soluzione.
Eccellenza operativa
L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e lo mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.
Oltre a supportare l'adozione più rapida del cloud, il refactoring promuove anche l'adozione dei principi di lavoro DevOps e Agile. Offre la massima flessibilità nelle opzioni di sviluppo e distribuzione di produzione.
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.
Questa architettura è progettata per transazioni con volumi elevati. Usa le risorse di calcolo di Azure e le operazioni di I/O condivise e la memoria per creare un ambiente accoppiato che soddisfi queste esigenze.
Per soddisfare i requisiti delle prestazioni z/TPS, questa architettura usa cluster Kubernetes.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Marlon Johnson | Senior Program Manager
Altri contributori:
- Mick Alberts | Writer tecnico
- Bhaskar Bandam | Senior Program Manager
Passaggi successivi
Per ulteriori informazioni, contatta legacy2azure@microsoft.com.
Vedere queste risorse aggiuntive:
- Servizio Azure Kubernetes (AKS)
- Introduzione ad Azure Cosmos DB
- Database di Azure
- Che cos'è Rete virtuale di Azure?