Modifica

Condividi tramite


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 nei messaggi dagli argomenti o dalle code del bus di servizio. Gli argomenti e le code possono trovarsi 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 delle transazioni batch che, nei mainframe IBM, viene spesso implementata usando la famiglia IBM MQ di middleware orientato ai messaggi.

Architettura

Diagramma di un'architettura implementata tramite il servizio Azure Kubernetes e il bus di servizio.

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 a valle 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 dei servizi definiti in un set con carico bilanciato. Il bilanciamento del carico e la gestione delle connessioni ottimizzano l'elaborazione.
  3. I nodi del ruolo di lavoro del cluster del servizio Azure Kubernetes sono in ascolto degli 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 Connettività di database Java 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 batch.
  6. L'infrastruttura batch usa la rete accelerata di Azure per la velocità.
  7. Cache Redis di Azure, Azure Cosmos DB e Analisi di flusso di Azure forniscono l'archiviazione funzionante, se necessario.
  8. Il livello dati permanente usa Azure Data Factory per l'integrazione dei dati e Istanza gestita di SQL di Azure, livello di prestazioni business critical, per la disponibilità elevata. L'archiviazione permanente è associata in modo libero per passare facilmente ad altre tecnologie di database e per l'ottimizzazione dell'organizzazione di archiviazione ,ad esempio usando partizioni o partizioni.
  9. Le soluzioni dati (transitorie e permanenti) usano l'opzione Archiviazione con ridondanza geografica di Azure per proteggersi da errori irreversibili.

Componenti

L'architettura usa questi componenti:

  • rete virtuale di Azure fornisce una rete privata sicura nel cloud. Può connettere le macchine virtuali l'una all'altra, a Internet e alle reti locali.
  • azure ExpressRoute fornisce connessioni private tra i data center di Azure e l'infrastruttura locale.
  • azure Bastion fornisce accesso RDP e SSH privato e completamente gestito alle macchine virtuali.
  • macchine virtuali di Azure offre la flessibilità di virtualizzazione senza dover fornire e gestire l'hardware che lo ospita. Le scelte del sistema operativo includono Windows e Linux.
  • Una macchina virtuale creata con rete accelerata usa la virtualizzazione I/O radice singola (SR-IOV), migliorando notevolmente le prestazioni di rete. Per altre informazioni, vedere Creare una macchina virtuale Windows con rete accelerata con Azure PowerShell e Panoramica di Virtualizzazione I/O radice singola (SR-IOV).
  • Un'interfaccia di rete di Azure connette una macchina virtuale a Internet e alle risorse locali e di Azure. Come illustrato in questa architettura, è possibile assegnare a ogni macchina virtuale figlio la propria interfaccia di rete e l'indirizzo IP. Per altre informazioni sulle interfacce di rete, vedere Creare, modificare o eliminare un'interfaccia di rete.
  • azure Managed Disks sono un'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.
  • servizio Azure Kubernetes (AKS) è un servizio Kubernetes completamente gestito per la distribuzione e la gestione di applicazioni in contenitori.
  • del bus di servizio fornisce una messaggistica cloud affidabile come servizio (MaaS) e una semplice integrazione ibrida.
  • servizi di bilanciamento del carico di Azure offre scalabilità per disponibilità elevata e 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 macchine virtuali e tra app ibride multilivello.
  • cache di Azure per Redis è un servizio di memorizzazione nella cache in memoria completamente veloce e completamente gestito per la condivisione di dati e stato tra le risorse di calcolo.
  • di Azure Cosmos DB è un database NoSQL rapido con API aperte per qualsiasi scalabilità.
  • analisi di flusso di Azure offre analisi in tempo reale su flussi di dati in rapida evoluzione da applicazioni e dispositivi.
  • azure Databricks è un servizio di analisi di Big Data rapido, 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 da edge a cloud.
  • Istanza gestita di SQL di Azure, parte del portfolio di servizi SQL di Azure, è un'istanza SQL gestita, sicura e sempre up-to-date 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 di dati del file Parquet. Per altre informazioni, vedere formato Parquet in Azure Data Factory.
  • Log Analytics è uno strumento nel portale di Azure usato per modificare ed eseguire query di log in log di Monitoraggio di Azure log. Per altre informazioni, vedere Panoramica di Log Analytics in Monitoraggio di Azure.
  • L'opzione archiviazione con ridondanza geografica (GRS) di Archiviazione di Azure copia i dati in modo sincrono tre volte all'interno di una singola posizione fisica nell'area primaria, quindi la copia 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'archiviazione di oggetti basata su REST altamente scalabile e sicura per carichi di lavoro nativi del cloud, archivi, data lake, elaborazione ad alte prestazioni e Machine Learning.
  • file di Azure offre condivisioni file semplici, sicure e serverless di livello aziendale nel cloud. Usare i protocolli SMB (Server Message Block) standard di settore e NFS (Network File System) per accedere alle condivisioni.

Dettagli dello scenario

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

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

Casi d'uso potenziali

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

  • Elaborazione di transazioni finanziarie, ad esempio retribuzioni, ordini e pagamenti.
  • Elaborazione di dati sperimentali raccolti da strumenti scientifici.
  • Altra elaborazione batch mainframe.

Considerazioni

Queste considerazioni implementano i pilastri di Azure Well-Architected Framework, ovvero un set di 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 assunti dai clienti. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'affidabilità.

  • servizio di ripristino di emergenza di Azure Site Recovery protegge da interruzioni importanti. È affidabile, conveniente e facile da distribuire.
  • I set di disponibilità per le macchine virtuali assicurano che siano disponibili macchine virtuali sufficienti per soddisfare le esigenze di processo batch cruciali.
  • Il bus di servizio, il servizio Azure Kubernetes e l'istanza gestita di SQL di Azure offrono disponibilità elevata e recuperabilità tra aree geografiche.

Sicurezza

La sicurezza offre garanzie contro attacchi intenzionali e l'abuso di dati e sistemi preziosi. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per Security.

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

Ottimizzazione costi

L'ottimizzazione dei costi consiste nell'esaminare i 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.

Per stimare i costi per l'implementazione di questa soluzione, usare il calcolatore prezzi .

Le funzionalità di scalabilità automatica dei cluster del servizio Azure Kubernetes e altre funzionalità PaaS (Platform as a Service) di Azure che offrono scalabilità su richiesta, mantengono i costi al minimo.

Ecco alcune considerazioni sui prezzi per componenti specifici:

Eccellenza operativa

L'eccellenza operativa copre i processi operativi che distribuiscono un'applicazione e lo mantengono in esecuzione nell'ambiente di produzione. Per altre informazioni, vedere Elenco di controllo per la revisione della progettazione per l'eccellenza operativa.

  • modelli di Azure Resource Manager (modelli arm) fornire 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 delle prestazioni

L'efficienza delle prestazioni è la capacità del carico di lavoro di ridimensionarsi per soddisfare le esigenze poste dagli utenti in modo efficiente. Per altre informazioni, vedere Elenco di controllo per l'efficienza delle prestazioni.

  • 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.
  • Il bus di servizio, il servizio Azure Kubernetes e altre funzionalità PaaS di Azure vengono ridimensionate in modo dinamico in base alle esigenze.

Passaggi successivi