

# Compromessi
<a name="a-tradeoffs"></a>

**Topics**
+ [PERF 8 A quali compromessi ricorri per migliorare le prestazioni?](w2aac19c11c11b5.md)

# PERF 8 A quali compromessi ricorri per migliorare le prestazioni?
<a name="w2aac19c11c11b5"></a>

 Quando si progettano soluzioni, determinare i compromessi ti consente di selezionare un approccio ottimale. Spesso è possibile migliorare le prestazioni accettando compromessi in termini di coerenza, durata e spazio a favore di tempo e latenza. 

**Topics**
+ [PERF08-BP01 Definizione delle aree in cui le prestazioni sono più importanti](perf_tradeoffs_performance_critical_areas.md)
+ [PERF08-BP02 Studio dei servizi e dei modelli di progettazione](perf_tradeoffs_performance_design_patterns.md)
+ [PERF08-BP03 Identificazione dell'impatto dei compromessi sui clienti e sull'efficienza](perf_tradeoffs_performance_understand_impact.md)
+ [PERF08-BP04 Misurazione dell'impatto dei miglioramenti delle prestazioni](perf_tradeoffs_performance_measure.md)
+ [PERF08-BP05 Scelta di più strategie relative alle prestazioni](perf_tradeoffs_performance_implement_strategy.md)

# PERF08-BP01 Definizione delle aree in cui le prestazioni sono più importanti
<a name="perf_tradeoffs_performance_critical_areas"></a>

 Comprendi e identifica le aree in cui l'aumento delle prestazioni del carico di lavoro determinerà un impatto positivo sull'efficienza o sull'esperienza del cliente. Ad esempio, un sito web che ha una grande quantità di interazione con i clienti può trarre vantaggio dall'utilizzo dei servizi edge per spostare la distribuzione di contenuti più vicino ai clienti. 

**Risultato desiderato:** aumenta l'efficienza delle prestazioni comprendendo l'architettura, gli schemi di traffico e gli schemi di accesso ai dati e identifica la latenza e i tempi di elaborazione. Identifica i potenziali colli di bottiglia che potrebbero influire sull'esperienza del cliente man mano che il carico di lavoro aumenta. Quando identifichi queste aree, individua quale soluzione puoi distribuire per evitare tali problemi di prestazioni.

 **Anti-pattern comuni:** 
+  Ritieni che i parametri di calcolo standard come `CPUUtilization` o la pressione della memoria siano sufficienti per rilevare i problemi di prestazioni. 
+  Utilizzi solo i parametri predefiniti registrati dal software di monitoraggio selezionato. 
+  Rivedi i parametri solo quando c'è un problema. 

 **Vantaggi dell'adozione di questa best practice:** l'individuazione delle aree critiche delle prestazioni consente ai proprietari del carico di lavoro di monitorare i KPI e dare priorità ai miglioramenti ad alto impatto. 

 **Livello di rischio associato se questa best practice non fosse adottata:** alto 

## Guida all'implementazione
<a name="implementation-guidance"></a>

Configura il tracciamento end-to-end per identificare gli schemi di traffico, la latenza e le aree con prestazioni critiche. Monitora gli schemi di accesso ai dati per query lente o dati scarsamente frammentati e partizionati. Identifica le aree vincolate del carico di lavoro utilizzando il test o il monitoraggio del carico.

## Passaggi dell'implementazione
<a name="w2aac19c11c11b5b6c17"></a>

1.  Configura il monitoraggio end-to-end per acquisire tutti i componenti e i parametri del carico di lavoro. 
   +  Utilizza [Amazon CloudWatch Real-User Monitoring (RUM)](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) per acquisire i parametri delle prestazioni delle applicazioni da sessioni lato client e front-end di utenti reali. 
   +  Configura [AWS X-Ray](https://aws.amazon.com/xray/) per tenere traccia del traffico nei livelli dell'applicazione e identificare la latenza tra componenti e dipendenze. Utilizza le mappe del servizio X-Ray per osservare le relazioni e la latenza tra i componenti del carico di lavoro. 
   +  Utilizza [gli approfondimenti sulle prestazioni di Amazon Relational Database Service](https://aws.amazon.com/rds/performance-insights/) per osservare i parametri delle prestazioni del database e identificare le prestazioni da migliorare. 
   +  Utilizza [il monitoraggio avanzato di Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.html) per osservare i parametri delle prestazioni del sistema operativo del database. 
   +  Raccogli [i parametri CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) per ogni componente e servizio del carico di lavoro e identifica quali parametri influiscono sull'efficienza delle prestazioni. 
   +  Configura [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) per ulteriori approfondimenti e suggerimenti sulle prestazioni. 

1.  Esegui i test per generare parametri, identificare schemi di traffico, colli di bottiglia e aree con prestazioni critiche. 
   +  Configura [i canary sintetici di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) per emulare le attività dell'utente basate su browser in modo programmatico usando processi `cron` o espressioni di valutazione per generare parametri coerenti nel tempo. 
   +  Utilizza la soluzione [AWS Distributed Load Testing (Test di carico distribuito in AWS)](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) per generare picchi di traffico o testare il carico di lavoro al tasso di crescita previsto. 

1.  Valuta i parametri e i dati di telemetria per identificare le aree critiche delle prestazioni. Esamina queste aree con il tuo team per determinare il monitoraggio e le soluzioni per evitare i colli di bottiglia. 

1.  Sperimenta i miglioramenti delle prestazioni e valuta tali modifiche con i dati. 
   +  Utilizza [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) per testare i nuovi miglioramenti e l'impatto delle prestazioni sul carico di lavoro. 

 **Livello di impegno per il piano di implementazione:** per adottare questa best practice occorre esaminare i parametri end-to-end ed essere a conoscenza delle prestazioni attuali del carico di lavoro. È richiesto un livello di impegno moderato per configurare il monitoraggio end-to-end e identificare le aree con prestazioni critiche. 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Usare Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 
+  [CloudWatch RUM e X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-services-RUM.html) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Demo di Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Esempi correlati:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Misurare il tempo di caricamento della pagina con Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Client Web Amazon CloudWatch RUM)](https://github.com/aws-observability/aws-rum-web) 
+  [SDK X-Ray per Node.js](https://github.com/aws/aws-xray-sdk-node) 
+  [SDK X-Ray per Phyton](https://github.com/aws/aws-xray-sdk-python) 
+  [SDK X-Ray per Java](https://github.com/aws/aws-xray-sdk-java) 
+  [SDK X-Ray per .Net](https://github.com/aws/aws-xray-sdk-dotnet) 
+  [SDK X-Ray per Ruby](https://github.com/aws/aws-xray-sdk-ruby) 
+  [Daemon X-Ray](https://github.com/aws/aws-xray-daemon) 
+  [Test di carico distribuito in AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF08-BP02 Studio dei servizi e dei modelli di progettazione
<a name="perf_tradeoffs_performance_design_patterns"></a>

 Ricerca e analizza i vari servizi e modelli di progettazione che permettono di migliorare le prestazioni del carico di lavoro. Nell'ambito dell'analisi, identifica gli elementi sui quali potresti accettare compromessi per ottenere prestazioni più elevate. Ad esempio, l'utilizzo di un servizio di cache può contribuire a ridurre il carico dei sistemi di database. Tuttavia, la memorizzazione nella cache può introdurre ulteriore consistenza e richiede un notevole sforzo tecnico a livello di esecuzione dell'implementazione in modo conforme ai requisiti aziendali e alle aspettative dei clienti. 

 **Risultato desiderato:** la ricerca di modelli di progettazione ti permetterà di scegliere la progettazione dell'architettura che supporterà il sistema con le migliori prestazioni. Scopri quali sono le opzioni di configurazione relative alla rete disponibili e come possono influire sul carico di lavoro. L'ottimizzazione delle prestazioni del carico di lavoro dipende dalla comprensione della modalità in cui tali opzioni interagiscono con l'architettura, nonché dell'impatto che avranno sia sulle prestazioni misurate sia sulle prestazioni percepite dagli utenti finali. 

 **Anti-pattern comuni:** 
+  Ritieni che tutte le tradizionali strategie informatiche relative alle prestazioni dei carichi di lavoro siano le più adatte ai carichi di lavoro nel cloud. 
+  Crei e gestisci soluzioni di caching invece di utilizzare i servizi gestiti. 
+  Utilizzi lo stesso modello di progettazione per tutti i carichi di lavoro senza valutare quale modello ne migliorerà le prestazioni. 

 **Vantaggi dell'adozione di questa best practice:** La corretta selezione del modello di progettazione e dei servizi per il carico di lavoro ti consentirà di ottimizzare le prestazioni, migliorare l'eccellenza operativa e aumentare l'affidabilità. Il modello di progettazione corretto sarà conforme alle caratteristiche del carico di lavoro corrente e ti aiuterà ad adeguare il ridimensionamento in base alla crescita o alle modifiche future. 

 **Livello di rischio associato se questa best practice non fosse adottata:** alto 

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Scopri quali sono le opzioni di configurazione relative alla rete disponibili e come possono influire sul carico di lavoro. L'ottimizzazione delle prestazioni del tuo carico di lavoro dipende dalla comprensione della modalità in cui tali opzioni interagiscono con la tua architettura e dell'impatto che hanno sulle prestazioni misurate e sulle prestazioni percepite dagli utenti. 

 **Passaggi dell'implementazione:** 

1. Valuta e rivedi i modelli di progettazione che potrebbero migliorare le prestazioni del carico di lavoro. 

   1. La [Amazon Builders' Library](https://aws.amazon.com/builders-library/) fornisce una descrizione dettagliata di come Amazon crea e gestisce la tecnologia. Questi articoli sono scritti dagli ingegneri senior di Amazon e coprono una varietà di argomenti, tra cui architettura, distribuzione di software e operazioni. 

   1. [Portfolio di soluzioni AWS](https://aws.amazon.com/solutions/) è una raccolta di soluzioni pronte per la distribuzione in cui sono assemblati servizi, codice e configurazioni. Queste soluzioni sono state create da AWS e partner AWS sulla base di casi d'uso comuni e modelli di progettazione raggruppati per settore o tipo di carico di lavoro. Ad esempio, puoi configurare una [soluzione di testing del carico distribuito](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) per il carico di lavoro. 

   1. [Centro di progettazione AWS](https://aws.amazon.com/architecture/) fornisce diagrammi dell'architettura di riferimento raggruppati per modello di progettazione, tipo di contenuto e tecnologia. 

   1. [Esempi di AWS](https://github.com/aws-samples) è un repository GitHub pieno di esempi pratici relativi a modelli di architettura, soluzioni e servizi comuni. Viene aggiornato di frequente in base ai più recenti servizi ed esempi. 

1. Migliora il carico di lavoro per definire ulteriormente i modelli di progettazione selezionati e utilizza le opzioni di configurazione dei servizi per ottimizzare le prestazioni del carico di lavoro. 

   1. Offri percorsi di formazione al team interno utilizzando le risorse disponibili in [AWS Skills Guild](https://aws.amazon.com/training/teams/aws-skills-guild/). 

   1. Utilizza la [AWS Partner Network](https://aws.amazon.com/partners/) per fornire competenze specifiche in modo rapido e potenziare la tua capacità di apportare miglioramenti. 

**Livello di impegno per il piano di implementazione:** per definire questa best practice, devi conoscere i modelli di progettazione e i servizi in grado di migliorare le prestazioni del carico di lavoro. Dopo aver valutato i modelli di progettazione, l'implementazione di tali modelli richiede *un elevato* livello di impegno. 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Centro di progettazione AWS](https://aws.amazon.com/architecture/) 
+  [AWS Partner Network](https://aws.amazon.com/partners/) 
+  [Portfolio di soluzioni AWS](https://aws.amazon.com/solutions/) 
+  [Knowledge Center di AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library/) 
+  [Utilizzo della riduzione del carico per evitare sovraccarichi](https://aws.amazon.com/builders-library/using-load-shedding-to-avoid-overload/?did=ba_card&trk=ba_card) 
+ [Sfide e strategie di caching](https://aws.amazon.com/builders-library/caching-challenges-and-strategies/?did=ba_card&trk=ba_card)

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [This is My Architecture (La mia architettura)](https://aws.amazon.com/architecture/this-is-my-architecture/) 

 **Esempi correlati:** 
+  [Esempi di AWS](https://github.com/aws-samples) 
+  [Esempi di SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 

# PERF08-BP03 Identificazione dell'impatto dei compromessi sui clienti e sull'efficienza
<a name="perf_tradeoffs_performance_understand_impact"></a>

 Quando valuti i miglioramenti correlati alle prestazioni, determina quali scelte avranno un impatto sui clienti e sull'efficienza del carico di lavoro. Ad esempio, se l'utilizzo di un datastore chiave-valore aumenta le prestazioni del sistema, è importante valutare in che modo la consistenza della sua natura finale influirà sui clienti. 

 Grazie ai parametri e al monitoraggio, identifica le aree del sistema in cui le prestazioni sono scarse. Stabilisci in che modo puoi apportare miglioramenti e quali compromessi comportano, oltre al loro impatto sul sistema e sull'esperienza degli utenti. L'implementazione di cache di dati, ad esempio, può contribuire a migliorare notevolmente le prestazioni ma richiede una strategia ben definita sulle modalità e sui tempi di aggiornamento o di invalidamento dei dati che vi sono contenuti, per evitare che il sistema si comporti in modo non corretto. 

 **Anti-pattern comuni:** 
+  Ritieni che tutti i vantaggi prestazionali debbano essere implementati, anche se ci sono compromessi per l'implementazione, come la consistenza finale. 
+  Valuti di apportare modifiche ai carichi di lavoro solo quando un problema prestazionale ha raggiunto un punto critico. 

 **Vantaggi dell'adozione di questa best practice:** Quando valuti potenziali miglioramenti relativi alle prestazioni, è necessario decidere se i compromessi per le modifiche sono coerenti con i requisiti del carico di lavoro. In alcuni casi, potrebbe essere necessario implementare controlli aggiuntivi per compensare i compromessi. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Alta 

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Identifica i compromessi: usa i parametri e il monitoraggio per identificare le aree di scarso rendimento del tuo sistema. Determina come apportare miglioramenti e che tipo di impatto avranno i compromessi sul sistema e sull'esperienza utente. L'implementazione di cache di dati, ad esempio, può contribuire a migliorare notevolmente le prestazioni, ma richiede una strategia ben definita sulle modalità e sui tempi di aggiornamento o di invalidamento dei dati che vi sono contenuti, per evitare che il sistema si comporti in modo non corretto. 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Quick KPIs (KPI di Amazon QuickSight)](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 
+  [RUM Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Optimize applications through Amazon CloudWatch RUM (Ottimizzazione delle applicazioni tramite RUM Amazon CloudWatch)](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo di Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Esempi correlati:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Misurare il tempo di caricamento della pagina con Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Client Web RUM Amazon CloudWatch)](https://github.com/aws-observability/aws-rum-web) 

# PERF08-BP04 Misurazione dell'impatto dei miglioramenti delle prestazioni
<a name="perf_tradeoffs_performance_measure"></a>

 Quando vengono apportate modifiche per migliorare le prestazioni, valuta i parametri e i dati raccolti. Utilizza queste informazioni per determinare l'impatto che il miglioramento delle prestazioni ha avuto sul carico di lavoro, sui suoi componenti e sui clienti. Queste misurazioni permettono di capire quali sono i miglioramenti ottenuti dai compromessi applicati e aiutano a stabilire se si sono verificati eventuali effetti collaterali negativi. 

 Un sistema Well-Architected si basa su una combinazione di varie strategie riguardanti le prestazioni. Identifica quale strategia determinerà il maggiore impatto positivo su un determinato hotspot o collo di bottiglia. Lo sharding dei dati su più sistemi di database relazionali, ad esempio, può migliorare il throughput complessivo pur continuando a supportare le transazioni e, con ogni shard, il caching può contribuire a ridurre il carico. 

 **Anti-pattern comuni:** 
+  Distribuisci e gestisci manualmente le tecnologie disponibili come servizi gestiti. 
+  Ti concentri su un solo componente, ad esempio la rete, nonostante più componenti possano essere utilizzati per aumentare le prestazioni del carico di lavoro. 
+  L'unico punto di riferimento è dato dal feedback e dalle percezioni dei clienti. 

 **Vantaggi dell'adozione di questa best practice:** Per implementare strategie prestazionali, è necessario selezionare più servizi e caratteristiche che, insieme, ti permetteranno di soddisfare i requisiti prestazionali del carico di lavoro. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Medium 

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Un sistema Well-Architected si basa su una combinazione di varie strategie riguardanti le prestazioni. Identifica quale strategia determinerà il maggiore impatto positivo su un determinato hotspot o collo di bottiglia. Lo sharding dei dati su più sistemi di database relazionali, ad esempio, può migliorare il throughput complessivo pur continuando a supportare le transazioni e, con ogni shard, il caching può contribuire a ridurre il carico. 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [RUM Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Distributed Load Testing on AWS (Test di carico distribuito in AWS)](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [Optimize applications through Amazon CloudWatch RUM (Ottimizzazione delle applicazioni tramite RUM Amazon CloudWatch)](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo di Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Esempi correlati:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Misurare il tempo di caricamento della pagina con Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Client Web RUM Amazon CloudWatch)](https://github.com/aws-observability/aws-rum-web) 
+  [Distributed Load Testing on AWS (Test di carico distribuito in AWS)](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF08-BP05 Scelta di più strategie relative alle prestazioni
<a name="perf_tradeoffs_performance_implement_strategy"></a>

 Se possibile, utilizza più strategie per migliorare le prestazioni. Scegli, ad esempio, strategie come la memorizzazione dei dati nella cache per evitare eccessive chiamate di rete o dei database, l'utilizzo di repliche di lettura per i motori di database al fine di migliorare i tassi di lettura, lo sharding o la compressione dei dati, ove possibile, per ridurre i volumi, e il buffering e lo streaming dei risultati man mano che diventano disponibili per evitare blocchi. 

 Man mano che apporti modifiche al carico di lavoro, raccogli e valuta i parametri per stabilire l'impatto dei cambiamenti. Misura gli impatti sul sistema e sugli utenti finali per capire in che modo i compromessi adottati influiscono sul carico di lavoro. Adotta un approccio sistematico, come il test del carico, per valutare se i compromessi migliorano le prestazioni. 

 **Anti-pattern comuni:** 
+  Ritieni che le prestazioni del carico di lavoro siano adeguate se i clienti non si lamentano. 
+  Raccogli i dati sulle prestazioni solo dopo aver apportato modifiche relative alle prestazioni. 

 **Vantaggi dell'adozione di questa best practice:** Per ottimizzare le prestazioni e l'utilizzo delle risorse, è necessario disporre di una vista operativa unificata, di dati granulari in tempo reale e di un riferimento storico. Puoi creare pannelli di controllo ed eseguire calcoli parametrici sui dati per ottenere informazioni operative e di utilizzo per i tuoi carichi di lavoro man mano che cambiano nel corso del tempo. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Bassa 

## Guida all'implementazione
<a name="implementation-guidance"></a>

 Utilizza un approccio basato sui dati per far evolvere la tua architettura: quando apporti modifiche al carico di lavoro, raccogli e valuta i parametri per determinare l'impatto di tali modifiche. Misura gli impatti sul sistema e sugli utenti finali per capire in che modo i compromessi adottati influiscono sul carico di lavoro. Adotta un approccio sistematico, come il test del carico, per valutare se i compromessi migliorano le prestazioni. 

## Risorse
<a name="resources"></a>

 **Documenti correlati:** 
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Best practice per l'implementazione di Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 
+  [AWS Database Caching (Memorizzazione nella cache del database AWS) ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Usare il RUM Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Distributed Load Testing on AWS (Test di carico distribuito in AWS)](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [AWS purpose-built databases (Database dedicati di AWS) (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28&ref=wellarchitected) 
+  [Optimize applications through Amazon CloudWatch RUM (Ottimizzazione delle applicazioni tramite RUM Amazon CloudWatch)](https://www.youtube.com/watch?v=NMaeujY9A9Y) 

 **Esempi correlati:** 
+  [Measure page load time with Amazon CloudWatch Synthetics (Misurare il tempo di caricamento della pagina con Amazon CloudWatch Synthetics)](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Amazon CloudWatch RUM Web Client (Client Web RUM Amazon CloudWatch)](https://github.com/aws-observability/aws-rum-web) 
+  [Distributed Load Testing on AWS (Test di carico distribuito in AWS)](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 