I sistemi OLTP interagiscono direttamente con gli utenti e costituiscono il volto dell'azienda. Con un'infrastruttura adattabile in modo dinamico, le aziende possono realizzare e avviare rapidamente i propri prodotti per soddisfare le esigenze degli utenti.
Architettura
Il diagramma seguente illustra l'architettura del carico di lavoro di cui eseguire la migrazione, un sistema OLTP in esecuzione in un mainframe z/OS:
Scaricare un file di Visio di questa architettura.
Workflow
Il flusso di lavoro seguente corrisponde al diagramma precedente:
- Gli utenti si connettono al mainframe tramite TCP/IP usando protocolli mainframe standard come TN3270 e HTTPS.
- I gestori delle transazioni interagiscono con gli utenti e richiamano l'applicazione per soddisfare le richieste degli utenti.
- Nel front-end del livello dell'applicazione gli utenti interagiscono con le schermate CICS/IMS o con le pagine Web.
- I gestori delle transazioni usano la logica di business scritta in COBOL o PL/1 per implementare le transazioni.
- Il codice dell'applicazione usa le funzionalità di archiviazione del livello dati, in genere DB2, IMS DB o VSAM.
- Oltre all'elaborazione delle transazioni, altri servizi forniscono autenticazione, sicurezza, gestione, monitoraggio e creazione di report. Questi servizi interagiscono con tutti gli altri servizi nel sistema.
In questa sezione viene illustrato come eseguire la migrazione di questa architettura ad Azure.
Scaricare un file di Visio di questa architettura.
Gli utenti del mainframe hanno familiarità con i terminali 3270 e la connettività locale. Nel sistema di cui è stata eseguita la migrazione, interagiscono con le applicazioni Azure tramite Internet pubblico o tramite una connessione privata implementata con Azure ExpressRoute. Microsoft Entra ID fornisce l'autenticazione.
Le richieste di input vengono inviate a un servizio di bilanciamento del carico globale, ad esempio Frontdoor di Azure o Gestione traffico di Azure. Il servizio di bilanciamento del carico può servire una base utenti geograficamente diffusa. Instrada le richieste in base alle regole definite per i carichi di lavoro supportati. Questi servizi di bilanciamento del carico possono coordinarsi con gateway applicazione di Azure o Azure Load Balancer per il bilanciamento del carico del livello dell'applicazione. Il servizio Rete di distribuzione dei contenuti di Azure memorizza nella cache il contenuto statico nei server perimetrali per una risposta rapida, protetto tramite il servizio Web Application Firewall (WAF).
Il front-end del livello applicazione usa i servizi di Azure come Servizio app di Azure per implementare le schermate dell'applicazione e interagire con gli utenti. Le schermate sono versioni migrate delle schermate mainframe.
Il codice COBOL e PL/1 nel back-end del livello dell'applicazione implementa la logica di business. Il codice può usare servizi come Funzioni di Azure, processi Web e microservizi di Azure Spring Apps. Le applicazioni possono essere eseguite in un contenitore del servizio Azure Kubernetes.
Un archivio dati in memoria accelera le applicazioni OLTP con elevata velocità effettiva. Uno di questi archivi è OLTP in memoria, una funzionalità del database SQL e di Istanza gestita di SQL di Azure. Un altro è Cache Redis di Azure.
Il livello dati può includere, ad esempio:
- File, tabelle e BLOB implementati usando i servizi di Archiviazione di Azure.
- Database relazionali della famiglia Azure SQL.
- Implementazioni di Azure dei database open source PostgreSQL e MySQL.
- Azure Cosmos DB, un database NoSQL.
Questi archivi contengono i dati migrati dal mainframe per l'uso da parte del livello dell'applicazione.
I servizi nativi di Azure come Application Insights e Monitoraggio di Azure monitorano in modo proattivo l'integrità del sistema. È possibile integrare i log di monitoraggio usando un dashboard di Azure.
Componenti
Questa architettura è costituita da diversi servizi cloud di Azure ed è suddivisa in quattro categorie di risorse: rete e identità, applicazione, archiviazione e monitoraggio. I servizi per ognuno e i relativi ruoli sono descritti nelle sezioni seguenti.
Rete e identità
- Azure ExpressRoute sposta le connessioni private tra l'infrastruttura locale e i data center di Azure.
- Microsoft Entra ID è un servizio di gestione delle identità e degli accessi che può essere sincronizzato con una directory locale.
- Frontdoor di Azure offre il bilanciamento del carico HTTP globale con failover istantaneo. L'opzione di memorizzazione nella cache può velocizzare la distribuzione di contenuto statico.
- Gestione traffico di Azure indirizza le richieste DNS in ingresso in base alla scelta dei metodi di routing del traffico.
- Web application firewall di Azure consente di proteggere le app Web da attacchi dannosi e vulnerabilità Web comuni, ad esempio attacchi SQL injection e scripting intersito.
- Rete di distribuzione dei contenuti (rete CDN) di Azure memorizza nella cache il contenuto statico nei server perimetrali per una risposta rapida e usa le ottimizzazioni di rete per migliorare la risposta per il contenuto dinamico. La rete CDN è particolarmente utile quando la base utenti è globale.
- Gateway applicazione di Azure è un servizio controller per la distribuzione di applicazioni. Opera al livello 7, il livello dell'applicazione, e include diverse funzionalità di bilanciamento del carico.
- Azure Load Balancer è un servizio di bilanciamento del carico di livello 4 (TCP, UDP). In questa architettura sono disponibili opzioni di bilanciamento del carico per Spring Apps e il servizio Azure Kubernetes.
Applicazione
- Gestione API di Azure supporta la pubblicazione, il routing, la protezione, la registrazione e l'analisi delle API. È possibile controllare come vengono presentati ed estesi i dati e quali app possono accedervi. È possibile limitare l'accesso alle app personali o consentirlo a quelle di terze parti.
- Servizio app di Azure è un servizio completamente gestito per la creazione, la distribuzione e il ridimensionamento di app Web. È possibile creare app usando .NET, .NET Core, Node.js, Java, Python o PHP. Le app possono essere eseguite in contenitori o in Windows o Linux. In una migrazione mainframe, le schermate front-end o l'interfaccia Web possono essere codificate come API REST basate su HTTP. Possono essere separate in base all'applicazione mainframe e possono essere senza stato per orchestrare un sistema basato su microservizi.
- Processi Web è una funzionalità di Servizio app di Azure che consente di eseguire un programma o uno script nella stessa istanza di un'app Web, un'app per le API o un'app per dispositivi mobili. Un processo Web può essere una scelta ottimale per l'implementazione di un logica di programma gestibile e riutilizzabile. Per informazioni tecniche, vedere Eseguire attività in background con Processi Web in Servizio app di Azure.
- Il servizio Azure Kubernetes è il servizio completamente gestito di Kubernetes per la distribuzione e la gestione di applicazioni in contenitori. Il servizio Azure Kubernetes semplifica la distribuzione di un cluster del servizio Azure Kubernetes gestito tramite l'offload del sovraccarico operativo in Azure.
- Azure Spring Apps è un servizio Spring completamente gestito, creato e gestito congiuntamente da Microsoft e VMware. Con esso è possibile distribuire, gestire ed eseguire facilmente microservizi Spring e scrivere applicazioni Spring usando Java o .NET.
- Bus di servizio di Azure è un servizio di messaggistica cloud affidabile per una semplice integrazione ibrida. Il bus di servizio e le code di archiviazione possono connettere il front-end alla logica di business nel sistema di cui è stata eseguita la migrazione.
- Funzioni di Azure offre un ambiente per l'esecuzione di piccole parti di codice, denominate funzioni, senza dover stabilire un'infrastruttura dell'applicazione. È possibile usarlo per elaborare dati in blocco, integrare sistemi, usare IoT e creare API e microservizi semplici. Con i microservizi, è possibile creare server che si connettono ai servizi di Azure e sono sempre aggiornati.
- Cache di Azure per Redis è un servizio di memorizzazione nella cache in memoria completamente gestito per la condivisione di dati e stato tra le risorse di calcolo. Include sia Redis open source che un prodotto commerciale di Redis Labs (Redis Enterprise) come servizio gestito. È possibile migliorare le prestazioni delle applicazioni OLTP a elevata velocità effettiva progettandole per la scalabilità e l'uso di un archivio dati in memoria, ad esempio cache di Azure per Redis.
Storage
- Archiviazione di Azure è un set di servizi cloud altamente scalabili e sicuri per dati, app e carichi di lavoro. Include File di Azure, Archiviazione tabelle di Azure e Archiviazione code di Azure. File di Azure è spesso uno strumento efficace per la migrazione dei carichi di lavoro mainframe.
- Azure SQL è una famiglia di database cloud SQL che offre opzioni flessibili per la migrazione, la modernizzazione e lo sviluppo di applicazioni. La famiglia include:
- Azure Cosmos DB è un servizio di database NoSQL completamente gestito con API open source per MongoDB e Cassandra. Una possibile applicazione è la migrazione di dati non tabulari mainframe in Azure.
- Database di Azure per PostgreSQL è un'istanza di PostgreSQL completamente gestita, intelligente e scalabile con connettività nativa con i servizi di Azure.
- Database di Azure per MySQL è un database MySQL completamente gestito e scalabile.
- OLTP in memoria è una funzionalità del database SQL di Azure e di Istanza gestita di SQL di Azure che offre una rapida archiviazione dei dati in memoria. Per informazioni tecniche, vedere Ottimizzare le prestazioni usando tecnologie in memoria nel database SQL di Azure e in Istanza gestita di SQL di Azure.
Monitoraggio
- Monitoraggio di Azure raccoglie, analizza e agisce sui dati personali degli ambienti Azure e locali.
- Log Analytics è uno strumento nel portale di Azure usato per eseguire query nei log di Monitoraggio usando un linguaggio di query potente. È possibile usare i risultati delle query in modo interattivo o usarli con altre funzionalità di Monitoraggio di Azure, ad esempio avvisi di query di log o cartelle di lavoro. Per altre informazioni, vedere Panoramica di Log Analytics in Monitoraggio di Azure.
- Application Insights è una funzionalità di Monitoraggio che fornisce il monitoraggio a livello di codice dell'utilizzo, della disponibilità e delle prestazioni dell'applicazione. Monitora l'applicazione, rileva anomalie dell'applicazione, ad esempio prestazioni e errori mediocri e invia dati personali al portale di Azure. Application Insights è anche utilizzabile per la registrazione, la traccia distribuita e le metriche dell'applicazione personalizzate.
- Gli avvisi di Monitoraggio di Azure sono una funzionalità di Monitoraggio. Per altre informazioni, vedere Creare, visualizzare e gestire gli avvisi delle metriche con Monitoraggio di Azure.
Dettagli dello scenario
Con le esigenze e i dati aziendali in continua evoluzione, le applicazioni devono essere produttive e scalabili senza generare problemi di infrastruttura. Questo carico di lavoro di esempio illustra come eseguire la migrazione di un'applicazione OLTP mainframe z/OS a un sistema sicuro, scalabile e a disponibilità elevata nel cloud usando i servizi PaaS (Platform as a Service) di Azure. Una migrazione di questo tipo consente alle aziende del settore finanziario, sanitario, assicurativo e vendita al dettaglio di ridurre al minimo le tempistiche di distribuzione delle applicazioni e di ridimensionare i costi di esecuzione delle applicazioni.
Potenziali casi d'uso
Questa architettura è ideale per i carichi di lavoro OLTP con le caratteristiche seguenti:
- Servono una base di utenti internazionale.
- Vengono utilizzati in vari modi nel tempo, quindi traggono vantaggio dalla scalabilità flessibile e dai prezzi basati sull'utilizzo.
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 che l'utente ha preso con i clienti. Per altre informazioni, vedere Panoramica del pilastro dell'affidabilità.
- Questa architettura OLTP può essere distribuita in più aree e può avere un livello dati con replica geografica.
- I servizi di database di Azure supportano la ridondanza della zona e possono eseguire il failover in un nodo secondario in caso di interruzione o per consentire attività di manutenzione.
Sicurezza
La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Panoramica del pilastro della sicurezza.
- ExpressRoute crea una connessione privata ad Azure da un ambiente locale. È anche possibile usare una connessione VPN da sito a sito.
- Microsoft Entra ID può autenticare le risorse e controllare l'accesso usando il controllo degli accessi in base al ruolo di Azure.
- I servizi di database in Azure supportano diverse opzioni di sicurezza, ad esempio la crittografia dei dati inattivi.
- Per indicazioni generali sulla progettazione di soluzioni sicure, vedere Panoramica dei pilastri della sicurezza.
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.
Usare il Calcolatore prezzi di Azure per stimare i costi per l'implementazione.
Eccellenza operativa
L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e la mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Panoramica del pilastro dell'eccellenza operativa.
- Questo scenario usa Monitoraggio di Azure e Application Insights per monitorare l'integrità delle risorse di Azure. È possibile impostare avvisi per la gestione proattiva.
- Per indicazioni sulla resilienza in Azure, vedere Progettare applicazioni Azure affidabili.
Efficienza prestazionale
L'efficienza delle prestazioni è la capacità di dimensionare il carico di lavoro per soddisfare in modo efficiente le richieste poste dagli utenti. Per altre informazioni, vedere Panoramica del pilastro dell'efficienza delle prestazioni.
- Questa architettura usa i servizi PaaS di Azure, ad esempio il servizio app, che dispone di funzionalità di scalabilità automatica.
- Per indicazioni sulla scalabilità automatica in Azure, vedere Scalabilità automatica.
Collaboratori
Questo articolo viene gestito da Microsoft. Originariamente è stato scritto dai seguenti contributori.
Autore principale:
- Ashish Kndelwal | Principal Engineering Architecture Manager
- Nithish Aruldoss | Engineering Architect
Per visualizzare i profili LinkedIn non pubblici, accedere a LinkedIn.
Passaggi successivi
- Per ulteriori informazioni, contatta datasqlninja@microsoft.com.
- Guide alla migrazione di database di Azure
Risorse correlate
Vedere le architetture correlate seguenti e le informazioni tecniche correlate:
Architetture correlate
- Elaborazione di transazioni batch con volumi elevati
- Migrazione del mainframe IBM z/OS con Avanade AMT
- Micro Focus Enterprise Server in Macchine virtuali di Azure
- Refactoring della struttura CF del mainframe IBM z/OS in Azure
- Accesso del mainframe ai database di Azure
- Replicare e sincronizzare i dati del mainframe in Azure
- Eseguire la migrazione di applicazioni mainframe IBM in Azure con TmaxSoft OpenFrame
Informazioni tecniche correlate
- Eseguire attività in background con Processi Web in Servizio app di Azure
- Ottimizzare le prestazioni usando tecnologie in memoria nel database SQL di Azure e in Istanza gestita di SQL di Azure
- Panoramica di Monitoraggio di Azure
- Creare, visualizzare e gestire gli avvisi delle metriche con Monitoraggio di Azure
- Creare e condividere i dashboard dei dati di Log Analytics
- Panoramica del pilastro per la sicurezza