Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Idee per soluzioni
In questo articolo viene descritta un'idea di soluzione. Il cloud architect può usare queste linee guida per visualizzare i componenti principali di un'implementazione tipica di questa architettura. Usa questo articolo come punto di partenza per progettare una soluzione ben architettata in linea con i requisiti specifici del tuo carico di lavoro.
Questa soluzione illustra come usare Azure per riprogezionare un'applicazione batch mainframe z/OS per distribuire un sistema sicuro, scalabile e a disponibilità elevata nel cloud. I dati e le applicazioni devono poter essere forniti e scalare di pari passo con le esigenze aziendali, senza interruzioni dell'infrastruttura. Per ridurre al minimo i tempi di consegna dei prodotti o delle funzionalità e ridurre i costi, le finanze, l'assistenza sanitaria, l'assicurazione e le aziende di vendita al dettaglio possono riprogezionare il cloud.
Architettura dei mainframe
Il diagramma seguente illustra l'architettura di un'applicazione batch tipica in esecuzione in un mainframe z/OS.
Flusso di lavoro
Il flusso di lavoro seguente corrisponde al diagramma precedente:
È possibile attivare i processi batch del mainframe a un'ora prestabilita utilizzando uno scheduler Operation, Planning, and Control (OPC). I messaggi, come un messaggio che annuncia un nuovo file, possono anche attivare processi batch mainframe.
Un dispositivo di archiviazione ad accesso diretto (DASD) mainframe archivia i file di input e output, ad esempio file flat richiesti dall'applicazione. Per attivare il processo batch, creare un file nel DASD.
Il processo batch è un'esecuzione di un set di processi, ad esempio un processo che esegue internamente un utente o un programma di sistema per eseguire un'attività specifica. I processi batch vengono in genere eseguiti senza interazione dell'utente. Un sistema di esecuzione del processo (JES) esegue processi batch nel mainframe.
I programmi nei processi batch possono leggere e scrivere dati da:
Un database basato su file, ad esempio il metodo VSAM (Virtual Storage Access Method).
Un database relazionale, ad esempio Db2 o Informix.
Un database non relazionale, ad esempio Information Management System (IMS).
Coda di messaggi.
Monitorare l'output di esecuzione dei job utilizzando uno scheduler OPC o Tivoli Workload Scheduler (TWS). È anche possibile usare Visualizzazione sistema e funzionalità di ricerca in JES per controllare lo stato di esecuzione del processo nel mainframe.
Il livello di gestione offre i servizi seguenti:
Controllo del codice sorgente, ad esempio Endevor o ChangeMan.
Sicurezza, ad esempio La funzionalità di controllo degli accessi alle risorse (RACF). Questa sicurezza fornisce l'autenticazione per l'esecuzione batch, l'accesso ai file e l'accesso al database.
Gestione dell'output che supporta l'archiviazione e la ricerca dei log di esecuzione dei processi.
Architettura di Azure
Il diagramma seguente illustra come usare Azure servizi per riprogezionare un'applicazione simile con funzionalità e flessibilità aggiuntive.
Scaricare un file di Visio di questa architettura.
Flusso di lavoro
Il flusso di dati seguente corrisponde al diagramma precedente:
Usare uno dei trigger seguenti per avviare il processo batch Azure:
Utilizzare l'utilità di pianificazione dei processi di Azure Databricks o l'utilità di pianificazione di Funzioni di Azure.
Creare un'attività di processo batch ricorrente usando App per la logica di Azure.
Usare un evento di archiviazione, ad esempio la creazione o l'eliminazione di file, in Archiviazione BLOB di Azure o File di Azure.
Usare un trigger basato su messaggi, ad esempio un nuovo messaggio in bus di servizio di Azure.
Crea un trigger di Azure Data Factory.
Archiviare i file di cui viene eseguita la migrazione dal mainframe usando gestione rete virtuale di Azure o File di Azure. I processi batch ricreati in Azure possono leggere e scrivere dati da questa risorsa di archiviazione.
Azure supporta l'implementazione dei carichi di lavoro batch su mainframe. Selezionare servizi specifici in base ai requisiti aziendali. Si consideri, ad esempio, la potenza di calcolo necessaria, il tempo di esecuzione totale, la possibilità di suddividere il processo batch del mainframe in unità più piccole e la sensibilità dei costi.
Azure Databricks è una piattaforma di analisi basata su Apache Spark. È possibile scrivere processi nei linguaggi R, Python, Java, Scala e Spark SQL. Azure Databricks offre un ambiente di calcolo che offre tempi di avvio rapidi del cluster, autotermination e scalabilità automatica. Include l'integrazione predefinita con servizi di Archiviazione di Azure come gestione rete virtuale di Azure e Azure Data Lake Storage. Elabora grandi quantità di dati rapidamente ed esegue carichi di lavoro di estrazione, trasformazione e caricamento (ETL) usando Azure Databricks.
Servizio Azure Kubernetes (AKS) offre un'infrastruttura per la creazione di architetture di applicazioni basate su servizi. AKS offre il controllo di rete, scalabilità e strategie di distribuzione, quindi è ideale per ambienti di microservizi complessi e su larga scala. Per le applicazioni più piccole, le soluzioni gestite dalla piattaforma come App contenitore di Azure sono più convenienti. Container Apps elimina le problematiche legate alla gestione della piattaforma e semplifica lo sviluppo, così puoi concentrarti sullo sviluppo delle applicazioni.
Importante
Azure Spring Apps ritira il 31 marzo 2028. Consigliamo Container Apps e AKS come servizi sostitutivi. Per altre informazioni, vedere Annuncio di ritiro di Azure Spring Apps.
È possibile riprogezionare l'applicazione batch mainframe usando .NET o Java. Batch fornisce l'infrastruttura necessaria per eseguire questa applicazione su larga scala. Batch crea e gestisce un pool di macchine virtuali ,installa le applicazioni e quindi pianifica l'esecuzione dei processi nelle macchine virtuali. Non è necessario installare, gestire o ridimensionare il software di pianificazione dei processi o del cluster. Scrivere applicazioni in qualsiasi linguaggio di programmazione supportato da Linux o Windows.
È possibile riprogezionare programmi batch COBOL o PL/I a esecuzione breve usando servizi Azure come Funzioni di Azure, la funzionalità Processi Web di Servizio app di Azure o App per la logica.
Azure fornisce più servizi dati per l'archiviazione e il recupero dei dati.
È possibile eseguire la migrazione di database relazionali mainframe, ad esempio Db2 e Informix, con modifiche minime ai servizi di database relazionali Azure, ad esempio SQL Server in Macchine virtuali di Azure, database SQL di Azure o Istanza gestita di SQL di Azure. È anche possibile usare un sistema di gestione di database relazionali (RDBMS) open source, ad esempio Database di Azure per PostgreSQL. Scegliere un database Azure che soddisfi il carico di lavoro, la query tra database, il commit in due fasi e altri requisiti.
È possibile eseguire la migrazione di database non relazionali mainframe come IMS, Integrated Gestione dati System (IDMS) e VSAM a Azure Cosmos DB. Azure Cosmos DB offre tempi di risposta rapidi, scalabilità automatica immediata e velocità garantita su qualsiasi scala. Azure Cosmos DB è un'opzione conveniente per carichi di lavoro imprevedibili o sporadici di qualsiasi dimensione o scala e non richiede pianificazione o gestione della capacità.
Azure Managed Redis può accelerare le applicazioni riprogettate.
Le applicazioni, il sistema operativo e le risorse Azure possono usare agenti che inviano log e metriche a Monitoraggio di Azure log.
Application Insights monitora le applicazioni migrate, rileva automaticamente le anomalie delle prestazioni e offre potenti strumenti di analisi.
Log Analytics consente di archiviare, indicizzare, eseguire query e derivare analisi dai dati di log.
Per creare avvisi e dashboard, esportare in servizi esterni o completare azioni come il ridimensionamento delle macchine virtuali, usare Log Analytics e output di Application Insights.
Questo livello fornisce servizi Azure, ad esempio Azure DevOps e Microsoft Entra ID, per il controllo del codice sorgente, la sicurezza e la gestione dell'output.
Componenti
Questa soluzione usa i componenti seguenti.
Rete e identità
Azure ExpressRoute è un servizio di connettività che estende le reti locali nel cloud Microsoft tramite una connessione privata da un provider di connettività. ExpressRoute stabilisce connessioni a servizi cloud Microsoft come Microsoft Azure e Microsoft 365. In questa architettura ExpressRoute offre connettività sicura e a larghezza di banda elevata tra gli ambienti mainframe locali e i servizi di Azure.
Gateway VPN di Azure è un gateway di rete virtuale che invia traffico crittografato tra una rete virtuale Azure e una posizione locale tramite Internet pubblico. In questa architettura, Gateway VPN offre un'opzione di connettività alternativa per Azure l'accesso alle risorse quando ExpressRoute non è disponibile.
Microsoft Entra ID è un servizio di gestione delle identità e degli accessi che può essere sincronizzato con una directory locale. In questa architettura, Microsoft Entra ID fornisce servizi di autenticazione e autorizzazione in modo che gli utenti e le applicazioni possano accedere al sistema batch riprogettato.
Applicazione
Logic Apps è un servizio cloud che consente di creare ed eseguire attività e processi ricorrenti automatizzati secondo una pianificazione. Logic Apps chiama servizi sia all'interno che all'esterno di Azure, come endpoint HTTP o HTTPS. È possibile usare Logic Apps per inviare messaggi ai servizi di Azure come bus di servizio o per caricare file in una condivisione di file. In questa architettura, Logic Apps fornisce funzionalità di orchestrazione e pianificazione dei workflow per attivare e coordinare i processi batch.
Il bus di servizio è un servizio di messaggistica cloud che è possibile usare per la messaggistica tra un'interfaccia utente e i servizi back-end. bus di servizio può disaccoppiare applicazioni e servizi e aumentare l'affidabilità e l'utilizzo. In questa architettura, bus di servizio offre funzionalità di messaggistica affidabili per attivare processi batch e coordinare i componenti di sistema ricreati.
Azure Databricks è una piattaforma di analisi basata su Apache Spark e uno strumento di progettazione dei dati basato sul cloud che elabora e trasforma grandi quantità di dati. È quindi possibile esplorare i dati usando i modelli di Machine Learning. In questa architettura, Azure Databricks offre funzionalità di calcolo ad alte prestazioni, tempi di avvio rapidi del cluster e scalabilità automatica per l'elaborazione di carichi di lavoro batch su larga scala.
AKS è un servizio Kubernetes gestito che semplifica la distribuzione di cluster Kubernetes gestiti in Azure. Azure gestisce le attività operative per AKS. In questa architettura, AKS orchestra i contenitori per applicazioni batch reingegnerizzate in un'architettura di microservizi scalabile.
App Service è una piattaforma per applicazioni Web, back-end per dispositivi mobili e API RESTful. Usare il servizio app per gestire l'infrastruttura di hosting Web durante la progettazione e la distribuzione di applicazioni.
Container Apps è una piattaforma serverless che riduce la complessità di gestione dell'infrastruttura e delle applicazioni containerizzate. Container Apps gestisce la configurazione del server, l'orchestrazione dei contenitori e i dettagli di distribuzione, e le sue risorse server proteggono le tue applicazioni.
Azure Batch è un servizio cloud che esegue il cloud computing batch per utilizzo generico per più macchine virtuali scalabili. Batch supporta casi d'uso ETL e intelligenza artificiale che coinvolgono più attività parallele e indipendenti. In questa architettura Batch offre un'infrastruttura di calcolo scalabile per processi batch mainframe riprogetti in più macchine virtuali.
Funzioni di Azure è un servizio di calcolo serverless che esegue piccole parti di codice. L'infrastruttura cloud Funzioni di Azure fornisce server aggiornati che eseguono applicazioni su larga scala. In questa architettura, Funzioni di Azure fornisce risorse di calcolo serverless per programmi batch a esecuzione breve scritti in COBOL o PL/I.
La funzionalità App Web del servizio app offre un ambiente di hosting completamente gestito per compilare, distribuire e ridimensionare web apps e API. Per codificare la logica di business in background riutilizzabile come processi Web, è possibile usare Processi Web. In questa architettura WebJobs offre una piattaforma di elaborazione batch in background.
Azure Managed Redis è un servizio di memorizzazione nella cache in memoria completamente gestito, scalabile e in grado di offrire prestazioni altamente ottimizzate basandosi su un database in memoria come Redis. In questa architettura, Azure Managed Redis offre la memorizzazione nella cache ad alta velocità per migliorare le prestazioni delle applicazioni batch riprogettate.
Immagazzinamento
Azure Storage offre più livelli di dati hot, cool e archivio. L'uso efficiente di questi livelli di archiviazione può offrire un vantaggio da prezzo a prestazioni.
Azure Cosmos DB è un servizio di database NoSQL completamente gestito che è possibile usare per eseguire la migrazione di dati nontabulari da mainframe. In questa architettura, Azure Cosmos DB fornisce servizi di database NoSQL distribuiti a livello globale per la migrazione di database non relazionali mainframe, ad esempio IMS, IDMS e VSAM.
File di Azure è un servizio di condivisione file completamente gestito che offre condivisioni file cloud semplici, sicure e serverless di livello aziendale. È possibile usare File di Azure come componente aggiuntivo per l'archiviazione SQL gestita in soluzioni mainframe ricreate. In questa architettura File di Azure fornisce l'archiviazione file condivisa a cui possono accedere più nodi di elaborazione batch.
Archivio code di Azure è un servizio di accodamento di messaggi economico e affidabile per grandi carichi di lavoro. In questa architettura l'archiviazione code offre un'accodamento dei messaggi affidabile per l'esecuzione di processi batch e la gestione del flusso di lavoro.
Azure SQL è una famiglia di servizi completamente gestita per SQL Server. È possibile eseguire la migrazione e usare i dati relazionali in modo efficiente con altri servizi di Azure, ad esempio Istanza gestita di SQL o SQL Server in macchine virtuali. In questa architettura, Azure SQL fornisce servizi di database relazionali gestiti per i database mainframe migrati, ad esempio Db2 e Informix.
Archiviazione BLOB è un servizio di archiviazione oggetti scalabile e sicuro per carichi di lavoro nativi del cloud, archivi, data lake, elaborazione ad alte prestazioni e Machine Learning. In questa architettura l'archiviazione BLOB offre un archivio oggetti scalabile per file di input batch, dati di output e risultati di elaborazione intermedi.
Archiviazione tabelle di Azure è un archivio NoSQL chiave-valore per lo sviluppo rapido utilizzando grandi set di dati semistrutturati. In questa architettura l'archiviazione tabelle offre un'archiviazione NoSQL veloce per l'elaborazione batch dei metadati e dei dati di ricerca.
Monitoraggio
- Monitoraggio di Azure è un servizio di monitoraggio che offre una soluzione completa per la raccolta, l'analisi e l'azione di telemetria locali e cloud. Monitoraggio di Azure include Application Insights, i log di Monitoraggio di Azure e le funzionalità di Log Analytics. In questa architettura, Monitoraggio di Azure fornisce monitoraggio completo e osservabilità end-to-end per le applicazioni batch sottoposte a reingegnerizzazione, incluse metriche delle prestazioni, log e avvisi.
Gestione
Azure DevOps è un set di strumenti di sviluppo che consentono di rielaborare le applicazioni mainframe in Azure durante ogni fase di sviluppo software e collaborazione in team. In questa architettura, Azure DevOps offre funzionalità DevOps complete per il controllo del codice sorgente, l'integrazione continua/la distribuzione continua (CI/CD) e la gestione dei progetti durante la riprogettazione del mainframe. Azure DevOps fornisce i servizi seguenti:
Azure Artifacts è un servizio di gestione pacchetti che supporta feed di pacchetti Maven, npm, Python e NuGet da origini pubbliche o private. In questa architettura Azure Artifacts gestisce le dipendenze e le librerie necessarie per le applicazioni mainframe ricreate.
Azure Boards è uno strumento agile di gestione dei progetti che fornisce funzionalità di rilevamento degli elementi di lavoro, pianificazione sprint, visualizzazione e creazione di report. In questa architettura, Azure Boards tiene traccia delle attività di sviluppo, delle storie utente e delle attività cardine della migrazione.
Azure Pipelines è un servizio CI/CD che supporta più linguaggi, piattaforme e ambienti cloud, inclusi contenitori e Kubernetes. In questa architettura Azure Pipelines automatizza i processi di compilazione, test e distribuzione per le applicazioni mainframe ricreate.
Azure Repos è un servizio di repository Git ospitato nel cloud che offre repository privati illimitati con richieste pull collaborative e gestione avanzata dei file. In questa architettura, Azure Repos fornisce il controllo della versione per i file di configurazione e il codice dell'applicazione ricreati.
Azure Test Plans è un servizio di gestione dei test che fornisce test manuali, test esplorativi e funzionalità di test di accettazione dell'utente. In questa architettura, Azure Test Plans controlla la qualità e le funzionalità delle applicazioni mainframe ricreate usando flussi di lavoro di test completi.
Dettagli dello scenario
I mainframe elaborano grandi quantità di dati. È possibile usare l'elaborazione batch per elaborare volumi elevati di transazioni raggruppate e quindi eseguire aggiornamenti in blocco sul database. L'elaborazione batch mainframe richiede un'interazione minima con l'utente. Ad esempio, i sistemi mainframe aiutano le banche e altri istituti finanziari a completare attività trimestrali di elaborazione e creazione di report, ad esempio relazioni azionarie trimestrali o produzione di rendiconti pensionistici.
Casi d'uso potenziali
Questa soluzione è ideale per i settori finanziari, assicurativi, sanitari e retail. L'architettura funziona meglio per:
- Applicazioni batch mainframe a elevato utilizzo di risorse.
- Applicazioni Batch che richiedono un calcolo elevato durante un periodo specifico, ad esempio alla fine del mese, del trimestre o dell'anno.
- Processi batch di mainframe leggeri e ripetitivi che potrebbero essere necessari per i sistemi esterni.
Contributori
Microsoft gestisce questo articolo. I seguenti collaboratori hanno scritto questo articolo.
Autore principale:
- Ashish Kndelwal | Principal Engineering Architecture Manager
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.