Condividi tramite


Eseguire la migrazione dei carichi di lavoro OLTP di IBM z/OS ad Azure

Frontdoor di Azure
Gestione traffico di Azure
Servizio Azure Kubernetes (AKS)
Azure Spring Apps
Cache Redis di Azure

I sistemi di elaborazione delle transazioni online (OLTP) sono il volto della tua attività perché interagiscono direttamente con i clienti. Migrando a un'infrastruttura adattabile dinamicamente, la tua azienda può creare e lanciare rapidamente i prodotti in modo che i clienti possano utilizzarli prima.

Architettura

Il diagramma seguente illustra un'architettura di un sistema OLTP in esecuzione in un mainframe z/OS prima della migrazione ad Azure:

Diagramma di un'architettura OLTP su z/OS.

Flusso di lavoro

Il flusso di lavoro seguente corrisponde al diagramma precedente:

  1. Gli utenti si connettono al mainframe tramite TCP (Transmission Control Protocol) o IP (Internet Protocol) utilizzando protocolli mainframe standard come TN3270 e HTTPS.

  2. I gestori delle transazioni interagiscono con gli utenti e richiamano l'applicazione per soddisfare le richieste degli utenti.

  3. Nel front-end del livello dell'applicazione, gli utenti interagiscono con le schermate del sistema di controllo delle informazioni del cliente (CICS) o del sistema di gestione delle informazioni (IMS) o con le pagine Web.

  4. I gestori delle transazioni utilizzano la logica di business scritta in Common Business-Oriented Language (COBOL) o Programming Language One (PL/I) per implementare le transazioni.

  5. Il codice dell'applicazione utilizza le funzionalità di storage del livello dati, ad esempio DB2, IMS DB o VSAM.

  6. Oltre all'elaborazione delle transazioni, altri servizi forniscono autenticazione, sicurezza, gestione, monitoraggio e reportistica. Questi servizi interagiscono con tutti gli altri servizi del sistema.

Il diagramma seguente illustra come eseguire la migrazione di questa architettura ad Azure.

Diagramma che mostra un'architettura per eseguire la migrazione di un carico di lavoro z/OS OLTP ad Azure.

Il diagramma mostra come eseguire la migrazione di un carico di lavoro z/OS OLTP ad Azure. L'architettura è suddivisa in diversi livelli che rappresentano diversi componenti e le loro interazioni. Ogni livello utilizza numeri e frecce per evidenziare il flusso di dati. Il livello 1 rappresenta un utente locale. Una freccia a doppia punta connette l'utente e Azure ExpressRoute. Il livello 2 rappresenta le richieste di input. Questo livello contiene due caselle collegate da una freccia tratteggiata a doppia punta con l'etichetta Azure Web application firewall. La casella a sinistra contiene le icone per Frontdoor di Azure e Gestione traffico di Azure. Una freccia a doppia punta collega la casella di sinistra con un'icona che rappresenta Internet. Un'altra freccia a doppia punta collega l'icona di Internet con l'ID Microsoft Entra. La casella di destra contiene le icone per il gateway applicazione di Azure e Azure Load Balancer. Una freccia a doppia faccia collega questa scatola con una scatola etichettata front-end. La casella etichettata front-end si trova all'interno del livello dell'applicazione. Contiene icone per Gestione API di Azure, Servizio app di Azure, Servizio Azure Kubernetes e Azure Spring Apps. Tre frecce tratteggiate a doppia faccia collegano la scatola front-end con una casella etichettata business logic. Questa casella contiene le icone per Funzioni di Azure, Processi Web di Azure, Servizio Azure Kubernetes e Azure Spring Apps. Le icone per il bus di servizio di Azure e l'archiviazione code di Azure (asincrona) si trovano sopra e sotto le tre frecce. Una freccia a doppia punta collega il livello dell'applicazione con il livello della cache. Il livello della cache contiene cache di Azure per Redis. Una freccia punta dal livello della cache al livello di monitoraggio. In questo livello, una freccia tratteggiata passa da Monitoraggio di Azure ai log di Monitoraggio di Azure e a una casella blu che contiene icone con l'etichetta Dashboard e avvisi di Log Analytics. Il livello di monitoraggio include anche Application Insights. Una freccia tratteggiata indica da Application Insights alla casella blu. Un'altra freccia punta dal livello dell'applicazione ad Application Insights. Il livello dati contiene due caselle. Una casella contiene le icone per l'archiviazione tabelle di Azure e File di Azure. L'altra casella contiene Azure SQL, Azure Cosmos DB, Database di Azure per PostgreSQL e Database di Azure per MySQL. Una freccia a doppia punta collega il livello dati e il livello dell'applicazione.

Scaricare un file di Visio di questa architettura.

  1. Gli utenti mainframe hanno familiarità con i terminali 3270 e la connettività locale. Nel sistema migrato interagiscono con le applicazioni Azure tramite la rete Internet pubblica o tramite una connessione privata implementata tramite Azure ExpressRoute. L'ID Microsoft Entra fornisce l'autenticazione.

  2. 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 di utenti geograficamente distribuita. Instrada le richieste in base alle regole definite per i carichi di lavoro supportati. Questi servizi di bilanciamento del carico possono coordinarsi con il gateway applicazione di Azure o Azure Load Balancer per bilanciare il carico a livello di applicazione. Il servizio Rete per la distribuzione di contenuti di Azure memorizza nella cache il contenuto statico nei server perimetrali per una risposta rapida. Un Web application firewall (WAF) consente di proteggere il servizio.

  3. Il front-end del livello dell'applicazione usa servizi di Azure come il servizio app di Azure per implementare le schermate dell'applicazione e interagire con gli utenti. Le schermate sono versioni migrate delle schermate del mainframe.

  4. Il codice COBOL e PL/I nel back-end del livello applicativo implementa la logica di business. Il codice può usare servizi e funzionalità come Funzioni di Azure, Processi Web e i microservizi Azure Spring Apps. Le applicazioni possono essere eseguite in un contenitore del servizio Azure Kubernetes.

  5. Un archivio dati in memoria accelera le applicazioni OLTP ad alta velocità effettiva. Gli esempi includono In-Memory OLTP, che è una funzionalità del database SQL di Azure e di Istanza gestita di SQL di Azure, e cache di Azure per Redis.

  6. Il livello dati può includere:

    • File, tabelle e BLOB implementati tramite Archiviazione di Azure.
    • Database relazionali della famiglia Azure SQL.
    • Implementazioni Azure dei database open source PostgreSQL e MySQL.
    • Azure Cosmos DB, che è un database NoSQL.

    Questi archivi contengono i dati migrati dal mainframe per l'utilizzo a livello di applicazione.

  7. 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 di Azure usando un dashboard di Azure.

Componenti

Questa architettura è costituita da diversi servizi cloud di Azure. È suddiviso in quattro categorie di risorse: rete e identità, applicazione, archiviazione e monitoraggio. Nelle sezioni seguenti vengono descritti i servizi per ogni risorsa e i relativi ruoli.

Rete e identità

Quando si progetta l'architettura delle applicazioni, è fondamentale dare priorità ai componenti di rete e di identità per garantire sicurezza, prestazioni e gestibilità durante le interazioni su Internet pubblico o connessioni private. I componenti seguenti dell'architettura sono essenziali per soddisfare questo requisito in modo efficace.

  • ExpressRoute offre connessioni private tra le infrastrutture locali 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. La sua opzione di memorizzazione nella cache può accelerare la consegna di contenuti statici.

  • Gestione traffico indirizza le richieste di Domain Name System in ingresso in base alla scelta dei metodi di routing del traffico.

  • Azure WAF consente di proteggere le app Web da attacchi dannosi e vulnerabilità Web comuni, ad esempio SQL injection e cross-site scripting.

  • La rete per la distribuzione di contenuti memorizza nella cache i contenuti statici nei server perimetrali per consentire risposte rapide e utilizza le ottimizzazioni di rete per migliorare la risposta per i contenuti dinamici. rete per la distribuzione di contenuti è particolarmente utile quando la base utente è globale.

  • Il gateway applicazione è un servizio del controller di distribuzione delle applicazioni. Opera al livello 7, il livello dell'applicazione, e include diverse funzionalità di bilanciamento del carico.

  • Load Balancer è un sistema di bilanciamento del carico di livello 4 (TCP o User Datagram Protocol). In questa architettura offre opzioni di bilanciamento del carico per Azure Spring Apps e il servizio Azure Kubernetes.

Applicazione

Azure offre servizi gestiti che supportano una distribuzione più sicura, scalabile ed efficiente delle applicazioni. I servizi a livello applicazione utilizzati dall'architettura precedente consentono di ottimizzare l'architettura dell'applicazione.

  • Gestione API di Azure supporta la pubblicazione, il routing, la protezione, la registrazione e l'analisi delle API. Puoi controllare il modo in cui i dati vengono presentati ed estesi e quali app possono accedervi. Puoi limitare l'accesso alle tue app o consentire l'accesso a terze parti.

  • servizio app è un servizio completamente gestito per la creazione, la distribuzione e il ridimensionamento delle 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 segregati in base all'applicazione mainframe e possono essere stateless per orchestrare un sistema basato su microservizi.

  • Processi Web è una funzionalità del servizio app che esegue un programma o uno script nella stessa istanza di un'app Web, di un'app per le API o di un'app per dispositivi mobili. Un processo Web può essere una buona scelta per l'implementazione di una logica di programma condivisibile e riutilizzabile. Per altre informazioni, vedere Eseguire attività in background con Processi Web nel servizio app.

  • Il servizio Azure Kubernetes è un servizio Kubernetes completamente gestito 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 in Azure eseguendo l'offload del sovraccarico operativo in Azure.

  • Azure Spring Apps è un servizio Spring completamente gestito, creato e gestito congiuntamente da Microsoft e VMware. È possibile usare Azure Spring Apps per distribuire, gestire ed eseguire facilmente i 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 con la logica di business nel sistema migrato.

  • Funzioni di Azure offre un ambiente per l'esecuzione di piccole parti di codice, denominate funzioni, senza dover stabilire un'infrastruttura applicativa. È possibile utilizzarlo per elaborare dati di massa, integrare sistemi, lavorare con Internet of Things e creare semplici API e microservizi. Usa i microservizi per 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 Redis open source e Redis Enterprise, un prodotto commerciale di Redis Labs, come servizio gestito. È possibile migliorare le prestazioni delle applicazioni OLTP a velocità effettiva elevata progettandole per la scalabilità e l'uso di un archivio dati in memoria, ad esempio cache di Azure per Redis.

Archiviazione e database

Questa architettura si rivolge allo storage cloud scalabile e più sicuro, nonché ai database gestiti per una gestione dei dati flessibile e intelligente.

Monitoraggio

I seguenti strumenti di monitoraggio forniscono un'analisi completa dei dati e preziose informazioni sulle prestazioni delle applicazioni.

  • Monitoraggio di Azure raccoglie, analizza e agisce sui dati personali provenienti dagli ambienti Azure e locali.

    Gli avvisi di Monitoraggio di Azure sono una funzionalità di Monitoraggio. Per altre informazioni, vedere Creare, visualizzare e gestire gli avvisi delle metriche usando Monitoraggio di Azure.

  • Log Analytics è uno strumento nel portale di Azure che consente di eseguire query sui log di Monitoraggio di Azure usando un linguaggio di query avanzato. È possibile interagire con i risultati delle query o usarli con altre funzionalità di Monitoraggio di Azure, ad esempio gli avvisi delle query di log o le cartelle di lavoro. Per altre informazioni, vedere Panoramica di Log Analytics in Azure Monitor.

  • Application Insights è una funzionalità di Monitoraggio di Azure che fornisce il monitoraggio a livello di codice dell'utilizzo, della disponibilità e delle prestazioni delle applicazioni. Monitora l'applicazione, rileva anomalie, ad esempio prestazioni mediocri ed errori, e invia i dati personali al portale di Azure. È anche possibile usare Application Insights per la registrazione, la traccia distribuita e le metriche delle applicazioni personalizzate.

Dettagli dello scenario

A causa dell'evoluzione delle esigenze aziendali e dei dati, le applicazioni devono scalare e produrre risultati senza creare problemi di infrastruttura. Questo carico di lavoro di esempio mostra come è possibile eseguire la migrazione di un'applicazione OLTP mainframe z/OS a un sistema più sicuro, scalabile e a disponibilità elevata nel cloud usando i servizi PaaS (Platform as a Service) di Azure. Questa migrazione aiuta le aziende nei settori finanziario, sanitario, assicurativo e della vendita al dettaglio a ridurre al minimo i tempi di distribuzione delle applicazioni. Consente inoltre di ridurre i costi di esecuzione delle applicazioni.

Casi d'uso potenziali

Questa architettura è ideale per i carichi di lavoro OLTP con le caratteristiche seguenti:

  • Servono una base di utenti internazionale.

  • Il loro utilizzo varia notevolmente nel tempo, quindi beneficiano di una scalabilità flessibile e di prezzi basati sull'utilizzo.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, che è un set di set di principi guida che è possibile usare per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Well-Architected Framework.

Affidabilità

L'affidabilità garantisce che l'applicazione possa soddisfare gli impegni assunti dai clienti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'affidabilità.

  • È possibile distribuire questa architettura OLTP in più aree. Può anche avere un livello di dati con replica geografica.

  • I servizi di database di Azure supportano la ridondanza della zona e possono eseguire il failover in un nodo secondario se si verifica un'interruzione o per consentire attività di manutenzione.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'uso improprio dei dati e dei sistemi preziosi. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per la sicurezza.

  • ExpressRoute crea una connessione privata ad Azure da un ambiente locale. Puoi anche utilizzare la VPN da sito a sito.

  • L'ID Microsoft Entra 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 varie opzioni di sicurezza, ad esempio la crittografia dei dati inattivi.

  • Per indicazioni generali su come progettare soluzioni più sicure, vedere Collegamenti rapidi alla sicurezza.

Ottimizzazione dei costi

L'ottimizzazione dei costi è incentrata sui 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 dei prezzi di Azure per stimare i costi per l'implementazione.

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.

Questo scenario usa Monitoraggio di Azure e Application Insights per monitorare l'integrità delle risorse di Azure. È possibile impostare avvisi per la gestione proattiva.

Efficienza delle prestazioni

L'efficienza delle prestazioni si riferisce alla capacità del carico di lavoro di ridimensionarsi per soddisfare in modo efficiente le esigenze degli utenti. Per maggiori informazioni, consultare la sezione Elenco di controllo per la revisione della progettazione per l'efficienza delle prestazioni.

  • Questa architettura usa servizi PaaS di Azure come il servizio app, che offre funzionalità di scalabilità automatica.

  • Per altre informazioni, vedere Scalabilità automatica.

Contributori

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

Autori principali:

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

Passaggi successivi

Vedere le architetture correlate seguenti e le informazioni tecniche correlate.