Gli istituti finanziari devono elaborare un'enorme quantità di transazioni al secondo. Poiché queste transazioni contengono in genere dati altamente sensibili, hanno bisogno di standard di sicurezza, latenza e coerenza ancora più rigorosi del solito. Devono garantire che tutte le transazioni, siano esse acquisti di e-commerce o trasferimenti bancari diretti, siano istantanee, sicure e prive di errori. Riuscite a immaginare che il pagamento di un cliente rimanga bloccato in un limbo perché il vostro sistema non riesce a tenere il passo? Il tasso di frustrazione e di abbandono sarebbe alle stelle. Come si costruisce quindi un sistema altamente distribuito, a bassa latenza e coerente a livello globale?
L'alta posta in gioco delle prestazioni dell'elaborazione dei pagamenti
Di recente, uno dei nostri clienti, una grande banca nazionale, si è trovato di fronte proprio a questo problema di elaborazione dei dati. Questa banca gestisce ogni giorno un volume impressionante di transazioni online: milioni e milioni di pagamenti, trasferimenti di denaro e registrazioni di carte, che passano attraverso i suoi sistemi da clienti di tutti gli Stati Uniti. Queste transazioni dovevano essere mantenute sincronizzate.
Dovevano essere in grado di ricevere ed elaborare queste transazioni, indipendentemente dal fatto che provenissero da New York, da Los Angeles o da qualsiasi altra parte del mondo. Anche il più piccolo ritardo o incongruenza potrebbe portare a pagamenti non riusciti o a violazioni della sicurezza. Potete quindi immaginare il livello di prestazioni e di coerenza dei dati che richiedevano. Si trattava di un vero e proprio sistema mission-critical su cui si basava l'intera azienda.
Questa banca aveva bisogno di tempi di risposta rapidi perché un ritardo di oltre cinque secondi può ridurre significativamente la soddisfazione dei clienti. Secondo Kissmetrics, il 47% dei clienti si aspetta che le transazioni vengano completate in meno di due secondi. Un'elevata latenza e frequenti timeout non solo frustrano gli utenti, ma portano anche all'abbandono delle transazioni. Secondo uno studio di Harris Interactive, il 66% degli utenti di mobile banking ha dichiarato di aver abbandonato una transazione a causa di problemi durante il processo di checkout, con il 36% che ha specificamente citato i tempi di caricamento lenti come motivo principale dell'abbandono, evidenziando la necessità critica di velocità e affidabilità nei servizi bancari digitali. Pertanto, ridurre al minimo la latenza ed evitare i timeout non era solo una sfida tecnica per questo cliente, ma era fondamentale per mantenere la fiducia dei propri clienti.
Garantire un'elaborazione dei pagamenti veloce e affidabile con Akamai
I requisiti della banca erano chiari: volevano costruire un sistema altamente distribuito e a bassa latenza, in grado di fornire prestazioni costantemente veloci. Avevano inoltre bisogno di una coerenza globale dei dati e di un instradamento intelligente delle richieste per garantire che ogni query raggiungesse il nodo più vicino e più performante. Avevano bisogno di una soluzione in grado di gestire questo enorme afflusso di dati sensibili, di mantenerli strettamente sincronizzati e di servirli rapidamente con una latenza minima e la massima disponibilità.
Per ottenere questo risultato, hanno utilizzato il sistema di messaggistica intelligente di Akamai Global Traffic Management e il velocissimo sistema di messaggistica NATS.io di Akamai. NATS.io è un sistema di messaggistica ad alte prestazioni ottimizzato per gli ambienti cloud-native, che consente una distribuzione e una sincronizzazione efficiente dei dati.
Diamo un'occhiata all'architettura di riferimento che abbiamo implementato per questo cliente e che sfrutta NATS.io e Akamai per ottenere coerenza globale e prestazioni elevate per i sistemi di pagamento digitali.
Nella fase 1 illustrata sopra, un utente avvia una transazione attraverso la propria applicazione di pagamento digitale e l'applicazione invia i dati della transazione al DNS.
Successivamente, il DNS indirizza la transazione alla regione di calcolo Akamai più vicina. I dati della transazione vengono quindi inviati al broker NATS.io nella regione selezionata tramite il gateway HTTPS/NATS. Il cluster NATS.io garantisce la propagazione dei dati a tutte le altre regioni del sistema con una latenza inferiore a 100 millisecondi, mantenendo la coerenza globale. Tutti i dati richiesti (ad esempio, il saldo dell'utente, la cronologia delle transazioni) vengono recuperati e aggiornati rapidamente in tutte le regioni. Una volta elaborata la transazione, viene inviata una risposta all'utente attraverso il gateway HTTPS/NATS. Il DNS assicura che la risposta sia instradata in modo ottimale, fornendo all'utente un feedback in tempo reale sullo stato della transazione.
Questa architettura è estremamente vantaggiosa per due motivi: migliora le prestazioni e la scalabilità. Utilizza il bilanciamento del carico DNS basato sulle prestazioni e la propagazione ad alta velocità di NATS.io per fornire risposte a bassa latenza, fondamentali per l'elaborazione dei pagamenti in tempo reale. La natura distribuita delle regioni di calcolo di Akamai garantisce che il sistema rimanga disponibile anche se una o più regioni hanno problemi.
Con l'aumento del volume delle transazioni, è possibile integrare facilmente nel sistema ulteriori regioni di calcolo e broker NATS.io. Questo approccio di scalabilità orizzontale consente al sistema di gestire un carico maggiore senza dover ricorrere a una significativa reingegnerizzazione. Distribuendo il carico su più regioni, l'architettura è in grado di supportare un numero maggiore di transazioni simultanee, mantenendo una bassa latenza e prestazioni elevate. Un altro aspetto chiave della scalabilità di questa architettura è la sua capacità di gestire in modo efficiente i picchi di carico. Durante i periodi di forte domanda, come le stagioni dello shopping o i grandi eventi di vendita, il sistema può allocare dinamicamente più risorse per gestire l'aumento delle transazioni. Questo garantisce agli utenti prestazioni costanti indipendentemente dal volume delle transazioni.
Bilanciamento intelligente del carico basato su DNS per prestazioni ottimali
Dopo aver progettato questa soluzione, l'abbiamo testata per il cliente. Abbiamo creato un set di dati campione di 100 milioni di chiavi e lo abbiamo caricato in un cluster NATS.io altamente disponibile in una delle nostre regioni di calcolo principali.
Il nucleo era costituito da un cluster NATS.io a 3 nodi distribuito in una regione di calcolo Akamai primaria, che forniva ridondanza e alta disponibilità, come mostrato sopra. Successivamente, abbiamo aggiunto macchine NATS.io a singolo nodo foglia distribuite in 10 sedi di calcolo Akamai separate in tutto il Nord America. Distribuendo i nodi NATS.io sulla rete globale di Akamai, i dati possono essere portati più vicino agli utenti finali, riducendo la latenza.
Ciascuno di questi nodi NATS distribuiti è stato affiancato da gateway HTTPS sicuri, che consentono alle applicazioni di interfacciarsi con la pipeline di dati ad alta velocità utilizzando protocolli web standard. Non sono necessarie integrazioni complesse. Ma la vera magia sta nel modo in cui abbiamo utilizzato la nostra rete edge globale e le nostre capacità di bilanciamento del carico. Quando uno dei loro clienti effettua un pagamento o si registra per una nuova carta, Global Traffic Management di Akamai sfrutta un bilanciamento del carico intelligente basato su DNS per indirizzare gli utenti verso la regione di calcolo Akamai più vicina e performante.
Questo assicura che gli utenti siano sempre connessi al nodo disponibile più vicino, riducendo al minimo la latenza e fornendo un'elevata disponibilità. Il bilanciamento del carico tiene conto di fattori quali la posizione dell'utente, le condizioni della rete e lo stato di salute dei nodi per prendere decisioni sull'instradamento. In questo modo, invece di dover attraversare Internet e più salti per raggiungere un database centralizzato, il cliente raggiunge l'istanza NATS distribuita a pochi millisecondi di distanza, con i dati già preparati e pronti per l'uso locale. Questa soluzione a bassa latenza garantisce che i dati siano più vicini agli utenti finali attraverso i nodi NATS.io distribuiti, mentre l'instradamento intelligente assicura che le richieste raggiungano il nodo disponibile più vicino. Inoltre, il sistema di messaggistica di NATS.io sincronizza i dati tra tutti i nodi entro una finestra di 100 ms, garantendo la coerenza globale dei dati.
Il risultato finale
Questa potente soluzione ha integrato la rete edge distribuita a livello globale di Akamai, la gestione intelligente del traffico e il sistema di messaggistica NATS.io per ottenere prestazioni superiori indipendentemente dal traffico. Dopo il passaggio ad Akamai, la banca ha rispettato costantemente la finestra SLA di 60 millisecondi con il proprio fornitore di pagamenti digitali, eliminando la variabilità e accelerando il flusso di lavoro. Questo cambiamento non solo ha migliorato la conformità ai rigorosi SLA del fornitore di pagamenti digitali, ma ha anche migliorato l'esperienza complessiva del cliente, fornendo un'elaborazione affidabile e veloce delle transazioni. Questo caso d'uso evidenzia il ruolo critico della scelta della giusta infrastruttura per supportare le soluzioni di pagamento digitale e l'impatto significativo che può avere sul mantenimento della fiducia dei clienti.
Se state cercando di implementare un sistema a bassa latenza, saremo lieti di parlare con voi! Oppure potete richiedere fino a 5.000 dollari di crediti per migrare la vostra attuale infrastruttura a Linode.
Commenti