Elaborazione delle transazioni online IBM z/OS in Azure

Frontdoor di Azure
Gestione traffico di Azure
Servizio Azure Kubernetes
Azure Spring Apps
Cache di Azure per Redis

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:

Architettura OLTP in z/OS

Scaricare un file di Visio di questa architettura.

Workflow

Il flusso di lavoro seguente corrisponde al diagramma precedente:

  1. Gli utenti si connettono al mainframe tramite TCP/IP usando 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 CICS/IMS o con le pagine Web.
  4. I gestori delle transazioni usano la logica di business scritta in COBOL o PL/1 per implementare le transazioni.
  5. Il codice dell'applicazione usa le funzionalità di archiviazione del livello dati, in genere DB2, IMS DB o VSAM.
  6. 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.

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

Scaricare un file di Visio di questa architettura.

  1. 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.

  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 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).

  3. 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.

  4. 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.

  5. 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.

  6. Il livello dati può includere, ad esempio:

    1. File, tabelle e BLOB implementati usando i servizi di Archiviazione di Azure.
    2. Database relazionali della famiglia Azure SQL.
    3. Implementazioni di Azure dei database open source PostgreSQL e MySQL.
    4. Azure Cosmos DB, un database NoSQL.

    Questi archivi contengono i dati migrati dal mainframe per l'uso da parte del livello dell'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 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

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 set di principi guida che possono essere usati per migliorare la qualità di un carico di lavoro. Per altre informazioni, vedere Framework ben progettato di Microsoft Azure.

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 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:

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

Passaggi successivi

Vedere le architetture correlate seguenti e le informazioni tecniche correlate: