Panoramica sul caching

Con il caching, le prestazioni delle applicazioni su vasta scala sono molto migliori e i costi inferiori

Cos'è il caching?

Nell'ambito dell'elaborazione, la cache è un livello di storage dei dati ad alta velocità che memorizza un sottoinsieme di dati, in genere di natura temporanea, per rispondere alle richieste più rapidamente di quanto non sarebbe possibile accedendo ogni volta al percorso principale in cui si trovano i dati. Il caching permette di riutilizzare in modo efficiente dati già recuperati o elaborati.

Come funziona il caching?

I dati nella cache vengono generalmente archiviati in hardware ad accesso rapido, ad esempio la RAM, e possono essere elaborati con l'ausilio di un componente software. Lo scopo principale della cache è aumentare le prestazioni di recupero dei dati riducendo la necessità di accedere al livello di storage successivo, più lento.

La cache sacrifica la capacità in favore della velocità, perciò in genere può memorizzare solo un sottoinsieme temporaneo di dati, mentre nei database i dati vengono memorizzati in modo completo e durevole.

Panoramica sul caching

Grazie alle elevate percentuali di richieste o IOPS (operazioni input/output al secondo) supportate dalla RAM e dai motori in memoria, il caching migliora le prestazioni del recupero dei dati, inoltre i costi su larga scala sono ridotti. Per operare su una scala altrettanto grande con database tradizionali e hardware basato su disco, sarebbero necessarie risorse aggiuntive. Tali risorse naturalmente farebbero lievitare i costi e comunque non raggiungerebbero gli stessi risultati in fatto di latenza che garantisce la cache in memoria.

Le cache possono essere utilizzate su diversi livelli e con tecnologie di vario tipo, tra cui sistemi operativi, livelli di rete, ad esempio reti di distribuzione di contenuti (CDN) e DNS, applicazioni Web e database. La cache può essere utilizzata per ridurre in modo significativo la latenza e migliorare le prestazioni IOPS per i carichi di lavoro di applicazioni particolarmente gravosi in lettura, ad esempio portali di assistenza con le domande frequenti, videogiochi, soluzioni di condivisione di file e social network. Le informazioni memorizzate nella cache possono includere i risultati di query di database, calcoli complessi dal punto di vista computazionale, richieste e risposte API e artefatti Web quali HTML o JavaScript e file di immagine. I carichi di lavoro con elevate esigenze di elaborazione che operano su set di dati, ad esempio motori di raccomandazione e simulazioni ad alte prestazioni, potranno inoltre trarre molti vantaggi da un livello di dati in memoria con funzione di caching. In tali applicazioni, è necessario accedere in tempo reale a set di dati di dimensioni molto grandi su più cluster di macchine che possono coprire centinaia di nodi. Data la velocità dell'hardware, intervenire su tali dati in uno store basato su disco costituirebbe un collo di bottiglia significativo.

In un ambiente di calcolo distribuito, un livello di caching dedicato consente l'esecuzione di sistemi e applicazioni con cicli di vita specifici indipendentemente dalla cache, senza il rischio di comprometterla. La cache funziona come livello centralizzato a cui accedere da diversi sistemi, ciascuno con il proprio ciclo di vita e la propria topologia in quanto all’architettura. Si tratta di una soluzione particolarmente rilevante in sistemi i cui nodi delle applicazioni dispongono di scalabilità sia orizzontale sia verticale, applicabile in modo dinamico. Se la cache si trova nello stesso nodo dell'applicazione o dei sistemi che la utilizzano, la ricalibrazione potrebbe intaccare l'integrità della cache. Inoltre, quando viene impiegata la cache locale, i vantaggi si applicano esclusivamente alle applicazioni che usano dati in locale. In un ambiente di caching distribuito, i dati possono essere distribuiti su più server di cache e memorizzati in un percorso centralizzato a vantaggio di tutti i consumer.

Quando viene implementato un livello di cache, è importante comprendere la validità dei dati memorizzati. La cache è funzionale quando offre un hit rate elevato, perciò quando la richiesta di ripristino individua i dati cercati. Un mancato riscontro si verifica quando i dati ricercati non sono presenti nella cache. È possibile applicare diversi tipi di controllo, ad esempio specificare il time-to-live o TTL, per decidere i termini della scadenza dei dati. Un altro elemento importante potrebbe essere la necessità di operare in un ambiente di caching a disponibilità elevata oppure no, esigenza che può essere soddisfatta con un motore in memoria, ad esempio Redis. In alcuni casi, un livello di storage dei dati in memoria può essere utilizzato come livello autonomo, non solo per la memorizzazione dei dati dal percorso principale. In questo scenario, è importante che per determinare l'eventuale idoneità per i dati nel motore in memoria siano definiti i tempi di recupero previsti (RTO, Recovery Time Objective), ovvero il tempo necessario per recuperare il sistema dopo un'interruzione, e i punti di recupero previsti (RPO, Recovery Point Objective), ovvero l'ultimo punto o transazione acquisiti in fase di ripristino. Per soddisfare la maggior parte dei requisiti RTO e RPO, è possibile applicare diverse strategie di progettazione e caratteristiche dei diversi motori in memoria.

Livello Lato client DNS Web App Database
Caso d'uso

Recupero più rapido di contenuti dai siti Web (browser o dispositivo)

Risoluzione di domini in IP Recupero più rapido di contenuti da server Web o di applicazioni. Gestione di sessioni Web (lato server) Prestazioni delle applicazioni e accesso ai dati migliorati Riduzione della latenza associata alle richieste di query di database
Tecnologie Intestazioni di cache HTTP, browser Server DNS Intestazioni di cache HTTP, CDN, reverse proxy, acceleratori Web, store chiave-valore Datastore chiave-valore, cache locale Buffer di database, datastore chiave-valore
Soluzioni Specifiche per browser Amazon Route 53 Amazon CloudFrontElastiCache per RedisElastiCache per Memcachedsoluzioni di partner Framework di applicazioni, ElastiCache per RedisElastiCache per Memcachedsoluzioni di partner  ElastiCache per RedisElastiCache per Memcached

Caching con Amazon ElastiCache

Amazon ElastiCache è un servizio web che semplifica distribuzione, funzionamento e ridimensionamento di cache e datastore in memoria nel cloud. Si tratta di un servizio che potenzia le prestazioni delle applicazioni Web facilitando il recupero delle informazioni dai datastore gestiti in memoria, molto più rapide dei database basati su disco. Scopri come implementare una strategia di caching efficace con questo whitepaper tecnico sul caching in memoria.

diagramma

Vantaggi del caching

Poiché la memoria è di diversi ordini di grandezza più veloce rispetto ai dischi (magnetici o SSD), la lettura dei dati nella cache in memoria è estremamente rapida (inferiore al millisecondo). L'accesso ai dati è perciò significativamente più rapido, così come le prestazioni generali dell'applicazione.

Una singola istanza della cache è in grado di fornire centinaia di migliaia di IOPS (operazioni input/output al secondo) e può, potenzialmente, sostituire diverse istanze database, contribuendo alla riduzione dei costi. Si tratta di una soluzione particolarmente rilevante se la tariffa del database primario è basata sul throughput. In questo caso, il risparmio potrebbe essere di decine di punti percentuali.

Una problematica frequente nelle applicazioni moderne è come affrontare i picchi di utilizzo delle applicazioni. Ad esempio, i momenti di picco possono essere quelli a cui sono sottoposte le app di social network durante il Super Bowl o le elezioni, o ancora i siti di e-commerce durante il Black Friday. Il maggiore carico sul database provoca un aumento della latenza di accesso ai dati, perciò le prestazioni dell'applicazione diventano difficili da prevedere. L'elevato throughput della cache in memoria permette di mitigare questo problema.

In molte applicazioni, è facile che un piccolo sottoinsieme di dati, ad esempio il profilo di una celebrità o un prodotto molto venduto, ricevano più accessi rispetto agli altri dati. Alcune aree del database, perciò, potrebbero ricevere molte più richieste e quindi necessitare di maggiori risorse, a seconda dei requisiti di throughput stabiliti per i dati con maggiori accessi. L'archiviazione di chiavi comuni in una cache in memoria limita la necessità di acquisire risorse in eccesso, fornendo al contempo prestazioni elevate e prevedibili per i dati più richiesti.

Oltre a offrire bassa latenza, i sistemi in memoria forniscono una frequenza di elaborazione delle richieste (IOPS) molto maggiore rispetto a quella di un database basato su disco con risorse analoghe. Una singola istanza può essere usata come cache ausiliaria distribuita per rispondere a centinaia di migliaia di richieste al secondo.

Argomenti della pagina

Casi d'uso Settori

Casi d'uso

Le applicazioni per dispositivi mobili sono un segmento di mercato in forte crescita guidato dalla rapida adozione di dispositivi consumer e il declino nell'utilizzo dei computer tradizionali. Che si tratti di giochi, applicazioni commerciali o applicazioni di fitness, in quasi tutti i segmenti di mercato oggi sono previste applicazioni per dispositivi mobili. Dalla prospettiva dello sviluppo, creare applicazioni per dispositivi mobili è molto simile a creare qualsiasi altro tipo di applicazione. I punti di attenzione, le aree di maggiore visibilità, i livelli aziendali e di dati sono gli stessi. Il formato dello schermo e gli strumenti di sviluppo potranno anche essere differenti, ma offrire un'esperienza utente di alto livello è l'obiettivo principale di ogni tipo di applicazione. Per offrire le prestazioni che si aspettano gli utenti, una strategia di caching è una risorsa eccezionale che consente di ricalibrare enormi quantità di risorse e ridurre i costi.

L'Hub mobile AWS è una console che offre un'esperienza integrata per il rilevamento, la configurazione e l'accesso ai servizi cloud AWS, al fine di sviluppare e testare le app mobili e monitorarne l'utilizzo.

Quando il traffico Web è distribuito in aree geografiche diverse, non è sempre fattibile né conveniente replicare l'intera infrastruttura in tutto il mondo. Una CDN offre la possibilità di impiegare la rete globale di posizioni edge per offrire ai clienti una copia cache di contenuti web tra cui video, pagine, immagini e molto altro. Per ridurre i tempi di risposta, la CND utilizza la posizione edge più vicina ai clienti o alla posizione geografica da cui ha avuto origine la richiesta. Il throughput ne risulta migliorato in modo significativo, perché gli asset Web provengono dalla cache. Per quanto riguarda i dati generati in modo dinamico, è possibile configurare molte CDN per acquisire i dati dai server di origine.

Amazon CloudFront è un servizio CDN globale che accelera la distribuzione di siti web, API, contenuti video o altre risorse web. Si integra con altri prodotti di Amazon Web Services per offrire a sviluppatori e aziende una soluzione semplice per migliorare la distribuzione di contenuti agli utenti finali senza alcun impegno contrattuale minimo di utilizzo. Per ulteriori informazioni sulle CDN, consulta questa pagina.

Tutte le richieste di dominio inoltrate su Internet interrogano fondamentalmente i server cache DNS per risolvere gli indirizzi IP associati a un nome di dominio. Il caching DNS può essere applicato su più livelli, ad esempio al sistema operativo, tramite ISP e server DNS.

Amazon Route 53 è un servizio web del sistema dei nomi di dominio (DNS) in cloud altamente scalabile e disponibile.

Le sessioni HTTP contengono i dati utente scambiati tra gli utenti del sito e le applicazioni Web, ad esempio le informazioni di accesso, i carrelli degli acquisti, gli elementi già visualizzati e così via. Una gestione efficiente delle sessioni HTTP, ad esempio memorizzando le preferenze e offrendo un contesto valido, è un elemento estremamente importante per fornire un'esperienza di alto livello agli utenti di un sito Web. Con le moderne architetture di applicazioni, la soluzione ideale è impiegare un datastore di gestione delle sessioni centralizzato, che permette di fornire un'esperienza utente coerente su tutti i server Web, di migliorare la durabilità delle sessioni quando un parco di server Web è elastico e di aumentare la disponibilità quando i dati di sessione vengono replicati su più server cache.

Per ulteriori informazioni, clicca qui.

La maggior parte delle applicazioni Web sono basate sulle API. Un'API, in genere, è un servizio Web RESTful a cui è possibile accedere tramite HTTP e che dispone di risorse che permettono all'utente di interagire con l'applicazione. Quando viene progettata un'API, è importante prendere in considerazione diversi elementi, tra cui il carico previsto, le autorizzazioni, gli effetti delle modifiche della versione dei consumer dell'API e soprattutto la facilità d'uso. Un'API non necessita sempre dell'esecuzione di codice aziendale e/o di richieste di back-end a un database per ogni richiesta. A volte un risultato memorizzato nella cache dell'API offrirà una risposta ottimale e con costi minori. Questo vale soprattutto quando è possibile memorizzare nella cache le risposte API alla stessa velocità con cui i dati vengono modificati. Ad esempio, poniamo di disporre di un'API per la visualizzazione di prodotti in cui le diverse categorie di prodotto vengono modificate solo una volta al giorno. Poiché la risposta alla richiesta in una categoria sarà identica per tutte le chiamate effettuate durante un determinato giorno, sarà sufficiente memorizzare nella cache una risposta API. Memorizzando nella cache la risposta API, l'infrastruttura non deve più risponderne, perciò anche il carico su server di applicazione e database sarà minore. I tempi di risposta risulteranno inoltre più rapidi e le prestazioni delle API più elevate.

Gateway Amazon API è un servizio completamente gestito che consente agli sviluppatori di creare, pubblicare, mantenere, monitorare e proteggere facilmente le API su qualsiasi scala.

In un ambiente cloud ibrido, è possibile disporre di applicazioni che operano nel cloud e richiedono accessi frequenti a un database in locale. Sono disponibili molte topologie di rete che è possibile adottare per creare connettività tra il cloud e l'ambiente locale, ad esempio VPN e Direct Connect. E mentre la latenza tra VPC e data center locale potrebbe essere bassa, può essere consigliabile memorizzare i dati salvati in locale nella cache dell'ambiente cloud, in modo da velocizzare le prestazioni generali di recupero dei dati.

Durante la consegna di contenuti Web ai visualizzatori, la maggior parte della latenza correlata al recupero degli asset Web come le immagini, i documenti html, i video, ecc. può essere significativamente ridotta memorizzando nella cache gli artefatti ed eliminando le letture del disco e i caricamenti del server. Sono disponibili diverse tecniche di caching da impiegare sia lato server sia lato client. Il caching Web lato server in genere prevede l'impiego di un proxy Web che memorizzi le risposte provenienti dal server Web corrispondente, riducendo in questo modo carico e latenza. Questa caratteristica può anche includere il caching basato su browser, in cui viene memorizzata una versione cache dei contenuti già visitati. Per ulteriori informazioni sul caching Web, consulta questa pagina.

L'accesso ai dati in memoria è di diversi ordini di grandezza più veloce rispetto all'accesso su disco o SSD; la memorizzazione nella cache offre quindi enormi vantaggi. Per molti casi d'uso che non necessitano di supporto di dati transazionali o durabilità basata su disco, impiegare uno store chiave-valore in memoria come database autonomo è un ottimo modo per sviluppare applicazioni ad alte prestazioni. Oltre ad essere più veloci, disporranno anche di maggiore throughput in rapporto al costo. I dati utilizzabili come riferimento, ad esempio raggruppamenti di prodotti, elenchi di categorie, informazioni del profilo e così via, sono ottimi casi d'uso per il caching generico. Per ulteriori informazioni sul caching generico, consulta questa pagina.

La cache integrata è un livello in memoria che salva automaticamente nella cache i dati con accessi più frequenti dal database di origine. Nella maggior parte dei casi, il relativo database impiega questa cache per offrire le risposte alle richieste in entrata, poiché i dati si trovano nella cache. In questo modo, le prestazioni del database risultano potenziate in modo significativo, perché diminuisce la latenza delle richieste e viene ridotto l'utilizzo di CPU e memoria nel motore di database. Inoltre, nella cache integrata i dati memorizzati sono coerenti con quelli salvati su disco dal motore di database.

Settori

Le applicazioni per dispositivi mobili sono un segmento di mercato in forte crescita guidato dalla rapida adozione di dispositivi consumer e il declino nell'utilizzo dei computer tradizionali. Che si tratti di giochi, applicazioni commerciali o applicazioni di fitness, in quasi tutti i segmenti di mercato oggi sono previste applicazioni per dispositivi mobili. Dalla prospettiva dello sviluppo, creare applicazioni per dispositivi mobili è molto simile a creare qualsiasi altro tipo di applicazione. I punti di attenzione, le aree di maggiore visibilità, i livelli aziendali e di dati sono gli stessi. Il formato dello schermo e gli strumenti di sviluppo potranno anche essere differenti, ma offrire un'esperienza utente di alto livello è l'obiettivo principale di ogni tipo di applicazione. Per offrire le prestazioni che si aspettano gli utenti, una strategia di caching è una risorsa eccezionale che consente di ricalibrare enormi quantità di risorse e ridurre i costi.

L'Hub mobile AWS è una console che offre un'esperienza integrata per il rilevamento, la configurazione e l'accesso ai servizi cloud AWS, al fine di sviluppare e testare le app mobili e monitorarne l'utilizzo.

L'Internet of Things permette di raccogliere tramite appositi sensori informazioni da un dispositivo e da oggetti al di fuori del mondo informatico e trasmetterle su Internet o a un'applicazione che ne analizzi i dati. Il valore dell'IoT sta nella possibilità di interpretare i dati acquisiti a intervalli quasi in tempo reale, possibilità che permette alle applicazioni e ai sistemi di destinazione di rispondere con grande rapidità. Prendiamo ad esempio un dispositivo che trasmette coordinate GPS. Un'applicazione IoT può suggerire punti di interesse nelle vicinanze di tali coordinate. Se inoltre è prevista la memorizzazione delle preferenze dell'utente del dispositivo, è possibile offrire raccomandazioni personalizzate individuali. In questo esempio specifico, la velocità di risposta dell'applicazione alle coordinate è fondamentale per ottenere un'esperienza utente ottimale. Il caching può giocare un ruolo importante; i punti di interesse e le relative coordinate possono venire memorizzati in uno store chiave-valore, ad esempio Redis, per velocizzare i tempi di risposta. Dalla prospettiva dello sviluppo e grazie ai mezzi programmatici a disposizione, è possibile scrivere codice con cui l'applicazione IoT risponde a qualsiasi evento. Al momento della creazione di un'architettura IoT, tuttavia, è importante prendere in considerazione diversi elementi, quali il tempo di risposta necessario per l'analisi dei dati acquisiti, la progettazione di una soluzione in grado di ricalibrare un numero elevato di dispositivi e la distribuzione di un'architettura dai costi abbordabili.

AWS IoT è una piattaforma cloud gestita che consente a dispositivi connessi di interagire in modo semplice e sicuro con applicazioni nel cloud e altri dispositivi.

Altre letture: Managing IoT and Time Series Data with Amazon ElastiCache for Redis (Gestione di IoT e dati di serie temporali con Amazon ElastiCache per Redis)

Le moderne applicazioni pubblicitarie sono particolarmente onerose in termini di prestazioni. In questo settore, un esempio di area in notevole crescita è quella delle offerte in tempo reale o RTB (Real-Time Bidding), che è un approccio basato su aste alla vendita di spazi pubblicitari digitali in tempo reale, con una granularità a livello di singola impressione. Il modello delle offerte in tempo reale è stato quello dominante nel 2015, con il 74% di spazi pubblicitari acquistati in modo programmatico, per un valore di 11 miliardi di dollari solo negli Stati Uniti (secondo l'analisi di eMarketer). Quando viene creata un'app per le offerte in tempo reale, un ritardo di un millisecondo può fare la differenza tra un'offerta valida e una non valida. Il recupero delle informazioni sulle offerte dal database deve quindi essere estremamente rapido. Il caching di database, che consente di accedere ai dettagli delle offerte in meno di un millisecondo, è una soluzione ideale per ottenere prestazioni elevate.

L'interattività è un requisito base per quasi tutti i videogiochi di oggi. Niente crea una maggiore frustrazione in un giocatore quanto un gioco lento o che non risponde ai comandi; quando succede, il più delle volte il gioco e destinato a fallire. Questo requisito diventa ancora più evidente per i giochi in multiplayer su dispositivi mobili, dove un'azione eseguita da un utente deve essere applicata agli altri utenti in tempo reale. Il caching svolge un ruolo cruciale, perché permette al gioco di scorrere senza intoppi fornendo in meno di un millisecondo risposte alle query relative ai dati con accesso più frequente. Inoltre è molto utile per affrontare situazioni che si verificano di frequente, ad esempio per recuperare i punteggi dei giocatori.

Per ulteriori informazioni sullo sviluppo di giochi in AWS, consulta questa pagina.

Le aziende che producono contenuti multimediali devono spesso trasmettere grandi volumi di contenuti statici ai propri clienti e il numero di lettori e di visualizzazioni è estremamente variabile. Un servizio di streaming video come Netflix o Amazon Video, ad esempio, trasmette in streaming enormi quantità di contenuti video agli utenti finali. Si tratta di una situazione ideale per una rete per la distribuzione di contenuti, dove i dati vengono archiviati in un set di server cache distribuiti in tutto il mondo. Un altro dettaglio importante è che il carico delle applicazioni di questo tipo tende ad essere soggetto a sbalzi e picchi imprevedibili. Prendiamo ad esempio un blog su un sito Web di cui ha appena parlato una celebrità in un tweet, oppure il sito Web di una squadra di football durante il Super Bowl. Un picco di grandi dimensioni indirizzato a un piccolo sottoinsieme di contenuti può rappresentare una sfida importante per la maggior parte dei database, perché il throughput per chiave è limitato. Ma siccome la memoria ha un throughput estremamente maggiore rispetto al disco, una soluzione di caching di database risolverà il problema reindirizzando le richieste di lettura nella cache in memoria.

Le applicazioni di e-commerce moderne sono sempre più complesse e personalizzabili, con consigli in tempo reale basati sui dati e sulla cronologia degli acquisti dell'utente. Spesso sono anche in grado di consultare le attività dell'utente sui social network e di fornire così consigli in base agli acquisti o alle preferenze degli amici. Ma mentre la quantità di dati da elaborare aumenta, la pazienza dei clienti non cambia. Garantire quindi prestazioni in tempo reale non è più una solo peculiarità utile, ma una necessità; una buona strategia di caching è un elemento critico per le prestazioni di un'applicazione, che può fare la differenza tra successo e fallimento di un'app o tra una vendita o un cliente perso.

Le applicazioni social hanno preso d'assalto il mondo. I social network come Facebook, Twitter, Instagram e Snapchat hanno un numero elevato di utenti che consumano quantità sempre crescenti di contenuti. Quando un utente apre il suo feed, si aspetta di visualizzare i contenuti personalizzati più recenti quasi in tempo reale. Non si tratta di contenuti statici: gli amici, le immagini e gli interessi variano da utente a utente, così come molti altri dettagli; la complessità che ne deriva è estremamente superiore. Le app social sono inoltre spesso soggette a picchi di utilizzo in occasione di eventi di intrattenimento, sportivi o politici. Per ottenere resilienza a questi picchi e prestazioni in tempo reale, è necessario progettare diversi livelli di caching, con ad esempio reti per la distribuzione di contenuti per i contenuti statici quali le immagini di sfondo, cache di sessione per tenere traccia dei dati della sessione corrente dell'utente e cache di database per tenere sempre pronti i dati con accessi frequenti, ad esempio le ultime notizie degli amici più vicini e le ultime immagini visualizzate.

Il settore sanitario sta attraversando una rivoluzione digitale, che rende l'assistenza disponibile e accessibile a un numero sempre maggiore di pazienti in tutto il mondo. Alcune applicazioni permettono ai pazienti di consultare il proprio dottore tramite video, mentre la maggior parte dei grandi provider di assistenza sanitaria dispone di app con cui i pazienti possono consultare i risultati dei propri esami e comunicare con il personale medico. Nel settore del wellness, invece, sono già presenti un'infinità di applicazioni, che vanno dal monitoraggio delle attività degli utenti tramite un sensore (ad esempio FitBit e Jawbone) al coaching completo. Data la loro natura interattiva, è necessario offrire applicazioni con livelli aziendali e di dati ad alte prestazioni. Con una strategia di caching efficace sarà possibile garantire prestazioni elevate, ridurre i costi dell'infrastruttura e ricalibrare le risorse in base alla domanda.

Per ulteriori informazioni sulla creazione di app per il settore sanitario in AWS, consulta questa pagina.

Il modo in cui gli utenti si servono dei servizi finanziari è cambiato notevolmente negli ultimi anni. Ora esistono applicazioni che permettono l'accesso a servizi bancari e assicurativi, rilevamento di attività fraudolente, servizi di investimento, ottimizzazione per mercato dei capitali mediante algoritmi in tempo reale e molto altro. Non è semplice offrire l'accesso in tempo reale ai dati finanziari e permettere di effettuare transazioni, ad esempio un trasferimento di denaro o un pagamento. In primo luogo, si applicano vincoli analoghi alle altre applicazioni in cui l'utente deve interagire con l'app quasi in tempo reale. Secondariamente, le applicazioni finanziarie sono soggette a requisiti aggiuntivi, ad esempio una maggiore sicurezza e funzioni quali il rilevamento di attività fraudolente. Per soddisfare le esigenze dei clienti, è fondamentale disporre di un'architettura efficiente che includa una strategia di caching a più livelli. A seconda delle esigenze dell'applicazione, i livelli di caching possono includere una cache di sessione per archiviare i dati di sessione dell'utente, una rete per la distribuzione di contenuti per i contenuti statici e una cache di database per i dati con accessi frequenti, ad esempio gli ultimi 10 acquisti di un cliente.

Per ulteriori informazioni sulle app per servizi finanziari in AWS, consulta questa pagina.