Condividi tramite


Refactoring generale del mainframe in Azure

File di Azure
Azure Load Balancer
Database SQL di Microsoft Azure
Archiviazione di Azure
Macchine virtuali di Azure

L'architettura seguente illustra un approccio di refactoring generale che può usare il servizio Azure Kubernetes o macchine virtuali di Azure. Questa scelta dipende dalla portabilità delle applicazioni esistenti e dalle preferenze. Il refactoring può accelerare lo spostamento in Azure convertendo automaticamente il codice in Java o .NET e convertendo i database pre-relazionali in database relazionali.

Architettura dei mainframe

Diagramma che mostra i componenti di un tipico sistema mainframe.

Scaricare un file di Visio di questa architettura.

Workflow

Il flusso di lavoro seguente corrisponde al diagramma precedente:

  • Un: Gli utenti locali accedono al mainframe tramite Transmission Control Protocol/Internet Protocol (TCP/IP) usando protocolli mainframe standard come TN3270 e HTTPS.

  • B: La ricezione di applicazioni può essere sistemi batch o sistemi online.

  • C: Gli ambienti abilitati supportano coBOL (Common Business Oriented Language), Programming Language One (PL/I), Assembler o linguaggi compatibili.

  • D: I dati e i servizi di database tipici includono sistemi di database gerarchici o di rete, file di dati indicizzati o flat e database relazionali.

  • E: I servizi comuni includono l'implementazione del programma, le operazioni di input/output, il rilevamento degli errori e la protezione.

  • F: I servizi middleware e di utilità gestiscono l'archiviazione su nastro, la coda, l'output e i servizi Web.

  • G: I sistemi operativi sono l'interfaccia tra il motore di calcolo e il software.

  • H: Le partizioni eseguono carichi di lavoro separati o separano i tipi di lavoro all'interno dell'ambiente.

Architettura di Azure con refactoring

Diagramma che mostra i componenti di un sistema mainframe refactoring in Azure.

L'immagine è un diagramma dettagliato che mostra i componenti di un sistema mainframe sottoposto a refactoring in Azure. La sezione Locale include icone per l'esplorazione Web e l'accesso al firewall tramite la porta TCP 443 ad Azure. La sezione Azure contiene diversi componenti: servizi di bilanciamento del carico di Azure, un cluster del servizio Azure Kubernetes, macchine virtuali e un gruppo di sicurezza di rete. In questa sezione sono presenti due sottosezioni. Una sottosezione contiene un nodo Kubernetes, un server app Java, servizi Java, classi Java partner, dischi gestiti SSD, rete accelerata con RDMA, File di Azure, Azure NetApp Files e CIFS o NFS. La seconda sottosezione contiene il server app refactoring, i runtime delle transazioni client, l'integrazione dei servizi dati dei partner, applicazioni come COBOL e PL/I App 1 e App 2, disco gestito SSD, rete accelerata con RDMA, File di Azure e CIFS o NFS. Più frecce affiancate connettono queste sottosezioni ad altre sezioni del diagramma. La sezione Database SQL di Azure include un server di database primario e un server di database secondario, connessi tramite frecce affiancate alla sezione Collegamento privato per il database SQL di Azure. La sezione Account di archiviazione BLOB di Azure contiene una zona di destinazione da origini esterne e contenitori BLOB di Azure. La sezione servizi dati include Azure Data Factory, l'account di archiviazione File di Azure e Azure Site Recovery. Una sezione che raggruppa Microsoft Entra ID, Rete di Azure, Analisi di flusso di Azure, Azure Databricks e Power BI può essere integrata con il sistema.

Scaricare un file di Visio di questa architettura.

Workflow

Il flusso di lavoro seguente corrisponde al diagramma precedente:

  1. L'input proviene da client remoti tramite Azure ExpressRoute o da altri utenti di Azure. TCP/IP è il modo principale per connettersi al sistema.

    • Gli utenti locali possono accedere alle applicazioni basate sul Web tramite la porta TLS (Transport Layer Security) 443. I livelli di presentazione delle applicazioni Web possono rimanere invariati per ridurre al minimo il training degli utenti. In alternativa, è possibile aggiornare i livelli di presentazione con framework di esperienza utente moderni.

    • L'accesso amministrativo locale usa host Azure Bastion per ottimizzare la sicurezza riducendo al minimo le porte aperte.

    • Gli utenti di Azure si connettono al sistema tramite il peering di reti virtuali.

  2. In Azure, Azure Load Balancer gestisce l'accesso ai cluster di calcolo dell'applicazione. Load Balancer supporta le risorse di calcolo scale-out per gestire l'input. È possibile usare un servizio di bilanciamento del carico a livello di applicazione di livello 7 o a livello di rete di livello 4, a seconda di come l'input dell'applicazione raggiunge il punto di ingresso del cluster di calcolo.

  3. I cluster di calcolo delle applicazioni possono essere eseguiti in macchine virtuali di Azure o eseguiti in contenitori nei cluster del servizio Azure Kubernetes. L'emulazione del sistema mainframe per le applicazioni PL/I o COBOL usa in genere macchine virtuali. Le applicazioni refactoring in Java o .NET usano contenitori. Alcuni software di emulazione del sistema mainframe supportano anche la distribuzione nei contenitori. Le risorse di calcolo usano dischi SSD Premium di Azure o Archiviazione su disco Ultra di Azure con rete accelerata e accesso diretto alla memoria remota (RDMA).

  4. I server applicazioni nei cluster di calcolo ospitano le applicazioni in base alle funzionalità del linguaggio, ad esempio classi Java o programmi COBOL. I server ricevono l'input dell'applicazione e condividono lo stato e i dati dell'applicazione usando Cache Redis di Azure o RDMA.

  5. I servizi dati nei cluster di applicazioni supportano più connessioni a origini dati permanenti. Collegamento privato di Azure fornisce la connettività privata dall'interno della rete virtuale ai servizi di Azure. Le origini dati possono includere:

    • Servizi dati PaaS (Platform as a Service), ad esempio database SQL di Azure, Azure Cosmos DB e Database di Azure per PostgreSQL - Hyperscale.

    • Database in macchine virtuali, ad esempio Oracle o Db2.

    • Repository di Big Data come Azure Databricks e Azure Data Lake Storage.

    • Servizi dati in streaming come Apache Kafka e Analisi di flusso di Azure.

  6. L'archiviazione dei dati può essere con ridondanza locale o con ridondanza geografica, a seconda dell'utilizzo. L'archiviazione dei dati può usare una combinazione di:

    • Archiviazione ad alte prestazioni con Archiviazione su disco Ultra o SSD Premium.

    • Archiviazione file con Azure NetApp Files o File di Azure.

    • Archiviazione standard, incluse le opzioni blob, archivio e backup.

  7. I servizi dati PaaS di Azure offrono un'archiviazione dati scalabile e a disponibilità elevata che è possibile condividere tra le risorse del cluster di calcolo. Questo tipo di archiviazione può anche essere configurato con la ridondanza geografica.

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

    • Azure Data Factory supporta l'inserimento dei dati e la sincronizzazione di più origini dati di Azure ed esterne.

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

  9. I servizi come Microsoft Entra ID, Rete di Azure, Analisi di flusso, Azure Databricks e Power BI possono integrarsi facilmente con il sistema modernizzato.

Componenti

Questo esempio include i componenti di Azure seguenti. Diversi di questi componenti e flussi di lavoro sono intercambiabili o facoltativi, a seconda dello scenario in uso.

  • ExpressRoute è un servizio che estende le reti locali in Azure tramite una connessione fiber privata e dedicata da un provider di connettività. In questa architettura ExpressRoute stabilisce connessioni ai servizi cloud Microsoft come Azure e Microsoft 365.

  • Azure Bastion è un servizio PaaS che offre connettività RDP (Remote Desktop Protocol) o SSH (Secure Shell) facile alle macchine virtuali di rete virtuale dal portale di Azure tramite TLS. In questa architettura Azure Bastion ottimizza la sicurezza dell'accesso amministrativo riducendo al minimo le porte aperte.

  • Load Balancer è un servizio che distribuisce il traffico in ingresso ai cluster di risorse di calcolo. Usare questo componente per definire regole e altri criteri per distribuire il traffico. Load Balancer consente alle risorse di calcolo con scalabilità orizzontale di elaborare il lavoro di input, garantendo una distribuzione efficiente del carico.

  • Il servizio Azure Kubernetes è un servizio Kubernetes completamente gestito per la distribuzione e la gestione di applicazioni in contenitori. In questa architettura il servizio Azure Kubernetes offre kubernetes serverless, un'esperienza integrata di integrazione continua e recapito continuo (CI/CD) e sicurezza e governance di livello aziendale.

  • Macchine virtuali di Azure è un servizio che offre molte dimensioni e tipi di risorse di calcolo scalabili su richiesta. Questo componente offre la flessibilità della virtualizzazione senza la necessità di acquistare e gestire hardware fisico.

  • La rete virtuale di Azure funge da blocco predefinito fondamentale delle reti private di Azure. Una rete virtuale è simile a una rete locale tradizionale, ma offre vantaggi dell'infrastruttura di Azure, ad esempio scalabilità, disponibilità elevata e isolamento. Questo componente consente alle macchine virtuali di Azure all'interno delle reti virtuali di comunicare in modo più sicuro tra loro, Internet e reti locali.

  • Collegamento privato è un servizio che fornisce connettività privata da una rete virtuale ai servizi di Azure. In questa architettura il collegamento privato semplifica l'architettura di rete e protegge la connessione tra gli endpoint di Azure eliminando l'esposizione alla rete Internet pubblica.

  • Cache Redis di Azure è un servizio completamente gestito che aggiunge un livello di memorizzazione nella cache rapida all'architettura dell'applicazione per gestire volumi di grandi dimensioni ad alta velocità. Questo componente dell'architettura ridimensiona le prestazioni in modo semplice e conveniente.

  • Archiviazione di Azure è un servizio basato sul cloud che offre archiviazione cloud scalabile e sicura per tutti i dati, le applicazioni e i carichi di lavoro. In questa architettura Archiviazione fornisce l'infrastruttura di archiviazione necessaria per vari tipi di dati e applicazioni.

    • Archiviazione su disco di Azure è un servizio di archiviazione a blocchi durevole e a prestazioni elevate per le applicazioni business critical. 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 Archiviazione su disco Ultra, SSD Premium, UNITÀ SSD Standard di Azure e HDD Standard di Azure. Questa architettura usa dischi SSD Premium o Archiviazione su disco Ultra.

    • File di Azure è un servizio di archiviazione file completamente gestito basato sul cloud che fornisce condivisioni file nel cloud. Queste condivisioni file sono accessibili tramite il protocollo SMB (Server Message Block) standard del settore. In questa architettura File di Azure fornisce condivisioni file gestite per le distribuzioni cloud e locali. È possibile montare le condivisioni file di File di Azure simultaneamente da distribuzioni cloud o locali di Windows, Linux e macOS.

    • Azure NetApp Files è un servizio di archiviazione file completamente gestito che fornisce condivisioni file di Azure di livello aziendale basate su NetApp. Usarlo per eseguire la migrazione ed eseguire applicazioni complesse basate su file senza richiedere modifiche al codice.

    • L'archiviazione BLOB è scalabile e sicura per archivi, data lake, elaborazione ad alte prestazioni, Machine Learning e carichi di lavoro nativi del cloud. In questa architettura l'archiviazione BLOB funge da zona di destinazione comune per le origini dati esterne.

  • I database di Azure offrono una scelta di database relazionali e NoSQL completamente gestiti in base alle esigenze moderne dell'applicazione. La gestione automatizzata dell'infrastruttura offre scalabilità, disponibilità e sicurezza.

    • Il database SQL è un motore di database PaaS completamente gestito. In questa architettura, offre un'archiviazione dati scalabile e a disponibilità elevata da condividere tra più risorse di calcolo in un cluster. Il database SQL viene sempre eseguito nella versione stabile più recente di SQL Server e in un sistema operativo con patch con disponibilità 99.99%. Le funzionalità di gestione del database PaaS predefinite includono l'aggiornamento, l'applicazione di patch, i backup e il monitoraggio. È possibile usare il database SQL per concentrarsi sull'amministrazione e l'ottimizzazione del database business critical specifici del dominio.

    • Database di Azure per PostgreSQL è un database completamente gestito basato sul motore di database relazionale Postgres open source. In questa architettura è disponibile l'opzione di distribuzione Hyperscale (Citus), che ridimensiona le query in più computer usando il partizionamento orizzontale. Questa funzionalità è utile per le applicazioni che richiedono maggiore scalabilità e prestazioni.

    • Azure Cosmos DB è un database NoSQL completamente gestito e veloce con API aperte per qualsiasi scalabilità. In questa architettura, Azure Cosmos DB offre un archivio dati scalabile e a disponibilità elevata per varie applicazioni.

  • Site Recovery è un servizio di ripristino di emergenza che esegue il mirroring delle macchine virtuali di Azure in un'area di Azure secondaria. Questa funzionalità consente il failover e il ripristino rapidi se si verifica un errore del data center di Azure. In questa architettura Site Recovery supporta il ripristino di emergenza per i componenti della macchina virtuale e del cluster contenitore.

Dettagli dello scenario

Il refactoring dei carichi di lavoro in Azure può trasformare le applicazioni mainframe eseguite in Windows Server o Linux. È possibile eseguire queste applicazioni in modo più conveniente usando l'infrastruttura distribuita come servizio e PaaS basata sul cloud.

L'approccio di refactoring generale per le applicazioni mainframe determina la trasformazione dell'infrastruttura e sposta i sistemi da tecnologie proprietarie legacy a soluzioni aperte standardizzate, con benchmark. Questa trasformazione supporta i principi DevOps agile, che costituiscono la base degli standard open-systems ad alta produttività di oggi. Il refactoring sostituisce infrastrutture, processi e applicazioni legacy isolati con un ambiente unificato che migliora l'allineamento aziendale e IT.

Questo approccio di refactoring generale può usare il servizio Azure Kubernetes o le macchine virtuali di Azure. La scelta dipende dalla portabilità delle applicazioni esistenti e dalle preferenze. Il refactoring può accelerare il passaggio ad Azure convertendo automaticamente il codice in Java o .NET e convertendo i database pre-relazionali in database relazionali.

Il refactoring supporta vari metodi per spostare i carichi di lavoro client in Azure. Un metodo consiste nel convertire ed eseguire la migrazione dell'intero sistema mainframe in Azure in un unico processo completo. Questo approccio elimina la necessità di manutenzione temporanea dei mainframe e dei costi di supporto delle strutture. Tuttavia, questo metodo comporta un certo rischio perché tutti i processi di conversione, migrazione dei dati e test dell'applicazione devono essere allineati per garantire una transizione uniforme dal mainframe ad Azure.

Un altro metodo consiste nel eseguire gradualmente la migrazione delle applicazioni dal mainframe ad Azure, con l'obiettivo di eseguire la transizione nel tempo. Questo approccio offre risparmi sui costi per ogni applicazione. Offre anche l'opportunità di apprendere da ogni conversione per informare e migliorare le migrazioni successive. Questo metodo offre un'alternativa più gestibile e meno intensa alla migrazione di tutti gli elementi contemporaneamente tramite la modernizzazione di ogni applicazione in base alla propria pianificazione.

Potenziali casi d'uso

Il refactoring in Azure consente alle organizzazioni di:

  • Modernizzare l'infrastruttura ed evitare costi elevati, limitazioni e rigidità dei mainframe.
  • Eseguire la migrazione dei carichi di lavoro mainframe al cloud evitando le complessità di una riqualifica completa.
  • Eseguire la migrazione di applicazioni business critical mantenendo al contempo la continuità con altre applicazioni locali.
  • Trarre vantaggio dalla scalabilità orizzontale e verticale in Azure.
  • Ottenere funzionalità di ripristino di emergenza.

Considerazioni

These considerations implement the pillars of the Azure Well-Architected Framework, which is a set of guiding tenets that you can use to improve the quality of a workload. For more information, see Well-Architected Framework.

Affidabilità

Reliability helps ensure that your application can meet the commitments that you make to your customers. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.

In questa architettura Site Recovery esegue il mirroring delle macchine virtuali di Azure in un'area di Azure secondaria per il failover rapido e il ripristino di emergenza se il data center primario di Azure non riesce.

Sicurezza

Security provides assurances against deliberate attacks and the misuse of your valuable data and systems. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la 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 offre connessioni private e dirette isolate al backbone di rete di Azure tra le macchine virtuali di Azure e i servizi di Azure.

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

Ottimizzazione dei costi

Cost Optimization focuses on ways to reduce unnecessary expenses and improve operational efficiencies. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'ottimizzazione dei costi.

  • Azure evita costi superflui identificando il numero corretto di tipi di risorse tramite l'analisi della spesa nel tempo e il dimensionamento in base alle esigenze aziendali senza spese in eccesso. Azure offre l'ottimizzazione dei costi grazie all'esecuzione in macchine virtuali. È possibile disattivare le macchine virtuali quando non sono in uso e creare script per una pianificazione per i modelli di utilizzo noti. Per altre informazioni, vedere Azure Well-Architected Framework e raccomandazioni per l'ottimizzazione dei costi dei componenti.

  • Le macchine virtuali in questa architettura usano dischi SSD Premium o Archiviazione su disco Ultra. Per maggiori informazioni, consultare prezzi dei dischi gestiti.

  • Il database SQL ottimizza i costi usando risorse di calcolo serverless e di archiviazione Hyperscale che vengono ridimensionate automaticamente. Per altre informazioni, vedere Prezzi del database SQL.

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 maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.

Il refactoring supporta un'adozione del cloud più rapida e promuove l'adozione di principi di lavoro Sia DevOps che Agile. Si ha piena flessibilità nelle opzioni di sviluppo e distribuzione di produzione.

Efficienza delle prestazioni

Performance Efficiency refers to your workload's ability to scale to meet user demands efficiently. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.

I servizi di bilanciamento del carico integrano l'efficienza delle prestazioni in questa soluzione. Se un server di presentazione o transazione ha esito negativo, gli altri server dietro i servizi di bilanciamento del carico gestiscono i carichi di lavoro.

Collaboratori

Microsoft gestisce questo articolo. I collaboratori seguenti hanno scritto questo articolo.

Autore principale:

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

Passaggi successivi