Elaborazione di transazioni batch con volumi elevati

Servizio Azure Kubernetes
Bus di servizio di Azure
Macchine virtuali di Azure

L'architettura usa il servizio Azure Kubernetes per implementare cluster di calcolo delle applicazioni che elaborano batch di transazioni con volumi elevati. Le applicazioni ricevono le transazioni in messaggi da argomenti o code del bus di servizio. Gli argomenti e le code possono risiedere nei data center di Azure in aree geografiche diverse e più cluster del servizio Azure Kubernetes possono leggere l'input da essi.

Nota

Questa architettura è adatta a un tipo di elaborazione di transazioni batch che, nei mainframe IBM, è spesso implementata usando la famiglia IBM MQ di middleware MOM (Message Oriented Middleware).

Architettura

Diagram of an architecture implemented by using AKS and Service Bus.

Scaricare un file di Visio di questa architettura.

Flusso di lavoro

I cerchi numerati nel diagramma corrispondono ai passaggi numerati nell'elenco seguente.

  1. L'architettura usa argomenti e code del bus di servizio per organizzare l'input di elaborazione batch e passarlo downstream per l'elaborazione.
  2. Azure Load Balancer, un servizio di bilanciamento del carico di livello 4 (TCP, UDP), distribuisce il traffico in ingresso tra istanze integre di servizi definiti in un set con carico bilanciato. Il bilanciamento del carico e la gestione delle connessioni ottimizzano l'elaborazione.
  3. I nodi di lavoro del cluster del servizio Azure Kubernetes sono in ascolto sugli endpoint della coda del bus di servizio per l'input.
  4. I nodi Java usano Java Message Service per connettersi al bus di servizio e interfacce Java, come Java Database Connectivity, per connettersi ad altre origini dati. Usano altre API Java in base alle esigenze.
  5. Le transazioni recuperabili vengono eseguite insieme al codice business per ogni passaggio del batch.
  6. L'infrastruttura batch usa la rete accelerata di Azure per la velocità.
  7. Cache di Azure per Redis, Azure Cosmos DB e Analisi di flusso di Azure forniscono l'archiviazione di lavoro, se necessaria.
  8. Il livello dati permanente usa Azure Data Factory per l'integrazione dei dati e Istanza gestita di SQL di Azure con livello di prestazioni Business Critical per la disponibilità elevata. L'archiviazione permanente prevede un accoppiamento debole per passare facilmente ad altre tecnologie di database e per l'ottimizzazione dell'organizzazione dell'archiviazione, ad esempio usando le partizioni.
  9. Le soluzioni per i dati (di transizione e permanenti) usano Archiviazione di Azure con ridondanza geografica per la protezione da errori irreversibili.

Componenti

L'architettura usa questi componenti:

  • Rete virtuale di Azure fornisce una rete privata sicura nel cloud. Connette le macchine virtuali tra loro, a Internet e alle reti locali.
  • Azure ExpressRoute fornisce connessioni private tra l'infrastruttura locale e i data center di Azure.
  • Azure Bastion offre l'accesso RDP e SSH privato e completamente gestito alle macchine virtuali.
  • Macchine virtuali di Azure offre la flessibilità della virtualizzazione senza dover fornire e gestire l'hardware che la ospita. Le scelte per il sistema operativo includono Windows e Linux.
  • Una macchina virtuale creata con rete accelerata usa Single Root I/O Virtualization (SR-IOV) migliorandone le prestazioni di rete. Per altre informazioni, vedere Creare una macchina virtuale Windows con rete accelerata usando Azure PowerShell e Panoramica di Single Root I/O Virtualization (SR-IOV).
  • Un'interfaccia di rete di Azure connette una macchina virtuale a Internet e alle risorse di Azure e locali. Come illustrato in questa architettura, è possibile assegnare a ogni macchina virtuale figlio un'interfaccia di rete e un indirizzo IP dedicati. Per altre informazioni sulle interfacce di rete, vedere Creare, modificare o eliminare un'interfaccia di rete.
  • Azure Managed Disks è un servizio di archiviazione a blocchi a prestazioni elevate e altamente durevole per le macchine virtuali. Sono disponibili quattro opzioni di archiviazione su disco per il cloud: Archiviazione su disco Ultra, SSD Premium, SSD Standard e HDD Standard.
  • Il servizio Azure Kubernetes è il servizio completamente gestito di Kubernetes per la distribuzione e la gestione di applicazioni in contenitori.
  • Bus di servizio offre un servizio di messaggistica cloud distribuita come servizio (MaaS) affidabile e una semplice integrazione ibrida.
  • I servizi di bilanciamento del carico di Azure offrono la scalabilità per la disponibilità elevata e le prestazioni elevate. Questa architettura usa Load Balancer. Offre funzionalità di bilanciamento del carico di livello 4 (TCP, UDP) a bassa latenza per bilanciare il traffico tra le macchine virtuali e tra app ibride multilivello.
  • Cache di Azure per Redis è un servizio di memorizzazione nella cache in memoria completamente gestito ed estremamente veloce per la condivisione di dati e stato tra le risorse di calcolo.
  • Azure Cosmos DB è un database NoSQL veloce con API aperte per qualsiasi scala.
  • Analisi di flusso di Azure fornisce analisi in tempo reale su flussi di dati in rapido spostamento da applicazioni e dispositivi.
  • Azure Databricks è un servizio di analisi di Big Data veloce, semplice e collaborativo basato su Apache SparkTM.
  • Azure SQL è una famiglia di database cloud SQL che offre un'esperienza unificata per l'intero portfolio SQL e un'ampia gamma di opzioni di distribuzione dalla rete perimetrale al cloud.
  • Istanza gestita di SQL di Azure, parte del portfolio di servizi Azure SQL, è un'istanza di SQL gestita, sicura e sempre aggiornata nel cloud.
  • Data Factory è una soluzione di integrazione dei dati completamente gestita e serverless per la preparazione e la trasformazione di tutti i dati su larga scala.
  • Data Factory supporta il formato dati di file Parquet. Per altre informazioni, vedere Formato Parquet in Azure Data Factory.
  • Log Analytics è uno strumento nel portale di Azure che consente di modificare ed eseguire query sui log di Monitoraggio di Azure. Per altre informazioni, vedere Panoramica di Log Analytics in Monitoraggio di Azure.
  • Se si abilita l'opzione di ridondanza geografica per Archiviazione di Azure, i dati vengono copiati in modo sincrono tre volte in una singola posizione fisica nell'area primaria e quindi vengono copiati in modo asincrono in una singola posizione fisica nell'area secondaria. Per altre informazioni, vedere Ridondanza di Archiviazione di Azure.
  • Archiviazione BLOB di Azure è un servizio di archiviazione di oggetti basato su REST sicuro e a scalabilità elevata per archivi, data lake, carichi di lavoro HPC e Machine Learning.
  • File di Azure offre condivisioni file di livello aziendale semplici, sicure e serverless nel cloud. Per accedere alle condivisioni si usano i protocolli SMB (Server Message Block) e NFS (Network File System) standard del settore.

Dettagli dello scenario

In Azure è possibile implementare l'elaborazione delle transazioni batch, ad esempio la registrazione dei pagamenti nei conti, usando un'architettura basata sul servizio Microsoft Azure Kubernetes e sul bus di servizio di Azure. Questo tipo di architettura fornisce la velocità di elaborazione delle transazioni, la scalabilità e l'affidabilità necessarie per l'elaborazione batch con volumi elevati.

In genere, un messaggio rimane in coda fino al completamento della transazione, consentendo il recupero in caso di errore. È anche possibile replicare argomenti e code in altre aree, per condividere i carichi di lavoro e continuare l'elaborazione anche in caso di errore di un'area.

Potenziali casi d'uso

La soluzione è ideale per il settore finanziario, dell'istruzione e della scienza. Questa architettura è ideale per l'elaborazione di grandi volumi di batch di transazioni, in particolare per le transazioni indipendenti che possono essere elaborate in parallelo. È quindi un candidato probabile per la migrazione dell'elaborazione batch mainframe. Le applicazioni possibili sono:

  • Elaborazione di transazioni finanziarie, ad esempio buste paga, ordini e pagamenti.
  • Elaborazione di dati sperimentali raccolti da strumenti scientifici.
  • Altre attività di elaborazione batch mainframe.

Considerazioni

Alla soluzione si applicano le considerazioni seguenti, basate su Azure Well-Architected Framework:

Disponibilità

  • Azure Site Recovery è un servizio di ripristino di emergenza che protegge da interruzioni di servizio importanti. È affidabile, conveniente e facile da distribuire.
  • I set di disponibilità per le macchine virtuali garantiscono la disponibilità di un numero sufficiente di macchine virtuali per soddisfare le esigenze cruciali dei processi batch.
  • Il bus di servizio, il servizio Azure Kubernetes e Istanza gestita di SQL di Azure offrono disponibilità elevata e recuperabilità in aree geografiche diverse.

Operativo

  • I modelli di Azure Resource Manager (modelli di ARM) forniscono un linguaggio di configurazione per descrivere le risorse nei modelli che è possibile usare per la distribuzione con script. I modelli forniscono anche funzionalità di monitoraggio e avviso.

Efficienza prestazionale

  • L'architettura è progettata per supportare l'elaborazione parallela di transazioni indipendenti.
  • Il bus di servizio, il servizio Azure Kubernetes e altre funzionalità PaaS di Azure offrono prestazioni elevate per l'elaborazione delle transazioni, il calcolo e l'archiviazione dei dati.

Scalabilità

  • Il bus di servizio, il servizio Azure Kubernetes e altre funzionalità PaaS di Azure vengono dimensionati in modo dinamico in base alle esigenze.

Sicurezza

  • Tutti i componenti all'interno dell'architettura batch bus di servizio funzionano con i componenti di sicurezza di Azure, ad esempio Microsoft Entra ID, Rete virtuale e crittografia.

Ottimizzazione dei costi

Usare il Calcolatore prezzi di Azure per stimare i costi per l'implementazione di questa soluzione.

Le funzionalità di scalabilità automatica dei cluster del servizio Azure Kubernetes e di altre funzionalità PaaS (piattaforma distribuita come servizio) di Azure che offrono scalabilità su richiesta mantengono i costi al minimo.

Ecco alcune considerazioni sui prezzi per componenti specifici:

Passaggi successivi