

# Efficienza delle prestazioni
<a name="a-performance-efficiency"></a>

**Topics**
+ [

# Selezione
](a-selection.md)
+ [

# Revisione
](a-review.md)
+ [

# Monitoraggio
](a-monitoring.md)
+ [

# Compromessi
](a-tradeoffs.md)

# Selezione
<a name="a-selection"></a>

**Topics**
+ [

# PERF 1 In che modo selezioni l'architettura più performante?
](w2aac19c11b5b5.md)
+ [

# PERF 2 In che modo selezioni la tua soluzione di calcolo?
](w2aac19c11b5b7.md)
+ [

# PERF 3 In che modo selezioni la soluzione di storage?
](w2aac19c11b5b9.md)
+ [

# PERF 4 In che modo selezioni la soluzione di database?
](w2aac19c11b5c11.md)
+ [

# PERF 5 In che modo configuri la soluzione di rete?
](w2aac19c11b5c13.md)

# PERF 1 In che modo selezioni l'architettura più performante?
<a name="w2aac19c11b5b5"></a>

 Spesso sono necessari molteplici approcci per ottenere prestazioni ottimali in un carico di lavoro. I sistemi Well-Architected utilizzano soluzioni multiple e funzionalità diverse per migliorare le prestazioni. 

**Topics**
+ [

# PERF01-BP01 Identificazione dei servizi e delle risorse disponibili
](perf_performing_architecture_evaluate_resources.md)
+ [

# PERF01-BP02 Definizione di un processo per le scelte architetturali
](perf_performing_architecture_process.md)
+ [

# PERF01-BP03 Considerazione dei requisiti di costo nelle decisioni
](perf_performing_architecture_cost.md)
+ [

# PERF01-BP04 Utilizzo di policy o architetture di riferimento
](perf_performing_architecture_use_policies.md)
+ [

# PERF01-BP05 Utilizzo delle linee guida del fornitore di servizi cloud o di un partner appropriato
](perf_performing_architecture_external_guidance.md)
+ [

# PERF01-BP06 Benchmarking dei carichi di lavoro esistenti
](perf_performing_architecture_benchmark.md)
+ [

# PERF01-BP07 Esecuzione di un test di carico sul carico di lavoro
](perf_performing_architecture_load_test.md)

# PERF01-BP01 Identificazione dei servizi e delle risorse disponibili
<a name="perf_performing_architecture_evaluate_resources"></a>

 Scopri tutte le informazioni sull'ampia gamma di servizi e risorse disponibili nel cloud. Identifica quali servizi e opzioni di configurazione sono pertinenti per il tuo carico di lavoro e studia come utilizzarli per raggiungere prestazioni ottimali. 

 Se stai valutando un carico di lavoro esistente, devi generare un inventario delle varie risorse dei servizi che utilizza. Tale inventario ti aiuta a valutare quali componenti possono essere sostituiti con servizi gestiti e tecnologie più recenti. 

 **Anti-pattern comuni:** 
+  Utilizzi il cloud come data center in co-location. 
+  Utilizzi lo storage condiviso per tutto ciò che necessita di storage persistente. 
+  Non utilizzi l'auto scaling. 
+  Se necessario, utilizzi tipi di istanze strettamente correlate ai tuoi standard attuali, ma più grandi. 
+  Distribuisci e gestisci le tecnologie disponibili come servizi gestiti. 

 **Vantaggi dell'adozione di questa best practice:** Prendendo in considerazione i servizi con cui non hai familiarità, puoi ridurre notevolmente il costo dell'infrastruttura e l'impegno necessario per mantenere i servizi. Distribuendo nuovi servizi e funzionalità potresti accelerare l'immissione sul mercato. 

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

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

 Inventario del software e dell'architettura del carico di lavoro per i servizi correlati: raccogli un inventario del carico di lavoro e scegli la categoria di prodotti su cui ottenere ulteriori informazioni. Identifica componenti del carico di lavoro che possano essere sostituiti con servizi gestiti per aumentare le prestazioni e ridurre la complessità operativa. 

## 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/) 
+  [Portale del sapere AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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) 

# PERF01-BP02 Definizione di un processo per le scelte architetturali
<a name="perf_performing_architecture_process"></a>

 Affidati all'esperienza e alle competenze interne in materia di cloud o utilizza risorse esterne, come casi d’uso pubblicati, documentazione pertinente o whitepaper, per definire un processo per scegliere risorse e servizi. È necessario definire un processo che incoraggi la sperimentazione e il benchmarking con i servizi che potrebbero essere utilizzati nel tuo carico di lavoro. 

 Durante lo studio degli scenari utente critici per la tua architettura, devi includere i requisiti relativi alle prestazioni, specificando ad esempio la rapidità con il quale deve essere eseguito ogni scenario. Per questi scenari critici, devi implementare percorsi utente con script aggiuntivi per chiarire esattamente quali sono le loro prestazioni rispetto ai requisiti. 

 **Anti-pattern comuni:** 
+  Ritieni che l'architettura corrente diventi statica e non venga aggiornata nel corso del tempo. 
+  Introduci modifiche all'architettura nel tempo senza giustificazioni. 

 **Vantaggi dell'adozione di questa best practice:** Un processo definito per apportare modifiche all'architettura, ti consente di utilizzare i dati raccolti per influenzare la progettazione del carico di lavoro nel corso del tempo. 

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

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

 Scelta di un approccio architetturale: identifica il tipo di architettura che soddisfa i tuoi requisiti prestazionali. Identifica i vincoli, come il mezzo per la distribuzione (desktop, Web, dispositivo mobile, IoT), i requisiti legacy e le integrazioni. Identifica le opportunità di riutilizzo, incluso il refactoring. Consulta altri team, diagrammi architetturali e risorse come AWS Solutions Architect, architetture di riferimento AWS e Partner AWS per scegliere un'architettura. 

 Definisci i requisiti prestazionali: utilizza l'esperienza del cliente per identificare i parametri più importanti. Per ciascuno di essi, identifica l'obiettivo, l'approccio per la misurazione e la priorità. Definisci l'esperienza cliente. Documenta l'esperienza prestazionale richiesta dai clienti, incluso come i clienti giudicano le performance del carico di lavoro. Assegna le priorità a problemi riguardanti l'esperienza per i casi utente critici. Includi requisiti prestazionali e implementa percorsi utente con script per chiarire esattamente quali sono le loro prestazioni rispetto ai requisiti. 

## 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/) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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) 

# PERF01-BP03 Considerazione dei requisiti di costo nelle decisioni
<a name="perf_performing_architecture_cost"></a>

 I carichi di lavoro spesso hanno requisiti di costo per il funzionamento. Utilizza i controlli dei costi interni per selezionare le dimensioni e i tipi di risorse in base alle necessità previste in termini di risorse. 

 Determina quali componenti del carico di lavoro possono essere sostituiti con dei servizi completamente gestiti, come i database gestiti, le cache in memoria e i servizi ETL. La riduzione del carico di lavoro operativo consente di concentrare le risorse sui risultati aziendali. 

 Per le best practice relative ai requisiti di costo, consulta la sezione *Risorse convenienti* del [Whitepaper sul principio dell'ottimizzazione dei costi](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/welcome.html). 

 **Anti-pattern comuni:** 
+  Utilizzi una sola famiglia di istanze. 
+  Ometti di valutare le soluzioni con licenza rispetto alle soluzioni open-source 
+  Utilizzi solo lo storage a blocchi. 
+  Implementa software comune su istanze EC2 ed Amazon EBS o volumi temporanei disponibili come servizio gestito. 

 **Vantaggi dell'adozione di questa best practice:** Tenendo in considerazione i costi quando effettui le selezioni ti consentirà di abilitare altri investimenti. 

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

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

 Ottimizzazione dei componenti del carico di lavoro per ridurre i costi: dimensiona correttamente i componenti del carico di lavoro e consenti l'elasticità per ridurre i costi e massimizzare l'efficienza dei componenti. Determina quali componenti del carico di lavoro possono essere sostituiti con servizi completamente gestiti, laddove appropriato, ad esempio database gestiti, cache in memoria e proxy inversi. 

## 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/) 
+  [Portale del sapere AWS](https://aws.amazon.com/premiumsupport/knowledge-center/) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [La mia architettura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Esempi correlati:** 
+  [Esempi di AWS](https://github.com/aws-samples) 
+  [Esempi di SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento corretto con Compute Optimizer e l'utilizzo della memoria abilitati)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code (Codice dimostrativo di AWS Compute Optimizer)](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF01-BP04 Utilizzo di policy o architetture di riferimento
<a name="perf_performing_architecture_use_policies"></a>

 Massimizza le prestazioni e l'efficienza valutando le policy interne e le architetture di riferimento esistenti e sfrutta la tua analisi per selezionare servizi e configurazioni per il carico di lavoro. 

 **Anti-pattern comuni:** 
+  Consenti l'utilizzo di una vasta gamma di tecnologie che possono influire sui costi di gestione della tua azienda. 

 **Vantaggi dell'adozione di questa best practice:** La definizione di una policy per la scelta dell'architettura, della tecnologia e del fornitore consentirà di prendere decisioni rapidamente. 

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

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

 Distribuzione del carico di lavoro utilizzando policy esistenti o architetture di riferimento: integra i servizi nella distribuzione cloud, quindi utilizza i test delle prestazioni per assicurarti di continuare a soddisfare i requisiti prestazionali. 

## 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/) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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) 

# PERF01-BP05 Utilizzo delle linee guida del fornitore di servizi cloud o di un partner appropriato
<a name="perf_performing_architecture_external_guidance"></a>

 Utilizza le risorse del fornitore di servizi cloud, come solutions architect, servizi professionali o un partner appropriato per orientare le tue decisioni. Queste risorse possono aiutarti a rivedere e migliorare l'architettura per ottenere prestazioni ottimali. 

 Contatta AWS per ricevere assistenza quando ti occorrono ulteriori indicazioni o informazioni sui prodotti. Gli AWS Solutions Architect e [AWS Professional Services](https://aws.amazon.com/professional-services/) forniscono linee guida per l'implementazione della soluzione. [I Partner AWS](https://aws.amazon.com/partners/) mettono a disposizione la propria competenza su AWS per aiutarti ad assicurare alla tua azienda agilità ed innovazione. 

 **Anti-pattern comuni:** 
+  AWS viene utilizzato come provider di data center comune. 
+  I servizi AWS vengono utilizzati in modo diverso rispetto alla loro progettazione iniziale. 

 **Vantaggi dell'adozione di questa best practice:** Grazie alla consulenza con il tuo fornitore o partner potrai prendere decisioni con fiducia. 

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

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

 Contatta le risorse AWS per assistenza: i Solutions Architect AWS e gli AWS Professional Services forniscono indicazioni per l'implementazione delle soluzioni. I partner APN mettono a disposizione la propria conoscenza di AWS per aiutarti ad assicurare alla tua azienda agilità e innovazione. 

## 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/) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [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) 

# PERF01-BP06 Benchmarking dei carichi di lavoro esistenti
<a name="perf_performing_architecture_benchmark"></a>

 Esegui il benchmarking delle prestazioni di un carico di lavoro esistente per comprendere le sue prestazioni sul cloud. Utilizza i dati raccolti da questi benchmark per orientare le decisioni architetturali. 

 Utilizza test sintetici di benchmarking e monitoraggio degli utenti reali per generare dati sulle prestazioni dei componenti durante il carico di lavoro. Di solito, i benchmark sono più rapidi da configurare rispetto ai test di carico e vengono utilizzati per valutare la tecnologia di un componente specifico. Il benchmarking viene spesso utilizzato all'inizio di un nuovo progetto, quando non è ancora disponibile una soluzione completa da sottoporre a test di carico. 

 Puoi creare benchmark personalizzati, oppure utilizzare un test standard di settore, come [TPC-DS](http://www.tpc.org/tpcds/) , per confrontare i carichi di lavoro del data warehousing. I benchmark di settore sono utili quando devi confrontare ambienti diversi. Quelli personalizzati, invece, sono indicati per analizzare tipi specifici di operazioni che prevedi di eseguire nell'architettura. 

 In fase di benchmarking, è importante effettuare delle operazioni preliminari sull'ambiente di test al fine di garantire la validità dei risultati. Devi eseguire lo stesso benchmark più volte, per assicurarti di avere acquisito ogni eventuale variazione nel corso del tempo. 

 Dal momento che, di solito, l'esecuzione dei benchmark è più rapida di quella dei test di carico, il benchmarking può essere utilizzato sin dalle prime fasi della pipeline di distribuzione, così da fornire al team feedback più rapidi sulle deviazioni delle prestazioni. Quando valuti un cambiamento significativo in un componente o servizio, i benchmark possono essere un modo rapido per verificare se l'impegno necessario per apportare la modifica sia giustificato. L'utilizzo del benchmarking in combinazione con i test di carico è importante perché questi ultimi forniscono indicazioni sulle prestazioni del carico di lavoro in fase di produzione. 

 **Anti-pattern comuni:** 
+  Fai affidamento su valori di riferimento comuni che non sono indicativi delle caratteristiche del carico di lavoro. 
+  L'unico punto di riferimento è dato dal feedback e dalle percezioni dei clienti. 

 **Vantaggi dell'adozione di questa best practice:** Il benchmarking dell'implementazione corrente ti consente di misurare il miglioramento delle prestazioni. 

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

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

 Monitoraggio delle prestazioni durante lo sviluppo: implementa processi che forniscono visibilità sulle prestazioni durante l'evoluzione del carico di lavoro. 

 Integrazione nella pipeline di distribuzione: esegui automaticamente test di carico nella pipeline di distribuzione. Confronta i risultati dei test con soglie e KPI predefiniti per assicurarti di poter continuare a soddisfare i requisiti delle prestazioni. 

 Test dei percorsi utente: utilizza versioni sintetiche o purificate dei dati di produzione, rimuovendo le informazioni sensibili o che permettono l'identificazione degli utenti, per eseguire i test di carico. Verifica l'intera architettura utilizzando percorsi utente riprodotti o già programmati su tutta l'applicazione in larga scala. 

 Monitoraggio degli utenti reali: utilizza il RUM CloudWatch come aiuto per raccogliere e visualizzare i dati lato cliente riguardanti le prestazioni dell'applicazione. Utilizza quindi i dati per definire i benchmark prestazionali per gli utenti reali. 

## 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/) 
+  [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) 

 **Video correlati:** 
+  [Introducing The Amazon Builders' Library (DOP328)](https://www.youtube.com/watch?v=sKRdemSirDM) 
+  [La mia architettura](https://aws.amazon.com/architecture/this-is-my-architecture/) 
+  [Optimize applications through Amazon CloudWatch RUM (Ottimizzazione delle applicazioni tramite il 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:** 
+  [Esempi di AWS](https://github.com/aws-samples) 
+  [Esempi di SDK AWS](https://github.com/awsdocs/aws-doc-sdk-examples) 
+  [Test di carico distribuito](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 
+  [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) 

# PERF01-BP07 Esecuzione di un test di carico sul carico di lavoro
<a name="perf_performing_architecture_load_test"></a>

 Distribuisci l'architettura del carico di lavoro più recente nel cloud utilizzando tipologie e dimensioni di risorse diverse. Monitora la distribuzione per acquisire parametri delle prestazioni che identificano colli di bottiglia o capacità in eccesso. Utilizza queste informazioni sulle prestazioni per progettare o migliorare la tua architettura e la selezione delle risorse. 

 I test di carico utilizzano il carico di lavoro *effettivo* per consentirti di osservare le prestazioni dell'intera soluzione in un ambiente di produzione. Occorre eseguire i test di carico tramite versioni sintetiche o purificate dei dati di produzione (rimuovendo le informazioni sensibili o che permettono l'identificazione degli utenti). Utilizza percorsi utente riprodotti o già programmati su tutto il carico di lavoro su vasta scala verificando l'intera architettura. Esegui automaticamente test di carico come parte della pipeline di distribuzione e confronta i risultati con KPI e soglie predefiniti. In questo, modo puoi continuare a raggiungere le prestazioni richieste. 

 **Anti-pattern comuni:** 
+  Vengono testate le singole parti del carico di lavoro, ma non l'intero carico di lavoro. 
+  Il test di carico viene eseguito su un'infrastruttura diversa dall'ambiente di produzione. 
+  Esegui i test di carico solo per il carico previsto e non oltre, per prevedere dove si potrebbero riscontrare problemi futuri. 
+  Esegui test di carico senza informare Supporto AWS; il test viene, quindi, bloccato perché appare come un evento Denial of Service. 

 **Vantaggi dell'adozione di questa best practice:** Misurando le prestazioni in un test di carico, potrai vedere dove avrà luogo l'impatto con l'aumento del carico. In questo modo puoi anticipare le modifiche necessarie prima che influiscano sul carico di lavoro. 

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

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

 Convalida dell'approccio con test di carico: esegui test di carico di un proof-of-concept per scoprire se l'approccio soddisfa i tuoi requisiti prestazionali. Puoi utilizzare i servizi AWS per eseguire ambienti in ambito di produzione e sottoporre l'architettura a test. Dal momento che paghi l'ambiente di test solo quando ti serve, puoi effettuare test su scala completa a un costo estremamente ridotto rispetto all'uso di un ambiente in locale. 

 Parametri di monitoraggio: Amazon CloudWatch può raccogliere i parametri per tutte le risorse dell'architettura. Puoi anche raccogliere e pubblicare parametri personalizzati per ottenere parametri aziendali o derivati. Utilizza CloudWatch o soluzioni di terze parti per impostare allarmi che indicano il superamento delle soglie. 

 Test su scala: i test di carico utilizzano il carico di lavoro effettivo, così da poter osservare le prestazioni dell'intera soluzione in un ambiente di produzione. Puoi utilizzare i servizi AWS per eseguire ambienti in ambito di produzione e sottoporre l'architettura a test. Dal momento che paghi l'ambiente di test solo quando ti serve, puoi effettuare test su scala completa a un costo inferiore rispetto all'uso di un ambiente in locale. Sfrutta i vantaggi offerti dal Cloud AWS per testare il carico di lavoro e scoprire dove la scalabilità non è possibile o se non è lineare. Ad esempio, usa le istanze Spot per generare carichi a costi ridotti e rilevare i colli di bottiglia prima che si verifichino in produzione. 

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

 **Documenti correlati:** 
+  [AWS CloudFormation](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/Welcome.html) 
+  [Building AWS CloudFormation Templates using CloudFormer (Creazione di modelli AWS CloudFormation tramite CloudFormer)](https://aws.amazon.com/blogs/devops/building-aws-cloudformation-templates-using-cloudformer/) 
+  [Usare Amazon CloudWatch RUM](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) 
+  [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 Amazon CloudWatch RUM)](https://www.youtube.com/watch?v=NMaeujY9A9Y) 
+  [Demo di Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Esempi correlati:** 
+  [Test di carico distribuito in AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF 2 In che modo selezioni la tua soluzione di calcolo?
<a name="w2aac19c11b5b7"></a>

La soluzione di calcolo ottimale per un determinato carico di lavoro varia in base alla progettazione dell'applicazione, ai modelli di utilizzo e alle impostazioni di configurazione. Le architetture possono utilizzare diverse soluzioni di elaborazione per vari componenti e consentire funzioni diverse per migliorare le prestazioni. Selezionare la soluzione di calcolo sbagliata per un'architettura può portare a una riduzione dell'efficienza delle prestazioni.

**Topics**
+ [

# PERF02-BP01 Valutazione delle opzioni di calcolo disponibili
](perf_select_compute_evaluate_options.md)
+ [

# PERF02-BP02 Identificazione delle opzioni di configurazione di calcolo disponibili
](perf_select_compute_config_options.md)
+ [

# PERF02-BP03 Raccolta dei parametri relativi al calcolo
](perf_select_compute_collect_metrics.md)
+ [

# PERF02-BP04 Definizione della configurazione richiesta in base al corretto dimensionamento
](perf_select_compute_right_sizing.md)
+ [

# PERF02-BP05 Utilizzo dell'elasticità disponibile delle risorse
](perf_select_compute_elasticity.md)
+ [

# PERF02-BP06 Rivalutazione delle esigenze di elaborazione sulla base dei parametri
](perf_select_compute_use_metrics.md)

# PERF02-BP01 Valutazione delle opzioni di calcolo disponibili
<a name="perf_select_compute_evaluate_options"></a>

 Comprendi in che modo l'utilizzo di diverse opzioni di calcolo, come istanze, container e funzioni, porta vantaggi al tuo carico di lavoro. 

 **Risultato desiderato:** comprendendo tutte le opzioni di calcolo disponibili, saprai quali sono le opportunità per migliorare le prestazioni, ma anche per ridurre i costi infrastrutturali inutili e l'impegno operativo necessario per mantenere il carico di lavoro. Puoi anche accelerare l'immissione sul mercato quando distribuisci nuovi servizi e funzionalità. 

 **Anti-pattern comuni:** 
+  Utilizzo, in un carico di lavoro post-migrazione, della stessa soluzione di calcolo utilizzata on-premise. 
+  Poca conoscenza delle soluzioni di cloud computing e di come queste migliorino le prestazioni di calcolo. 
+  Dimensionamento in eccesso della soluzione di calcolo per soddisfare i requisiti di dimensionamento o prestazioni, quando il passaggio a una nuova soluzione di calcolo soddisferebbe le caratteristiche del tuo carico di lavoro in modo più preciso. 

 **Vantaggi dell'adozione di questa best practice:** L'identificazione dei requisiti di calcolo e la valutazione delle soluzioni di calcolo disponibili consente a stakeholder e team di progettazione di comprendere i benefici e i limiti che l'utilizzo della soluzione scelta comporta. La soluzione di calcolo scelta deve soddisfare i criteri prestazionali del carico di lavoro. I criteri essenziali includono le esigenze di calcolo, gli schemi di traffico, gli schemi di accesso ai dati e i requisiti di latenza. 

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

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

 Analizza e comprendi le soluzioni di virtualizzazione, containerizzazione e gestione che portano benefici al carico di lavoro e soddisfano i tuoi requisiti prestazionali. Un carico di lavoro può contenere più tipi di soluzioni di calcolo, ognuna contraddistinta da caratteristiche diverse. In base alla dimensione del carico di lavoro e ai requisiti di calcolo, è possibile selezionare e configurare una soluzione di calcolo adatta alle tue esigenze. Il Cloud Architect deve conoscere i vantaggi e gli svantaggi legati a istanze, container e funzioni. I passaggi seguenti aiutano a capire come selezionare la soluzione di calcolo più adatta per le caratteristiche del tuo carico di lavoro e i tuoi requisiti prestazionali. 


|  **Tipo**  |  **Server**  |  **Container**  |  **Funzione**  | 
| --- | --- | --- | --- | 
|  Servizio AWS  |  Le istanze dei server virtuali Amazon Elastic Compute Cloud (Amazon EC2)  |  Amazon Elastic Container Service (Amazon ECS), Amazon Elastic Kubernetes Service (Amazon EKS)  |  AWS Lambda  | 
|  Caratteristiche chiave  |  Dispone di opzioni dedicate per requisiti di licenza hardware, opzioni di collocazione e una vasta gamma di famiglie di istanze diverse basate su parametri di calcolo  |  Implementazione facile, ambienti coerenti, esecuzione su istanze EC2, scalabilità  |  Runtime rapido (meno di 15 minuti), memoria e CPU massime non ai livelli di altri servizi, livello hardware gestito, scalabilità fino a milioni di richieste simultanee  | 
|  Casi d'uso comuni  |  Migrazioni con rehosting (lift and shift), applicazione monolitica, ambienti ibridi, applicazioni aziendali  |  Microservizi, ambienti ibridi,  |  Microservizi, applicazioni basate su eventi  | 

 

 **Passaggi dell'implementazione:** 

1.  Seleziona la posizione in cui deve risiedere la soluzione di calcolo valutando [PERF05-BP06 Scelta della posizione del carico di lavoro in base ai requisiti di rete](perf_select_network_location.md). La posizione comporterà dei limiti ai tipi di soluzione di calcolo disponibili. 

1.  Identifica il tipo di soluzione di calcolo che può funzionare con i requisiti della posizione e dell'applicazione  

   1.  [https://aws.amazon.com/ec2/](https://aws.amazon.com/ec2/) sono disponibili in una vasta gamma di famiglie e dimensioni. Offrono un'ampia scelta di funzionalità, fra cui SSD e GPU. Le istanze EC2 presentano la più grande flessibilità nella scelta dell'istanza. Quando avvii un'istanza EC2, il tipo specificato determina l'hardware dell'istanza stessa. Ciascun tipo di istanza offre varie capacità di elaborazione, memoria e storage. I tipi di istanza sono raggruppati in famiglie di istanze in base alle loro funzionalità. Sono casi d'uso tipici: l'esecuzione di applicazioni aziendali, il calcolo ad alte prestazioni (HPC), l'addestramento e l'implementazione di applicazioni di machine learning e l'esecuzione di applicazioni native per il cloud. 

   1.  [https://aws.amazon.com/ecs/](https://aws.amazon.com/ecs/) è un servizio di orchestrazione dei container completamente gestito che consente di eseguire e gestire automaticamente i container su un cluster di istanze EC2 o istanze serverless utilizzando AWS Fargate. Puoi utilizzare Amazon ECS con altri servizi come Amazon Route 53, Secrets Manager, AWS Identity and Access Management (IAM) e Amazon CloudWatch. È consigliabile utilizzare Amazon ECS se la tua è un'applicazione containerizzata e il tuo team di progettazione preferisce i container Docker. 

   1.  [https://aws.amazon.com/eks/](https://aws.amazon.com/eks/) è un servizio Kubernetes completamente gestito. Puoi scegliere di eseguire i cluster EKS utilizzando AWS Fargate, eliminando, così, la necessità di effettuare il provisioning e di gestire i server. La gestione di Amazon EKS è semplificata grazie alle integrazioni con servizi AWS come Amazon CloudWatch, gruppi con scalabilità automatica, AWS Identity and Access Management (IAM) e Amazon Virtual Private Cloud (VPC). Con i container devi utilizzare parametri di calcolo per selezionare il tipo più idoneo per il tuo carico di lavoro, proprio come li utilizzi per selezionare i tipi di istanza EC2 o AWS Fargate. Amazon EKS è consigliato se l'applicazione è containerizzata e i team di progettazione preferiscono i container Docker. 

   1.  Puoi utilizzare [https://aws.amazon.com/lambda/](https://aws.amazon.com/lambda/) per eseguire codice a supporto delle opzioni consentite per runtime, memoria e CPU. È sufficiente caricare il codice: AWS Lambda gestirà tutto il necessario per eseguire e dimensionare il codice. È possibile configurare il codice perché si attivi automaticamente da altri servizi AWS o richiamarlo direttamente. Lambda è consigliato per architetture a microservizi con esecuzione breve e sviluppate per il cloud.  

1.  Dopo aver sperimentato la tua nuova soluzione di calcolo, pianifica la migrazione e convalida i parametri prestazionali. Si tratta di un processo continuo: consulta [PERF02-BP04 Definizione della configurazione richiesta in base al corretto dimensionamento](perf_select_compute_right_sizing.md). 

 **Livello di impegno per il piano di implementazione:** In caso di spostamento del carico di lavoro da una soluzione di calcolo a un'altra, può essere richiesto un *moderato* livello di impegno per riprogettare l'applicazione.   

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

 **Documenti correlati:** 
+  [Elaborazione in cloud con AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [Tipi di istanze EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Controllo dello stato del processore per l'istanza EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Container EKS: nodi worker EKS ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Container Amazon ECS: Istanze di container di Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funzioni: configurazione della funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 
+  [Prescriptive Guidance for Containers (Guida prescrittiva per i container)](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23containers&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 
+  [Prescriptive Guidance for Serverless (Guida prescrittiva per serverless)](https://aws.amazon.com/prescriptive-guidance/?apg-all-cards.sort-by=item.additionalFields.sortText&apg-all-cards.sort-order=desc&awsf.apg-new-filter=*all&awsf.apg-content-type-filter=*all&awsf.apg-code-filter=*all&awsf.apg-category-filter=categories%23serverless&awsf.apg-rtype-filter=*all&awsf.apg-isv-filter=*all&awsf.apg-product-filter=*all&awsf.apg-env-filter=*all) 

 **Video correlati:** 
+  [How to choose compute option for startups (Come scegliere un'opzione di calcolo per le start-up)](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Amazon EC2 foundations (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Distribuire le inferenze ML ad alte prestazioni con AWS Inferentia (CMP324-R1) ](https://www.youtube.com/watch?v=17r1EapAxpk&ref=wellarchitected) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2) (CMP202-R1) ](https://www.youtube.com/watch?v=_dvh4P2FVbw&ref=wellarchitected) 

 **Esempi correlati:** 
+  [Migrazione di un'applicazione Web verso i container](https://application-migration-with-aws.workshop.aws/en/container-migration.html) 
+  [Esecuzione di un "Hello, World\$1" serverless](https://aws.amazon.com/getting-started/hands-on/run-serverless-code/) 

# PERF02-BP02 Identificazione delle opzioni di configurazione di calcolo disponibili
<a name="perf_select_compute_config_options"></a>

 Ogni soluzione di calcolo offre opzioni e configurazioni utili per supportare le caratteristiche del tuo carico di lavoro. Scopri in che modo le varie opzioni completano il tuo carico di lavoro e quali opzioni di configurazione sono le migliori per la tua applicazione. Esempi di tali opzioni includono la famiglia di istanze, le dimensioni, le caratteristiche (GPU, I/O), il bursting, i timeout, le dimensioni delle funzioni, le istanze di container e la simultaneità. 

 **Risultato desiderato:** le caratteristiche del carico di lavoro, tra cui CPU, velocità di trasmissione effettiva della rete, GPU, IOPS, schemi di traffico e di accesso ai dati, vengono documentate e utilizzate per configurare la soluzione di calcolo più adatta a tali caratteristiche. Tutti questi parametri, più altri personalizzati specifici del carico di lavoro, vengono registrati, monitorati e, quindi, utilizzati per ottimizzare la configurazione di calcolo perché risponda in modo ideale ai requisiti. 

 **Anti-pattern comuni:** 
+  Utilizzo della stessa soluzione di calcolo utilizzata on-premise. 
+  Mancata analisi delle opzioni di calcolo o della famiglia di istanze perché soddisfino le caratteristiche del carico di lavoro. 
+  Sovradimensionamento del calcolo per garantire capacità di bursting. 
+  Utilizzi più piattaforme di gestione del calcolo per lo stesso carico di lavoro. 

** Vantaggi dell'adozione di questa best practice:** Acquisisci familiarità con le offerte di calcolo AWS per poter stabilire qual è la soluzione corretta per ogni carico di lavoro. Dopo aver selezionato le offerte di calcolo per il carico di lavoro, puoi verificare rapidamente se soddisfano in modo ideale le relative esigenze. Una soluzione di calcolo ottimizzata per soddisfare le caratteristiche del carico di lavoro migliorerà le prestazioni, ridurrà i costi e garantirà maggiore affidabilità.

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

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

 Se per il carico di lavoro è stata utilizzata la stessa opzione di calcolo per oltre quattro settimane e sai già che le caratteristiche resteranno uguali in futuro, puoi utilizzare [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) che ti fornirà un suggerimento in base alle caratteristiche di calcolo emerse. Se non puoi avvalerti di AWS Compute Optimizer per mancanza di parametri, [perché il tipo di istanza non è supportato](https://docs.aws.amazon.com/compute-optimizer/latest/ug/requirements.html#requirements-ec2-instances) o perché prevedi cambiamenti nelle caratteristiche, dovrai eseguire una previsione dei parametri in base ai test di carico e alla sperimentazione.  

 **Passaggi dell'implementazione:** 

1.  Il carico di lavoro è in esecuzione su istanze o container EC2 con tipo di avvio EC2? 

   1.  Per il tuo carico di lavoro è possibile utilizzare GPU per migliorare le prestazioni? 

      1.  [Le istanze di calcolo accelerate](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Accelerated_Computing) sono istanze basate su GPU che forniscono le migliori prestazioni per addestramento di machine learning, inferenza e calcolo ad alte prestazioni. 

   1.  Nel carico di lavoro sono in esecuzione applicazioni di inferenza di machine learning? 

      1.  [AWS Inferentia (Inf1)](https://aws.amazon.com/ec2/instance-types/inf1/) - Le istanze Inf1 sono create per supportare le applicazioni di inferenza di machine learning. Utilizzando le istanze Inf1, i clienti possono eseguire applicazioni di inferenza di machine learning su larga scala, tra cui riconoscimento di immagini, riconoscimento vocale, elaborazione del linguaggio naturale, personalizzazione e rilevamento di attività fraudolente. Puoi creare un modello in uno dei framework di machine learning più utilizzati, ad esempio TensorFlow, PyTorch o MXNet, e utilizzare istanze GPU per addestrare il modello. Dopo avere addestrato il modello di machine learning per soddisfare i requisiti, puoi distribuirlo su istanze Inf1 utilizzando [AWS Neuron](https://aws.amazon.com/machine-learning/neuron/), un Software Development Kit (SDK) specializzato composto da un compilatore, runtime e strumenti di profilatura che ottimizzano le prestazioni di inferenza di machine learning dei chip Inferentia. 

   1.  Il tuo carico di lavoro si integra con l'hardware a basso livello per migliorare le prestazioni?  

      1.  [Field Programmable Gate Arrays (FPGA)](https://aws.amazon.com/ec2/instance-types/f1/) - Gli FPGA ti consentono di ottimizzare i carichi di lavoro tramite l'esecuzione personalizzata con accelerazione hardware per quelli più impegnativi. Puoi definire gli algoritmi sfruttando i linguaggi di programmazione generale come C o Go oppure linguaggi orientati all'hardware come Verilog o VHDL. 

   1.  Disponi di almeno quattro settimane di parametri e puoi già prevedere che gli schemi di traffico e i parametri resteranno pressoché invariati in futuro? 

      1.  Utilizzo [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) per avere un suggerimento di machine learning riguardo alla configurazione più adatta alle tue caratteristiche di calcolo. 

   1.  Le prestazioni del tuo carico di lavoro sono limitate dai parametri della CPU?  

      1.  [Le istanze ottimizzate per il calcolo](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Compute_Optimized) sono ideali per i carichi di lavoro che richiedono processori a elevate prestazioni.  

   1.  Le prestazioni del tuo carico di lavoro sono limitate dai parametri della memoria?  

      1.  [Le istanze ottimizzate per la memoria](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Memory_Optimized) offrono grandi quantità di memoria per carichi di lavoro intensivi in questo senso. 

   1.  Le prestazioni del tuo carico di lavoro sono limitate da IOPS? 

      1.  [Le istanze ottimizzate per l'archiviazione](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Storage_Optimized) sono progettate per carichi di lavoro che richiedono un accesso frequente e sequenziale in lettura e scrittura (IOPS) all'archiviazione locale. 

   1.  Le caratteristiche del tuo carico di lavoro rappresentano un insieme equilibrato di esigenze relativo a tutti i parametri? 

      1.  La CPU del tuo carico di lavoro deve eseguire il bursting per gestire picchi di traffico? 

         1.  [Le istanze a prestazioni espandibili](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#Instance_Features) sono simili alle istanze ottimizzate per il calcolo, ma offrono anche possibilità di espansione oltre la linea di base per la CPU identificata in un'istanza ottimizzata per il calcolo. 

      1.  [Le istanze per uso generico](https://aws.amazon.com/ec2/instance-types/?trk=36c6da98-7b20-48fa-8225-4784bced9843&sc_channel=ps&sc_campaign=acquisition&sc_medium=ACQ-P|PS-GO|Brand|Desktop|SU|Compute|EC2|US|EN|Text&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types&ef_id=CjwKCAjwiuuRBhBvEiwAFXKaNNRXM5FrnFg5H8RGQ4bQKuUuK1rYWmU2iH-5H3VZPqEheB-pEm-GNBoCdD0QAvD_BwE:G:s&s_kwcid=AL!4422!3!536392622533!e!!g!!ec2%20instance%20types#General_Purpose) offrono un bilanciamento di tutte le caratteristiche a supporto di molti carichi di lavoro diversi. 

   1.  La tua istanza di calcolo è in esecuzione su Linux e limitata dalla velocità di trasmissione effettiva della rete sulla scheda dell'interfaccia di rete? 

      1.  Revisione [la domanda sulle prestazioni n. 5, best practice 2: Valutazione delle funzionalità di rete disponibili](https://docs.aws.amazon.com/wellarchitected/latest/performance-efficiency-pillar/network-architecture-selection.html) per trovare il tipo e la famiglia di istanze ideali per soddisfare le tue esigenze prestazionali. 

   1.  Il tuo carico di lavoro ha bisogno di istanze coerenti e prevedibili in una specifica zona di disponibilità per cui puoi impegnarti per un anno?  

      1.  [le istanze riservate](https://aws.amazon.com/ec2/pricing/reserved-instances/) confermano le prenotazioni della capacità in una specifica zona di disponibilità. Queste istanze sono ideali per chi necessita di potenza di calcolo in una specifica zona di disponibilità.  

   1.  Il tuo carico di lavoro include licenze che richiedono hardware dedicato? 

      1.  [Host dedicati](https://aws.amazon.com/ec2/dedicated-hosts/) supportano le licenze software esistenti e ti aiutano a soddisfare i requisiti di conformità. 

   1.  La tua soluzione di calcolo si espande e richiede elaborazione sincrona? 

      1.  [Le istanze on demand](https://aws.amazon.com/ec2/pricing/on-demand/) ti consentono di utilizzare la capacità di calcolo su base oraria o al secondo, senza impegni a lungo termine, e sono ideali per il bursting oltre le esigenze di base per le prestazioni. 

   1.  La tua soluzione di calcolo è stateless, tollerante ai guasti e asincrona?  

      1.  [Istanze Spot](https://aws.amazon.com/ec2/spot/) ti consentono di sfruttare la capacità non utilizzata nell'istanza per i carichi di lavoro stateless e tolleranti ai guasti.  

1.  Esegui container su [Fargate](https://aws.amazon.com/fargate/)? 

   1.  Le prestazioni della tua attività sono limitate dalla memoria o dalla CPU? 

      1.  Utilizza lo strumento per i suggerimenti [sulla dimensione dell'attività](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-tasksize.html) per regolare la memoria o la CPU. 

   1.  Le prestazioni sono influenzate da picchi nello schema di traffico? 

      1.  Utilizza lo strumento per i suggerimenti [Auto Scaling](https://docs.aws.amazon.com/AmazonECS/latest/bestpracticesguide/capacity-autoscaling.html) per trovare la configurazione adatta ai tuoi schemi di traffico. 

1.  La tua soluzione di calcolo è su [Lambda](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-features.html)? 

   1.  Disponi di almeno quattro settimane di parametri e puoi già prevedere che gli schemi di traffico e i parametri resteranno pressoché invariati in futuro? 

      1.  Utilizzo [Compute Optimizer](https://aws.amazon.com/compute-optimizer/) per avere un suggerimento di machine learning riguardo alla configurazione più adatta alle tue caratteristiche di calcolo. 

   1.  Non hai parametri a sufficienza per utilizzare AWS Compute Optimizer? 

      1.  Se non hai parametri a sufficienza per utilizzare Compute Optimizer, scegli [AWS Lambda Power Tuning](https://docs.aws.amazon.com/lambda/latest/operatorguide/profile-functions.html) per selezionare la configurazione migliore. 

   1.  Le prestazioni della tua funzione sono limitate dalla memoria o dalla CPU? 

      1.  Configura la [memoria Lambda](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html#configuration-memory-console) perché soddisfi i parametri relativi alle tue esigenze prestazionali. 

   1.  La tua funzione va in timeout durante l'esecuzione? 

      1.  Modifica le [impostazioni di timeout.](https://docs.aws.amazon.com/lambda/latest/dg/configuration-function-common.html) 

   1.  Le prestazioni della tua funzione sono limitate da picchi di attività e simultaneità?  

      1.  Configura le [impostazioni di simultaneità](https://docs.aws.amazon.com/lambda/latest/dg/configuration-concurrency.html) perché soddisfino le tue esigenze prestazionali. 

   1.  La tua funzione è in esecuzione asincrona e riscontra errori nei nuovi tentativi? 

      1.  Configura l'età massima dell'evento e il limite massimo di nuovi tentativi nelle impostazioni della [configurazione asincrona](https://docs.aws.amazon.com/lambda/latest/dg/invocation-async.html) . 

## Livello di impegno per il piano di implementazione: 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-compute-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-compute-option-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

Per attuare questa best practice è necessario conoscere caratteristiche e parametri attuali del calcolo. Raccogliere tali parametri, definire una linea di base e, quindi, utilizzare i parametri per identificare l'opzione ideale per il calcolo richiede un livello di impegno da *basso* a *moderato* . La convalida migliore passa attraverso test di carico e sperimentazioni. 

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

 **Documenti correlati:** 
+  [Elaborazione in cloud con AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [Tipi di istanze EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html?ref=wellarchitected) 
+  [Controllo dello stato del processore per l'istanza EC2 ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html?ref=wellarchitected) 
+  [Container EKS: nodi worker EKS ](https://docs.aws.amazon.com/eks/latest/userguide/worker.html?ref=wellarchitected) 
+  [Container Amazon ECS: Istanze di container di Amazon ECS ](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html?ref=wellarchitected) 
+  [Funzioni: configurazione della funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html?ref=wellarchitected#function-configuration) 

 **Video correlati:** 
+  [Amazon EC2 foundations (CMP211-R2) ](https://www.youtube.com/watch?v=kMMybKqC2Y0&ref=wellarchitected) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system ](https://www.youtube.com/watch?v=rUY-00yFlE4&ref=wellarchitected) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1) ](https://www.youtube.com/watch?v=zt6jYJLK8sg&ref=wellarchitected) 

 **Esempi correlati:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento corretto con Compute Optimizer e l'utilizzo della memoria abilitati)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code (Codice dimostrativo di AWS Compute Optimizer)](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP03 Raccolta dei parametri relativi al calcolo
<a name="perf_select_compute_collect_metrics"></a>

Per comprendere le prestazioni delle tue risorse di calcolo, è necessario registrare e tracciare l'utilizzo di vari sistemi. Questi dati possono essere utilizzati per determinare in modo più accurato i requisiti delle risorse.  

 I carichi di lavoro possono generare grandi volumi di dati quali parametri, registri ed eventi. Stabilisci se il servizio di archiviazione, monitoraggio e osservazione esistente è in grado di gestire i dati generati. Identifica i parametri che rispecchiano l'utilizzo delle risorse e che è possibile raccogliere, aggregare e correlare su un'unica piattaforma. Tali parametri devono essere rappresentativi di tutte le risorse, le applicazioni e i servizi del carico di lavoro; potrai così avere facilmente una visione globale del sistema e identificare con rapidità le opportunità di miglioramento delle prestazioni e i problemi.

 **Risultato desiderato:** tutti i parametri relativi alle risorse di calcolo vengono identificati, raccolti, aggregati e correlati su un'unica piattaforma con conservazione implementata per supportare gli obiettivi operativi e di costi. 

 **Anti-pattern comuni:** 
+  Utilizzi solo i file di log manuali per la ricerca dei parametri.  
+  Pubblichi i parametri solo negli strumenti interni. 
+  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:** Per monitorare le prestazioni dei carichi di lavoro, devi registrare più parametri delle prestazioni in un periodo di tempo. Tali parametri ti consentono di rilevare anomalie nelle prestazioni e ti aiutano a valutare le prestazioni rispetto ai parametri aziendali, così da garantire il rispetto delle esigenze del carico di lavoro. 

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

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

 Identifica, raccogli, aggrega e correla i parametri relativi al calcolo. L'utilizzo di servizi come Amazon CloudWatch possono rendere più rapida e facile da gestire l'implementazione. Oltre ai parametri predefiniti registrati, identifica e tieni traccia di altri parametri a livello di sistema nel tuo carico di lavoro. Registra dati quali utilizzo della CPU, memoria, I/O del disco e parametri di rete in entrata e in uscita per ottenere informazioni più dettagliate sui livelli di utilizzo o colli di bottiglia. Questi dati sono cruciali per capire come si comporta il carico di lavoro e come viene utilizzata la soluzione di calcolo. Utilizza tali parametri come parte di un approccio basato sui dati per ottimizzare e ottimizzare le risorse del tuo carico di lavoro.  

 **Passaggi dell'implementazione:** 

1.  Quali sono i parametri della soluzione di calcolo che è importante monitorare? 

   1.  [Parametri predefiniti di EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/viewing_metrics_with_cloudwatch.html) 

   1.  [Parametri predefiniti di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/cloudwatch-metrics.html) 

   1.  [Parametri predefiniti di EKS](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/kubernetes-eks-metrics.html) 

   1.  [Parametri predefiniti di Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-access-metrics.html) 

   1.  [Parametri di EC2 relativi a memoria e disco](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/mon-scripts.html) 

1.  Attualmente dispongo di una soluzione di registrazione e monitoraggio approvata? 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 

   1.  [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/) 

   1.  [Amazon Managed Service for Prometheus](https://docs.aws.amazon.com/grafana/latest/userguide/prometheus-data-source.html) 

1.  Ho identificato e configurato le policy di conservazione dei dati in modo che corrispondano ai miei obiettivi operativi e di sicurezza? 

   1.  [Conservazione dei dati predefinita per i parametri CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Conservazione dei dati predefinita per CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

1.  Come distribuisci gli agenti per l'aggregazione di parametri e registri? 

   1.  [Automazione di AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html?ref=wellarchitected) 

   1.  [OpenTelemetry Collector](https://aws-otel.github.io/docs/getting-started/collector) 

 **Livello di impegno per il piano di implementazione: **è richiesto un livello di impegno *medio* per identificare, monitorare, raccogliere, aggregare e correlare i parametri di tutte le risorse di calcolo. 

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

 **Documenti correlati:** 
+  [Documentazione di Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html?ref=wellarchitected) 
+  [Raccolta di parametri e registri da istanze Amazon EC2 e da server on-premise con l'agente di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Accesso a Amazon CloudWatch Logs per AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/monitoring-functions-logs.html?ref=wellarchitected) 
+  [Utilizzo di CloudWatch Logs con istanze di container](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_cloudwatch_logs.html?ref=wellarchitected) 
+  [Pubblicazione di parametri personalizzati](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [AWS Answers: Centralized Logging (AWS Answers: registrazione centralizzata)](https://aws.amazon.com/answers/logging/centralized-logging/?ref=wellarchitected) 
+  [Servizi AWS che pubblicano parametri CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html?ref=wellarchitected) 
+  [Monitoraggio di Amazon EKS su AWS Fargate](https://aws.amazon.com/blogs/containers/monitoring-amazon-eks-on-aws-fargate-using-prometheus-and-grafana/) 

 

 **Video correlati:** 
+  [Application Performance Management on AWS (Gestione delle prestazioni delle applicazioni su AWS)](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 

 **Esempi correlati:** 
+  [Level 100: Monitoring with CloudWatch Dashboards (Livello 100: Monitoraggio con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Level 100: Monitoring Windows EC2 instance with CloudWatch Dashboards (Monitoraggio dell'istanza EC2 di Windows con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Level 100: Monitoring an Amazon Linux EC2 instance with CloudWatch Dashboards (Monitoraggio dell'istanza EC2 di Amazon Linux con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF02-BP04 Definizione della configurazione richiesta in base al corretto dimensionamento
<a name="perf_select_compute_right_sizing"></a>

 Analizza le varie caratteristiche di prestazione del tuo carico di lavoro e come queste sono correlate a memoria, rete e utilizzo della CPU. Utilizza questi dati per scegliere le risorse che meglio corrispondono al profilo del tuo carico di lavoro. Ad esempio, un carico di lavoro a memoria elevata, come un database, potrebbe essere servito meglio dalla famiglia di istanze r. Al contrario, un carico di lavoro con picchi di prestazioni può trarre maggiori vantaggi da un sistema di container elastici. 

 **Anti-pattern comuni:** 
+  Scegli l'istanza più grande disponibile per tutti i carichi di lavoro. 
+  Esegui la standardizzazione di tutti i tipi di istanze in un solo tipo per semplificare la gestione. 

 **Vantaggi dell'adozione di questa best practice:** Acquisire familiarità con le offerte di calcolo AWS ti consente di determinare la soluzione corretta per i vari carichi di lavoro. Dopo aver selezionato le varie offerte di calcolo per il carico di lavoro, puoi verificare rapidamente quali soddisfano le esigenze del tuo carico di lavoro. 

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

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

 Modifica della configurazione del carico di lavoro con un corretto dimensionamento: al fine di ottimizzare le prestazioni e l'efficienza complessiva, determina le risorse necessarie per il tuo carico di lavoro. Seleziona le istanze ottimizzate per la memoria per i sistemi che richiedono più memoria rispetto alla CPU, oppure istanze ottimizzate per il calcolo per i componenti che effettuano l'elaborazione dati che non necessita di molta memoria. Il dimensionamento consente al tuo carico di lavoro di funzionare nel miglior modo possibile utilizzando solo le risorse di cui necessita. 

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

 **Documenti correlati:** 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)  
+  [Elaborazione in cloud con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipi di istanze EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Container ECS: Istanze di container di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Container EKS: nodi worker EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funzioni: configurazione della funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Controllo dello stato del processore per l'istanza EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Video correlati:** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2) (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Distribuire le inferenze ML ad alte prestazioni con AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 
+  [How to choose compute option for startups (Come scegliere un'opzione di calcolo per le start-up)](https://aws.amazon.com/startups/start-building/how-to-choose-compute-option/) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 

 **Esempi correlati:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento corretto con Compute Optimizer e l'utilizzo della memoria abilitati)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code (Codice dimostrativo di AWS Compute Optimizer)](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF02-BP05 Utilizzo dell'elasticità disponibile delle risorse
<a name="perf_select_compute_elasticity"></a>

 Il cloud offre la flessibilità necessaria per espandere o ridurre le risorse in modo dinamico attraverso una serie di meccanismi per soddisfare i cambiamenti della domanda. Se combinato con parametri relativi all'elaborazione, un carico di lavoro può rispondere automaticamente a questi cambiamenti e utilizzare la gamma di risorse più opportuna per raggiungere il suo obiettivo. 

 La corrispondenza ottimale tra risorse fornite e domanda determina il costo più basso per il sistema. Tuttavia, sarà anche necessario tenere conto del tempo di provisioning e di eventuali errori delle singole risorse e pianificare risorse sufficienti di conseguenza. La domanda può essere fissa o variabile e richiede parametri e automazione, per garantire che la gestione non diventi troppo complicata e onerosa dal punto di vista economico. 

 Con AWS puoi adottare varie strategie per associare l'offerta alla domanda. Il whitepaper sul principio dell'ottimizzazione dei costi descrive come utilizzare i seguenti approcci ai costi: 
+  Approccio basato sulla domanda 
+  Approccio basato sui buffer 
+  Approccio basato sul tempo 

 Assicurati che le distribuzioni dei carichi di lavoro siano in grado di gestire eventi di dimensionamento. Crea scenari di test per eventi di ridimensionamento per garantire che il carico di lavoro si comporti come previsto. 

 **Anti-pattern comuni:** 
+  Reagisci agli allarmi e aumenti manualmente la capacità. 
+  Dopo un evento di dimensionamento, lasci una capacità aumentata anziché ridurre il dimensionamento. 

 **Vantaggi dell'adozione di questa best practice:** Configurare e testare l'elasticità del carico di lavoro è utile per risparmiare denaro, mantenere i benchmark prestazionali e migliorare l'affidabilità al variare del traffico. La maggior parte delle istanze non di produzione deve essere arrestata quando le istanze non vengono utilizzate. Anche se è possibile arrestare manualmente le istanze inutilizzate, questa operazione è impraticabile su più grandi scale. Puoi inoltre sfruttare l'elasticità basata sul volume, che ti consente di ottimizzare le prestazioni e i costi aumentando automaticamente il numero di istanze di calcolo durante i picchi di domanda e riducendo la capacità quando la domanda diminuisce. 

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

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

 Utilizzo ottimale dell'elasticità: l'elasticità corrisponde all'offerta di risorse disponibili rispetto alla relativa domanda. Istanze, container e funzioni forniscono tutti meccanismi di elasticità, in combinazione con il ridimensionamento automatico o sotto forma di funzionalità del servizio. Utilizza l'elasticità all'interno della tua architettura per assicurarti di disporre della capacità sufficiente per rispettare i requisiti di prestazione a tutti i livelli di utilizzo. Verifica che i parametri per il dimensionamento delle risorse elastiche siano convalidati rispetto al tipo di carico di lavoro distribuito. Se distribuisci un'applicazione di transcodifica video, è previsto il 100% di utilizzo della CPU e non deve essere il parametro principale. In alternativa, puoi misurare la profondità della coda dei processi di transcodifica in attesa di dimensionare i tipi di istanze. Assicurati che le distribuzioni dei carichi di lavoro siano in grado di gestire eventi di dimensionamento. Ridimensionare in modo sicuro i componenti del carico di lavoro è fondamentale quanto ricalibrare le risorse quando richiesto dalla domanda. Crea scenari di test per eventi di ridimensionamento per garantire che il carico di lavoro si comporti come previsto. 

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

 **Documenti correlati:** 
+  [Elaborazione in cloud con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipi di istanze EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Container ECS: Istanze di container di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Container EKS: nodi worker EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funzioni: configurazione della funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Controllo dello stato del processore per l'istanza EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Video correlati:** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2) (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Distribuire le inferenze ML ad alte prestazioni con AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 

 **Esempi correlati:** 
+  [Esempi di gruppo di Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Esercitazioni su Amazon EFS](https://github.com/aws-samples/amazon-efs-tutorial) 

# PERF02-BP06 Rivalutazione delle esigenze di elaborazione sulla base dei parametri
<a name="perf_select_compute_use_metrics"></a>

 Utilizza i parametri a livello di sistema per identificare il comportamento e i requisiti del tuo carico di lavoro nel tempo. Valuta le esigenze del tuo carico di lavoro confrontando le risorse disponibili con tali requisiti e apporta modifiche al tuo ambiente di elaborazione per soddisfare al meglio il profilo del carico di lavoro. Ad esempio, nel corso del tempo si potrebbe osservare che un sistema utilizza molta più memoria di quanto si pensasse inizialmente, e trasferirlo a una famiglia o una dimensione di istanze diversa potrebbe migliorarne sia le prestazioni sia l'efficienza. 

 **Anti-pattern comuni:** 
+  Monitori solamente i parametri a livello di sistema per ottenere informazioni approfondite sul carico di lavoro. 
+  Pianifichi le tue esigenze di calcolo in base ai requisiti di picco del carico di lavoro. 
+  Dimensioni in eccesso la tua soluzione di calcolo per soddisfare i requisiti di dimensionamento o prestazioni quando il passaggio a una nuova soluzione di calcolo soddisferebbe le caratteristiche del tuo carico di lavoro 

 **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 automatici per visualizzare questi dati ed eseguire calcoli matematici sui parametri per ottenere informazioni operative e di utilizzo. 

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

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

 Utilizzo di un approccio basato sui dati per ottimizzare le risorse: al fine di ottenere il massimo delle prestazioni e dell'efficienza, utilizza i dati raccolti nel tempo dal tuo carico di lavoro per mettere a punto e ottimizzare le risorse. Osserva le tendenze nell'utilizzo del tuo carico di lavoro delle risorse attuali e determina in che punto puoi effettuare cambiamenti per soddisfare al meglio le esigenze del tuo carico di lavoro. Quando le risorse sono sovra-impegnate, le prestazioni del sistema diminuiscono, sebbene il sottoutilizzo delle risorse le renda meno efficienti e i costi siano più elevati. 

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

 **Documenti correlati:** 
+  [Elaborazione in cloud con AWS ](https://aws.amazon.com/products/compute/?ref=wellarchitected) 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) 
+  [Elaborazione in cloud con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipi di istanze EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Container ECS: Istanze di container di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Container EKS: nodi worker EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funzioni: configurazione della funzione Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 
+  [Controllo dello stato del processore per l'istanza EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 

 **Video correlati:** 
+  [Amazon EC2 foundations (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2 (Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2) (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Distribuire le inferenze ML ad alte prestazioni con AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Ottimizzare le prestazioni e i costi dell'elaborazione AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [Powering next-gen Amazon EC2: Deep dive into the Nitro system](https://www.youtube.com/watch?v=rUY-00yFlE4) 

 **Esempi correlati:** 
+  [Rightsizing with Compute Optimizer and Memory utilization enabled (Dimensionamento corretto con Compute Optimizer e l'utilizzo della memoria abilitati)](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [AWS Compute Optimizer Demo code (Codice dimostrativo di AWS Compute Optimizer)](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 

# PERF 3 In che modo selezioni la soluzione di storage?
<a name="w2aac19c11b5b9"></a>

 La soluzione di storage ottimale per un sistema varia in base a fattori quali: tipo di metodo di accesso (blocco, file od oggetto), schemi di accesso (casuali o sequenziali), throughput necessario, frequenza di accesso (online, offline, archivio), frequenza di aggiornamento (WORM, dinamico) e vincoli di disponibilità e durata. I sistemi Well-Architected utilizzano più soluzioni di storage e consentono funzionalità diverse per migliorare le prestazioni e utilizzare le risorse in modo efficiente. 

**Topics**
+ [

# PERF03-BP01 Identificazione delle caratteristiche e dei requisiti di archiviazione
](perf_right_storage_solution_understand_char.md)
+ [

# PERF03-BP02 Valutazione delle opzioni di configurazione disponibili
](perf_right_storage_solution_evaluated_options.md)
+ [

# PERF03-BP03 Decisioni basate su schemi e parametri di accesso
](perf_right_storage_solution_optimize_patterns.md)

# PERF03-BP01 Identificazione delle caratteristiche e dei requisiti di archiviazione
<a name="perf_right_storage_solution_understand_char"></a>

 Identifica e documenta i requisiti di archiviazione dei carichi di lavoro e definisci le caratteristiche di archiviazione di ciascuna posizione. Le caratteristiche di archiviazione includono, ad esempio, accesso condivisibile, dimensioni dei file, tasso di crescita, velocità di trasmissione effettiva, IOPS, latenza, schemi di accesso e persistenza dei dati. Utilizza queste caratteristiche per valutare se i servizi di archiviazione di blocchi, file, oggetti o istanze rappresentano la soluzione più efficiente per gli specifici requisiti di archiviazione. 

 **Risultato desiderato:** individua e documenta i requisiti di archiviazione e valuta le soluzioni di archiviazione disponibili. In base alle caratteristiche di archiviazione chiave, il team saprà valutare in che modo i servizi di archiviazione selezionati ottimizzeranno le prestazioni dei carichi di lavoro. I criteri chiave includono gli schemi di accesso ai dati, il tasso di crescita, i requisiti di dimensionamento e i requisiti di latenza. 

 **Anti-pattern comuni:** 
+  Utilizzi un unico tipo di archiviazione, ad esempio Amazon Elastic Block Store (Amazon EBS), per tutti i carichi di lavoro. 
+  Ritieni che tutti i carichi di lavoro abbiano requisiti di prestazioni di accesso allo storage simili. 

 **Vantaggi dell'adozione di questa best practice:** la selezione della soluzione di archiviazione in base alle caratteristiche individuate e richieste contribuirà a migliorare le prestazioni dei carichi di lavoro, ridurre i costi e limitare lo sforzo operativo necessario alla gestione del carico di lavoro. Le prestazioni dei carichi di lavoro trarranno benefici dalla soluzione, configurazione e posizione del servizio di archiviazione. 

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

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

 Identifica i parametri delle prestazioni di storage più importanti del carico di lavoro e implementa i miglioramenti come parte di un approccio basato sui dati, ricorrendo a benchmark o test di carico. Utilizza tali dati per identificare i punti in cui la soluzione di storage è vincolante ed esamina le opzioni di configurazione per migliorare la soluzione. Determina il tasso di crescita previsto per il carico di lavoro e scegli una soluzione di storage che soddisfi tali percentuali. Cerca le offerte di archiviazione AWS per determinare la soluzione di archiviazione più adatta per i vari requisiti a livello di carichi di lavoro. Il provisioning delle soluzioni di archiviazione in AWS aumenta le opportunità che hai di verificare le offerte di archiviazione e verificare se sono in linea con i requisiti dei carichi di lavoro. 


| Servizio AWS | Caratteristiche chiave | Casi d'uso comuni | 
| --- | --- | --- | 
| Amazon S3 |  Durabilità del 99,999999999%, crescita illimitata, accessibilità indipendente dalla posizione, svariati modelli di costi basati su accesso e resilienza  |  Dati applicativi nativi del cloud, archiviazione e backup dei dati, analisi, data lake, hosting di siti web statici, dati IoT   | 
| Amazon Glacier |  Latenza da secondi a ore, crescita illimitata, costi più bassi, archiviazione a lungo termine  |  Archiviazione dei dati, archivi di file multimediali, conservazione a lungo termine dei backup.  | 
| Amazon EBS | Le dimensioni di archiviazione richiedono la gestione e il monitoraggio, una bassa latenza, l'archiviazione persistente, una durabilità dal 99,8% al 99,9%; la maggior parte dei tipi di volume è accessibile solo da un'istanza EC2. |  Applicazioni COTS, applicazioni ad alta intensità di I/O, database relazionali e NoSQL, backup e ripristino  | 
| Archivio dell'istanza EC2 |  Dimensioni di archiviazione predefinite, latenza minima, non persistente, accessibile solo da un'istanza EC2  |  Applicazioni COTS, applicazioni ad alta intensità di I/O, datastore in memoria  | 
| Amazon EFS |  Durabilità del 99,999999999%, crescita illimitata, accessibile da più servizi di calcolo  |  Applicazioni moderne che condividono file tra servizi di calcolo, archiviazione di file per il dimensionamento dei sistemi di gestione dei contenuti  | 
| Amazon FSx |  Supporta 4 file system (NetApp, OpenZFS, Windows File Server e Amazon FSx for Lustre), archiviazione disponibile in base al file system specifico, accessibile da più servizi di calcolo  |  Carichi di lavoro nativi del cloud, espansione del cloud privato, carichi di lavoro migrati che richiedono un file system specifico, VMC, sistemi ERP, archiviazione e backup di file on-premise   | 
| AWS Snow Family |  Dispositivi portatili, crittografia a 256 bit, endpoint NFS, calcolo su scheda, TB di archiviazione  |  Migrazione dei dati nel cloud, archiviazione, calcolo in condizioni on-premise estreme, ripristino di emergenza, raccolta di dati remoti  | 
| Gateway di archiviazione AWS |  Fornisce accesso on-premise a bassa latenza all'archiviazione supportata dal cloud, cache on-premise completamente gestita   |  Migrazioni di dati on-premise nel cloud, popolamento dei data lake nel cloud da origini on-premise, condivisione avanzata dei file  | 

 **Passaggi dell'implementazione:** 

1. Utilizza test di benchmarking o caricamento per raccogliere le caratteristiche chiave dei requisiti di archiviazione. Le caratteristiche chiave includono: 

   1. Condivisibilità (quali componenti accedono a questo tipo di archiviazione) 

   1. Tasso di crescita 

   1. Throughput 

   1. Latenza 

   1. Dimensione I/O 

   1. Durabilità 

   1. Schemi di accesso (letture/scritture, frequenza, con picchi o costante) 

1. Individua il tipo di soluzione di archiviazione che supporta le caratteristiche di archiviazione desiderate. 

   1. [Amazon S3](https://aws.amazon.com/s3/) è un servizio di archiviazione di oggetti con scalabilità illimitata, elevata disponibilità e più opzioni di accessibilità. Il trasferimento di oggetto e l'accesso a oggetti in Amazon S3 possono utilizzare un servizio, ad esempio [Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) oppure [Access Points](https://aws.amazon.com/s3/features/access-points/) , per supportare la posizione, i requisiti di sicurezza e gli schemi di accesso. Utilizza le [linee guida relative alle prestazioni di Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance-guidelines.html) per ottimizzare la configurazione di Amazon S3 e garantire la conformità ai requisiti relativi alle prestazioni dei carichi di lavoro. 

   1. [Amazon Glacier](https://aws.amazon.com/s3/storage-classes/glacier/) è una classe di archiviazione di Amazon S3 creata per l'archiviazione dei dati. Puoi scegliere tra tre diverse soluzioni di archiviazione, a partire da un accesso in millisecondi a un accesso di 5-12 ore con opzioni di costi e sicurezza diverse. Amazon Glacier ti consente di rispettare i requisiti relativi alle prestazioni mediante l'implementazione di un ciclo di vita dei dati che supporta i requisiti aziendali e le caratteristiche dei dati. 

   1. [Amazon Elastic Block Store (Amazon EBS)](https://aws.amazon.com/ebs/) è un servizio di archiviazione a blocchi a elevate prestazioni progettato per Amazon Elastic Compute Cloud (Amazon EC2). Puoi scegliere tra soluzioni [basate su SSD o HDD](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html) con caratteristiche diverse che danno priorità agli [IOPS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/provisioned-iops.html) oppure alla [velocità di trasmissione effettiva](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hdd-vols.html). I volumi EBS sono adatti per carichi di lavoro a prestazioni elevate, archiviazione principale per file system, database o applicazioni che possono accedere solo a sistemi di staging collegati. 

   1. [L'archivio dell'istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/InstanceStorage.html) è simile ad Amazon EBS in quanto si collega a un'istanza Amazon EC2. Tuttavia, l'archivio dell'istanza è solo un'archiviazione temporanea che deve essere idealmente utilizzata come buffer, cache o altro contenuto temporaneo. Non è possibile scollegare un archivio dell'istanza in quanto tutti i dati andranno perduti in caso di arresto dell'istanza stessa. Gli archivi dell'istanza possono essere utilizzati per casi d'uso basati su prestazioni di I/O elevate e bassa latenza, in cui i dati non devono essere persistenti. 

   1. [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) è un file system montabile a cui possono accedere più tipi di soluzioni di calcolo. Amazon EFS aumenta o riduce automaticamente lo spazio di archiviazione, mentre le relative prestazioni sono ottimizzate in modo da offrire costantemente latenze basse. EFS dispone di [due modalità di configurazione delle prestazioni, ovvero](https://docs.aws.amazon.com/efs/latest/ug/performance.html)General Purpose (Uso generico) e Max I/O (I/O max). La modalità General Purpose (Uso generico) è caratterizzata da una latenza di lettura con valori inferiori a millisecondi e da una latenza di scrittura con valori nell'ordine di millisecondi a una cifra. La funzionalità Max I/O (I/O max) può supportare migliaia di istanze di calcolo che richiedono un file system condiviso. Amazon EFS supporta [due modalità di velocità di trasmissione effettiva, ovvero](https://docs.aws.amazon.com/efs/latest/ug/managing-throughput.html)Bursting (Espansione) e Provisioned (Allocato). Un carico di lavoro caratterizzato da uno schema di accesso a picchi trarrà vantaggio dalla modalità Bursting (Espansione), mentre un carico di lavoro costantemente elevato sarà più performante con la modalità Provisioned (Allocato). 

   1. [Amazon FSx](https://aws.amazon.com/fsx/) è stato sviluppato con le più recenti soluzioni di calcolo AWS per supportare i 4 file system più comunemente utilizzati: NetApp ONTAP, OpenZFS, Windows File Server e Lustre. Relativamente ad Amazon FSx [, la latenza, la velocità di trasmissione effettiva e le operazioni di input/output al secondo (IOPS)](https://aws.amazon.com/fsx/when-to-choose-fsx/) variano a seconda del file system; è necessario considerare attentamente questi elementi quando si deve selezionare il file system in modo conforme ai requisiti dei carichi di lavoro. 

   1. [AWS Snow Family](https://aws.amazon.com/snow/) sono dispositivi di archiviazione e calcolo che supportano la migrazione di dati online e offline nel cloud, nonché l'archiviazione e il calcolo dei dati on-premise. I dispositivi AWS Snow supportano la raccolta e l'elaborazione di grandi quantità di dati on-premise, nonché il loro spostamento nel cloud. Sono disponibili [numerose best practice documentate sulle prestazioni](https://docs.aws.amazon.com/snowball/latest/developer-guide/performance.html) relative a numero, dimensioni e compressione dei file. 

   1. [Gateway di archiviazione AWS](https://aws.amazon.com/storagegateway/) fornisce alle applicazioni on-premise l'accesso all'archiviazione basata sul cloud. Gateway di archiviazione AWS supporta più servizi di archiviazione cloud, tra cui Amazon S3, Amazon Glacier, Amazon FSx e Amazon EBS. Supporta più protocolli, ad esempio iSCSI, SMB e NFS. Fornisce prestazioni a bassa latenza mediante la memorizzazione nella cache dei dati on-premise con accesso frequente e invia solo i dati modificati e compressi ad AWS. 

1. Dopo aver sperimentato la nuova soluzione di archiviazione e avere individuato la configurazione ottimale, pianifica la migrazione e convalida i parametri prestazionali. Questo sarà un processo continuativo, che dovrà essere riesaminato al variare delle caratteristiche chiave o delle opzioni o dei servizi disponibili. 

 **Livello di impegno per il piano di implementazione: **in caso di spostamento del carico di lavoro da una soluzione di archiviazione a un'altra, può essere richiesto un *moderato* livello di impegno per riprogettare l'applicazione.   

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

 **Documenti correlati:** 
+  [Tipi di volume di Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Storage Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: prestazioni di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Prestazioni di Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Amazon FSx for Windows File Server Performance (Prestazioni di Amazon FSx for Windows File Server)](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+ [Amazon FSx for NetApp ONTAP performance (Prestazioni di Amazon FSx for NetApp ONTAP)](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/performance.html)
+ [Amazon FSx for OpenZFS performance (Prestazioni di Amazon FSx for OpenZFS)](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/performance.html)
+  [Amazon Glacier: Amazon Glacier Documentation (Documentazione di Amazon Glacier)](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerazioni su velocità e prestazioni delle richieste](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Storage cloud con AWS](https://aws.amazon.com/products/storage/) 
+ [AWS Snow Family](https://aws.amazon.com/snow/#Feature_comparison)
+  [Caratteristiche di I/O di EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Video correlati:** 
+  [Analisi approfondita di Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Ottimizzazione delle prestazioni di storage con Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Esempi correlati:** 
+  [Driver CSI di Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI di Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utility di Amazon EFS](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Esempi di Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 
+ [Amazon FSx for Lustre Container Storage Interface (CSI) Driver (Driver CSI [Container Storage Interface] per Amazon FSx for Lustre)](https://github.com/kubernetes-sigs/aws-fsx-csi-driver)

# PERF03-BP02 Valutazione delle opzioni di configurazione disponibili
<a name="perf_right_storage_solution_evaluated_options"></a>

 Valuta le varie caratteristiche e opzioni di configurazione e il modo in cui sono correlate allo storage. Comprendi dove e come utilizzare Provisioned IOPS, SSD, storage magnetico, storage a oggetti, storage di archiviazione o storage temporaneo per ottimizzare lo spazio di storage e le prestazioni del tuo carico di lavoro. 

 [Amazon EBS](https://aws.amazon.com/ebs) offre una gamma di opzioni che ti permettono di ottimizzare le prestazioni di storage e i costi del tuo carico di lavoro. Tali opzioni sono suddivise in due categorie principali: storage basato su SSD per i carichi di lavoro relativi alle transazioni, come database e volumi di avvio (le prestazioni dipendono principalmente dagli IOPS), e storage basato su HDD per i carichi di lavoro con elevati requisiti di throughput, come MapReduce e l'elaborazione dei log (le prestazioni dipendono principalmente dalla velocità in MB/s). 

 I volumi con SSD includono SSD con la capacità di IOPS allocata più elevata per carichi di lavoro transazionali sensibili alla latenza, e SSD generici che bilanciano prezzo e prestazioni per un'ampia gamma di dati transazionali. 

 [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) consente il trasferimento rapido dei file su lunghe distanze tra il client e il tuo bucket S3. Transfer Acceleration sfrutta le edge location di Amazon CloudFront distribuite a livello globale per instradare i dati attraverso percorsi di rete ottimizzati. Per i carichi di lavoro in un bucket S3 con richieste GET intensive, utilizza Amazon S3 con CloudFront. Quando si caricano file di grandi dimensioni, è possibile utilizzare il caricamento simultaneo di più parti per ottimizzare il throughput di rete. 

 [Amazon Elastic File System (Amazon EFS)](https://aws.amazon.com/efs/) fornisce un file system NFS elastico semplice, scalabile e completamente gestito, da utilizzare in combinazione con i servizi Cloud AWS e le risorse on-premise. Per supportare un'ampia gamma di carichi di lavoro di storage nel cloud, Amazon EFS offre due modalità prestazionali: modalità di prestazioni generiche e modalità di prestazioni I/O massime. Sono disponibili anche due modalità di velocità di trasmissione effettiva tra cui scegliere per il file system: Bursting Throughput e Provisioned Throughput. Per determinare quali impostazioni utilizzare per il carico di lavoro, consulta la [Guida per l'utente di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html). 

 [Amazon FSx](https://aws.amazon.com/fsx/) offre quattro file system tra cui scegliere: [Amazon FSx for Windows File Server](https://aws.amazon.com/fsx/windows/) per carichi di lavoro aziendali, [Amazon FSx for Lustre](https://aws.amazon.com/fsx/lustre/) per carichi di lavoro ad alte prestazioni, [Amazon FSx for NetApp ONTAP](https://docs.aws.amazon.com/fsx/latest/ONTAPGuide/index.html) per i diffusi file system ONTAP di NetApps e [Amazon FSx for OpenZFS](https://docs.aws.amazon.com/fsx/latest/OpenZFSGuide/what-is-fsx.html) per server di file basati su Linux. FSx è basato su SSD ed è progettato per offrire prestazioni rapide, prevedibili, scalabili e costanti. I file system di Amazon FSx offrono elevate velocità di lettura e scrittura e l'accesso costante ai dati a bassa latenza. È possibile scegliere il livello di throughput desiderato per soddisfare le esigenze del carico di lavoro. 

 **Anti-pattern comuni:** 
+  Utilizzi un solo tipo di storage, ad esempio Amazon EBS, per tutti i carichi di lavoro. 
+  Utilizzi la capacità di IOPS allocata per tutti i carichi di lavoro senza test reali su tutti i livelli di archiviazione. 
+  Ritieni che tutti i carichi di lavoro abbiano requisiti di prestazioni di accesso allo storage simili. 

 **Vantaggi dell'adozione di questa best practice:** La valutazione di tutte le opzioni del servizio di storage può ridurre il costo dell'infrastruttura e l'impegno necessario per mantenere i carichi di lavoro. Può potenzialmente accelerare l'immissione sul mercato per la distribuzione di nuovi servizi e funzionalità. 

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

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

 Identificazione delle caratteristiche dell'archiviazione: quando valuti una soluzione di archiviazione, determina quali caratteristiche sono necessarie, come la possibilità di condivisione, le dimensioni dei file e della cache, la latenza, la velocità di trasmissione effettiva e la persistenza dei dati. Quindi, in base ai tuoi requisiti, scegli il servizio AWS più adatto alle tue esigenze. 

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

 **Documenti correlati:** 
+  [Storage cloud con AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Tipi di volume di Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Storage Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: prestazioni di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Prestazioni di Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Prestazioni di Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: documentazione di Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerazioni su velocità e prestazioni delle richieste](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Storage cloud con AWS](https://aws.amazon.com/products/storage/) 
+  [Storage cloud con AWS](https://aws.amazon.com/products/storage/?ref=wellarchitected) 
+  [Caratteristiche di I/O di EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 

 **Video correlati:** 
+  [Analisi approfondita di Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Ottimizzazione delle prestazioni di storage con Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Esempi correlati:** 
+  [Driver CSI di Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI di Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utility di Amazon EFS](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Esempi di Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF03-BP03 Decisioni basate su schemi e parametri di accesso
<a name="perf_right_storage_solution_optimize_patterns"></a>

 Scegli i sistemi di storage in base agli schemi di accesso del carico di lavoro e configurali determinando il modo in cui il carico di lavoro accede ai dati. Aumenta l'efficienza dello storage scegliendo lo storage di oggetti anziché lo storage a blocchi. Configura le opzioni di storage in funzione dei tuoi schemi di accesso ai dati. 

 Il modo in cui accedi ai dati influisce sulle prestazioni della soluzione di storage. Seleziona la soluzione più adatta ai tuoi schemi di accesso. In alternativa, puoi modificarli affinché siano in linea con la soluzione di storage, allo scopo di ottimizzare le prestazioni. 

 Creare un array in configurazione RAID 0 ti permette di ottenere prestazioni più elevate per i file system di cui puoi effettuare il provisioning su un unico volume. Prendi in considerazione l'uso di RAID 0 quando le prestazioni I/O sono più importanti della tolleranza agli errori. Ad esempio, puoi usarlo con un database che viene utilizzato in modo intensivo e in cui la replica dei dati è già stata configurata separatamente. 

 Seleziona i parametri di storage appropriati per il carico di lavoro tra tutte le opzioni di storage utilizzate per il carico di lavoro. Quando utilizzi i file system che utilizzano crediti di burst, puoi creare degli allarmi che ti informano quando stai per avvicinarti ai limiti di credito. È necessario creare pannelli di controllo di storage per visualizzare lo stato generale dello storage del carico di lavoro. 

 Per i sistemi di storage di dimensioni fisse, come Amazon EBS o Amazon FSx, assicurati di monitorare la quantità di archiviazione utilizzata rispetto alle dimensioni complessive dell'archiviazione e di creare, se possibile, un'automazione per aumentarne le dimensioni quando si raggiunge una soglia 

 **Anti-pattern comuni:** 
+  Ritieni che le prestazioni di storage siano adeguate se i clienti non si lamentano. 
+  Utilizzi un solo livello di storage, presupponendo che tutti i carichi di lavoro rientrino in tale livello. 

 **Vantaggi dell'adozione di questa best practice:** Sono necessari una vista operativa unificata, dati granulari in tempo reale e un riferimento storico per ottimizzare le prestazioni e l'utilizzo delle risorse. Puoi creare pannelli di controllo e dati automatici con granularità di un secondo per eseguire calcoli parametrici sui dati e ottenere informazioni operative e di utilizzo per le tue esigenze di archiviazione. 

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

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

 Ottimizzazione dell'utilizzo dell'archiviazione e degli schemi di accesso: scegli i sistemi di archiviazione sulla base degli schemi di accesso del tuo carico di lavoro e confrontando le caratteristiche delle opzioni di archiviazione disponibili. Determina quale sia il miglior posto per archiviare dati e che ti consentirà di rispettare i requisiti riducendo nel contempo il sovraccarico. Utilizza ottimizzazioni delle prestazioni e schemi di accesso mentre configuri e interagisci con i dati sulla base delle caratteristiche del tuo storage (ad esempio, separazione dei volumi o partizionamento dei dati). 

 Selezione dei parametri appropriati per le opzioni di archiviazione: assicurati di selezionare i parametri di rete adeguati al tuo carico di lavoro. Ogni opzione di storage offre vari parametri per monitorare le prestazioni del carico di lavoro nel corso del tempo. Assicurati di effettuare le misurazioni a fronte di qualsiasi parametro burst dell'archiviazione (ad esempio, il monitoraggio dei crediti burst per Amazon EFS). Per i sistemi di archiviazione a dimensione fissa, come Amazon Elastic Block Store o Amazon FSx, assicurati di monitorare la quantità di archiviazione utilizzata rispetto alle rispettive dimensioni complessive. Crea automazione, laddove possibile, per aumentare le dimensioni dello storage quando si raggiunge una soglia. 

 Parametri di monitoraggio: Amazon CloudWatch può raccogliere i parametri per tutte le risorse dell'architettura. Puoi anche raccogliere e pubblicare parametri personalizzati per ottenere parametri aziendali o derivati. Utilizza CloudWatch o soluzioni di terze parti per impostare allarmi che indicano il superamento delle soglie. 

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

 **Documenti correlati:** 
+  [Tipi di volume di Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html) 
+  [Storage Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Storage.html) 
+  [Amazon EFS: prestazioni di Amazon EFS](https://docs.aws.amazon.com/efs/latest/ug/performance.html) 
+  [Prestazioni di Amazon FSx for Lustre](https://docs.aws.amazon.com/fsx/latest/LustreGuide/performance.html) 
+  [Prestazioni di Amazon FSx for Windows File Server](https://docs.aws.amazon.com/fsx/latest/WindowsGuide/performance.html) 
+  [Amazon Glacier: documentazione di Amazon Glacier](https://docs.aws.amazon.com/amazonglacier/latest/dev/introduction.html) 
+  [Amazon S3: considerazioni su velocità e prestazioni delle richieste](https://docs.aws.amazon.com/AmazonS3/latest/dev/request-rate-perf-considerations.html) 
+  [Storage cloud con AWS](https://aws.amazon.com/products/storage/) 
+  [Caratteristiche di I/O di EBS](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ebs-io-characteristics.html) 
+  [Monitoring and understanding Amazon EBS performance using Amazon CloudWatch (Monitorare e comprendere le prestazioni di Amazon EBS tramite Amazon CloudWatch)](https://aws.amazon.com/blogs/storage/valuable-tips-for-monitoring-and-understanding-amazon-ebs-performance-using-amazon-cloudwatch/) 

 **Video correlati:** 
+  [Analisi approfondita di Amazon EBS (STG303-R1)](https://www.youtube.com/watch?v=wsMWANWNoqQ) 
+  [Ottimizzazione delle prestazioni di storage con Amazon S3 (STG343)](https://www.youtube.com/watch?v=54AhwfME6wI) 

 **Esempi correlati:** 
+  [Driver CSI di Amazon EFS](https://github.com/kubernetes-sigs/aws-efs-csi-driver) 
+  [Driver CSI di Amazon EBS](https://github.com/kubernetes-sigs/aws-ebs-csi-driver) 
+  [Utility di Amazon EFS](https://github.com/aws/efs-utils) 
+  [Amazon EBS Autoscale](https://github.com/awslabs/amazon-ebs-autoscale) 
+  [Esempi di Amazon S3](https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/s3-examples.html) 

# PERF 4 In che modo selezioni la soluzione di database?
<a name="w2aac19c11b5c11"></a>

 La soluzione di database ottimale per un determinato sistema può variare in base ai requisiti di disponibilità, coerenza, tolleranza della partizione, latenza, durata, scalabilità e capacità di query. Molti sistemi utilizzano diverse soluzioni di database per vari sottosistemi e consentono funzionalità differenti per migliorare le prestazioni. Selezionare la soluzione e le funzionalità del database sbagliate per un sistema può ridurre l'efficienza delle prestazioni. 

**Topics**
+ [

# PERF04-BP01 Comprensione delle caratteristiche dei dati
](perf_right_database_solution_understand_char.md)
+ [

# PERF04-BP02 Valutazione delle opzioni disponibili
](perf_right_database_solution_evaluate_options.md)
+ [

# PERF04-BP03 Raccolta e registrazione dei parametri delle prestazioni del database
](perf_right_database_solution_collect_metrics.md)
+ [

# PERF04-BP04 Scelta dello spazio di archiviazione dei dati in base ai modelli di accesso
](perf_right_database_solution_access_patterns.md)
+ [

# PERF04-BP05 Ottimizzazione dello spazio di archiviazione dei dati in base ai modelli e ai parametri di accesso
](perf_right_database_solution_optimize_metrics.md)

# PERF04-BP01 Comprensione delle caratteristiche dei dati
<a name="perf_right_database_solution_understand_char"></a>

 Scegli le soluzioni di gestione dei dati perché coincidano in modo ottimale con le caratteristiche, gli schemi di accesso e i requisiti dei set di dati del carico di lavoro. Nel selezionare e implementare una soluzione di gestione dei dati, è necessario assicurarsi che le caratteristiche relative a query, dimensionamento e archiviazione siano adeguate ai requisiti dei dati del carico di lavoro. Scopriamo come si abbinano le diverse opzioni di database e i modelli di dati, nonché quali opzioni di configurazione sono più adatte al tuo caso d'uso.  

 AWS offre diversi motori di database dedicati, tra cui database relazionali, a chiave-valore, di documento, in memoria, a grafo, di serie temporali e di libro mastro. Ogni soluzione di gestione dei dati offre soluzioni e configurazioni adatte a gestire i tuoi casi d'uso e modelli di dati. Per il tuo carico di lavoro può essere possibile utilizzare più soluzioni di database diverse in base alle caratteristiche dei dati. Selezionando le soluzioni di database più adatte a uno specifico problema, puoi allontanarti dall'idea di database monolitico, contraddistinta da tutte le limitazioni di approccio universale, e concentrarti sulla gestione dei dati per soddisfare le esigenze del cliente. 

 **Risultato desiderato:** le caratteristiche dei dati del carico di lavoro sono documentate in modo sufficientemente dettagliato da agevolare la selezione e la configurazione di soluzioni di database di supporto e offrono informazioni approfondite su possibili alternative. 

 **Anti-pattern comuni:** 
+  Non considerare modi per segmentare grandi set di dati in raccolte più piccole con caratteristiche simili, mancando così di cogliere l'opportunità di utilizzare più spesso i database dedicati, che coincidono meglio con le caratteristiche dei dati e della crescita. 
+  Non identificare in anticipo gli schemi di accesso ai dati, con conseguenti costose e complesse rilavorazioni in seguito. 
+  Limitare la crescita adottando strategie di archiviazione dei dati il cui dimensionamento non è rapido quanto necessario 
+  Scegliere un fornitore e un tipo di database per tutti i carichi di lavoro. 
+  Continuare a utilizzare una soluzione di database per via dell'esperienza e delle competenze interne relative a quel particolare tipo di soluzione. 
+  Continuare con una soluzione di database perché ha funzionato bene in un ambiente on-premise. 

 **Vantaggi dell'adozione di questa best practice:** È utile conoscere tutte le soluzioni di database AWS in modo da determinare la soluzione di database corretta per i vari carichi di lavoro. Dopo aver selezionato la soluzione di database appropriata per il tuo carico di lavoro, sperimenta rapidamente ciascuna di queste offerte di database per determinare se continuano a soddisfare le esigenze del tuo carico di lavoro. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Alto 
+  I potenziali risparmi sui costi possono non essere identificati. 
+  Sicurezza dei dati non al livello richiesto. 
+  Accesso ai dati e prestazioni di archiviazione non ottimali. 

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

 Definisci le caratteristiche dei dati e gli schemi di accesso del tuo carico di lavoro. Esamina tutte le soluzioni di database disponibili per identificare quella più adatta ai requisiti dei tuoi dati. Per un dato carico di lavoro possono essere selezionati più database. Considera ogni servizio o gruppo di servizi e valutali singolarmente. Se identifichi possibili alternative nelle soluzioni di gestione per tutti i dati (o parte di essi), sperimenta implementazioni alternative che potrebbero portare benefici in termini di costi, sicurezza, prestazioni e affidabilità. Se viene adottato un nuovo approccio alla gestione dei dati, aggiorna la documentazione esistente. 


|  **Tipo**  |  **Servizi AWS**  |  **Caratteristiche chiave**  |  **Casi d'uso comuni**  | 
| --- | --- | --- | --- | 
|  Relazionale  |  Amazon RDS, Amazon Aurora  |  Integrità referenziale, transazioni ACID, schema-on-write  |  ERP, CRM, software COTS (Commercial off-the-shelf)  | 
|  Chiave-valore  |  Amazon DynamoDB  |  Elevata velocità di trasmissione effettiva, bassa latenza, scalabilità praticamente infinita  |  Carrelli (e-commerce), cataloghi di prodotti, applicazioni chat  | 
|  Documento  |  Amazon DocumentDB  |  Archiviazione documenti JSON e query su qualsiasi attributo  |  Gestione dei contenuti (CMS), profili clienti, applicazioni per dispositivi mobili  | 
|  In memoria  |  Amazon ElastiCache, Amazon MemoryDB  |  Latenza in microsecondi  |  Caching, classifiche di gioco  | 
|  Grafo  |  Amazon Neptune  |  Dati altamente relazionali in cui le loro relazioni sono significative  |  Social networks, motori di personalizzazione, rilevamento frodi  | 
|  Serie temporali  |  Amazon Timestream  |  Dati in cui il tempo è la dimensione principale  |  DevOps, IoT, monitoraggio  | 
|  Colonna ampia  |  Amazon Keyspaces  |  Carichi di lavoro Cassandra  |  Manutenzione di apparecchiature industriali, ottimizzazione dei percorsi  | 
|  Di libri mastri  |  Amazon QLDB  |  Libro mastro delle modifiche immutabile e verificabile tramite crittografia  |  Sistemi di registro, assistenza sanitaria, catene di fornitura, istituzioni finanziarie  | 

 **Passaggi dell'implementazione** 

1.  Come sono strutturati i dati (ad esempio, sono non strutturati, a chiave-valore, semi-strutturati, relazionali)? 

   1.  Se i dati non sono strutturati, valuta un'archiviazione a oggetti come [Amazon S3](https://aws.amazon.com/products/storage/data-lake-storage/) o un database NoSQL come [Amazon DocumentDB.](https://aws.amazon.com/documentdb/) 

   1.  Per i dati chiave-valore, valuta [DynamoDB](https://aws.amazon.com/documentdb/), [ElastiCache per Redis](https://aws.amazon.com/elasticache/redis/) oppure [MemoryDB.](https://aws.amazon.com/memorydb/) 

   1.  Se i dati hanno una struttura relazionale, qual è il livello di integrità referenziale richiesto? 

      1.  Per i vincoli di chiave esterna, i database relazionali come [Amazon RDS](https://aws.amazon.com/rds/) e [Aurora](https://aws.amazon.com/rds/aurora/) possono fornire questo livello di integrità. 

      1.  In genere, in un modello di dati NoSQL, i dati vengono denormalizzati in un singolo documento o in una raccolta di documenti da recuperare in un'unica richiesta, anziché essere uniti tra diversi documenti o tabelle.  

1.  È richiesta la conformità ACID (atomicità, coerenza, isolamento, durabilità)? 

   1.  Se sono necessarie proprietà ACID associate ai database relazionali, valuta un database relazionale come [Amazon RDS](https://aws.amazon.com/rds/) e [Aurora.](https://aws.amazon.com/rds/aurora/) 

1.  Qual è il modello di consistenza richiesto? 

   1.  Se la tua applicazione può tollerare la consistenza finale, valuta un'implementazione NoSQL. Esamina le altre caratteristiche per scegliere quale [database NoSQL](https://aws.amazon.com/nosql/) è il più appropriato. 

   1.  Se è necessaria un'elevata coerenza, puoi utilizzare le elevate coerenze di lettura con [DynamoDB](https://aws.amazon.com/documentdb/) o un database relazionale come [Amazon RDS](https://aws.amazon.com/rds/). 

1.  Quali formati di query e risultati devono essere supportati (ad esempio SQL, CSV, Parque, Avro, JSON, ecc.)? 

1.  Quali sono i tipi di dati, le dimensioni dei campi e le quantità complessive presenti (ad esempio testo, numero, spaziale, serie temporali calcolate, binario o BLOB, documento)? 

1.  Come cambierà nel tempo l'archiviazione? In che modo questo avrà effetto sulla scalabilità? 

   1.  I database serverless come [DynamoDB](https://aws.amazon.com/documentdb/) e [Amazon Quantum Ledger Database](https://aws.amazon.com/qldb/) si dimensioneranno automaticamente fino a uno spazio di archiviazione pressoché illimitato. 

   1.  Per i database relazionali sono previsti limiti superiori per l'archiviazione assegnata, al raggiungimento dei quali si rende spesso necessario partizionare orizzontalmente tali database tramite meccanismi quali lo sharding. 

1.  Qual è la proporzione di query in lettura rispetto alle quelle in scrittura? Il caching potrebbe probabilmente migliorare le prestazioni? 

   1.  I carichi di lavoro con molte operazioni di lettura traggono beneficio da un livello di caching, che può essere rappresentato da [ElastiCache](https://aws.amazon.com/elasticache/) oppure [DAX](https://aws.amazon.com/dynamodb/dax/) se il database è DynamoDB. 

   1.  È anche possibile passare le operazioni di lettura alle repliche di lettura con database relazionali come [Amazon RDS](https://aws.amazon.com/rds/). 

1.  Hanno priorità più elevata le operazioni di archiviazione e modifica OLTP, Online Transaction Processing) o quelle di recupero e report (OLAP - Online Analytical Processing)? 

   1.  Per l'elaborazione transazionale ad alta velocità di trasmissione effettiva, valuta un database NoSQL come DynamoDB o Amazon DocumentDB. 

   1.  Per le query analitiche, valuta un database colonnare come [Amazon Redshift](https://aws.amazon.com/redshift/) o la possibilità di esportare i dati su Amazon S3 ed eseguire l'analisi tramite [Athena](https://aws.amazon.com/athena/) oppure [QuickSight.](https://aws.amazon.com/quicksight/) 

1.  Quanto sono sensibili questi dati e quale livello di protezione e crittografia richiedono? 

   1.  Tutti i motori Amazon RDS e Aurora supportano la crittografia dei dati inattivi tramite AWS KMS. Microsoft SQL Server e Oracle supportano anche la tecnologia nativa Transparent Data Encryption (TDE) con l'uso di Amazon RDS. 

   1.  Per DynamoDB, puoi utilizzare il controllo granulare degli accessi con [IAM](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/access-control-overview.html) per controllare chi ha accesso a quali dati a livello di chiave. 

1.  Che livello di durabilità è necessario per i dati? 

   1.  Aurora replica automaticamente i dati su tre zone di disponibilità all'interno di una Regione, il che significa che i dati sono altamente durevoli con minori probabilità di perdite. 

   1.  DynamoDB viene automaticamente replicato in più zone di disponibilità per offrire livelli elevati di disponibilità e durabilità dei dati. 

   1.  Amazon S3 offre il 99,999999999% di durabilità. Molti servizi di database, come Amazon RDS e DynamoDB, supportano l'esportazione di dati su Amazon S3 per la conservazione e l'archiviazione a lungo termine. 

1.  I requisiti in termini di [Obiettivo del tempo di ripristino (RTO) e Obiettivo del punto di ripristino (RPO)](https://docs.aws.amazon.com/wellarchitected/latest/reliability-pillar/plan-for-disaster-recovery-dr.html) influenzano la soluzione? 

   1.  Amazon RDS, Aurora, DynamoDB, Amazon DocumentDB e Neptune supportano tutti sia il ripristino point-in-time, sia il backup e il ripristino on-demand.  

   1.  In caso di requisiti di elevata disponibilità, è possibile replicare le tabelle DynamoDB a livello globale tramite la funzionalità [Tabelle globali,](https://aws.amazon.com/dynamodb/global-tables/) mentre i cluster Aurora possono essere replicati su più Regioni grazie alla funzionalità Database globale. Inoltre, è possibile replicare i bucket S3 tra Regioni AWS grazie alla replica fra Regioni.  

1.  È presente il desiderio di abbandonare i motori di database commerciali/i costi di licenza? 

   1.  Valuta motori open-source come PostgreSQL e MySQL su Amazon RDS o Aurora. 

   1.  Sfrutta [AWS DMS](https://aws.amazon.com/dms/) e [AWS SCT](https://aws.amazon.com/dms/schema-conversion-tool/) per eseguire le migrazioni dai motori di database commerciali a quelli open-source 

1.  Quali sono le aspettative operative per il database? Il passaggio ai servizi gestiti è una priorità? 

   1.  Utilizzare Amazon RDS, invece di Amazon EC2, e scegliere DynamoDB o Amazon DocumentDB, invece di ospitare in autonomia un database NoSQL, riduce le spese operative. 

1.  Come avviene attualmente l'accesso al database? È solo un accesso da applicazione o sono presenti utenti Business Intelligence (BI) e altre applicazioni pronte all'uso connesse? 

   1.  Se fossero presenti dipendenze verso altri strumenti esterni, potresti dover mantenere la compatibilità con i database che essi supportano. Amazon RDS è completamente compatibile con le diverse versioni dei motori che supporta, compresi Microsoft SQL Server, Oracle, MySQL e PostgreSQL. 

1.  Di seguito è riportato un elenco di possibili servizi di gestione dei dati e i loro possibili migliori utilizzi: 

   1.  I database relazionali memorizzano i dati con relazioni e schemi predefiniti. Questi database sono progettati per supportare le transazioni ACID (atomicità, coerenza, isolamento, durabilità) e per mantenere l'integrità referenziale e una solida coerenza dei dati. Molte applicazioni tradizionali, Enterprise Resource Planning (ERP), Customer Relationship Management (CRM) ed e-commerce utilizzano database relazionali per archiviare i propri dati. Puoi eseguire molti di questi motori di database in Amazon EC2 oppure scegliere tra i servizi AWS [di database gestiti](https://aws.amazon.com/products/databases/): [Amazon Aurora](https://aws.amazon.com/rds/aurora), [Amazon RDS](https://aws.amazon.com/rds)e [Amazon Redshift](https://aws.amazon.com/redshift). 

   1.  I database chiave-valore sono ottimizzati per schemi di accesso di uso comune, in genere per archiviare e recuperare grandi volumi di dati. Questi database offrono tempi di risposta rapidi, anche nel caso di volumi estremi di richieste simultanee. Le Web app dal traffico elevato, i sistemi di e-commerce e le applicazioni di gaming sono casi d'uso tipici dei database chiave-valore. In AWS, puoi utilizzare [Amazon DynamoDB](https://aws.amazon.com/dynamodb/), un database completamente gestito, multi-regione, multi-master e durevole, con capacità integrate di sicurezza, backup e ripristino, oltre al caching in memoria per le applicazioni su scala Internet. 

   1.  I database in memoria vengono utilizzati per applicazioni che richiedono accesso in tempo reale ai dati, bassissima latenza ed elevatissima velocità di trasmissione effettiva. Archiviando i dati direttamente in memoria, questi database forniscono una latenza di microsecondi alle applicazioni per le quali la latenza di millisecondi non è sufficiente. Puoi utilizzare database in memoria per il caching delle applicazioni, la gestione delle sessioni, l'archiviazione delle sessioni di gioco e le applicazioni geospaziali. [Amazon ElastiCache](https://aws.amazon.com/elasticache/) è un datastore in memoria completamente gestito, compatibile con [Redis](https://aws.amazon.com/elasticache/redis/) oppure [Memcached](https://aws.amazon.com/elasticache/memcached). Se le applicazioni presentano anche requisiti più elevati in termini di durabilità, [Amazon MemoryDB per Redis](https://aws.amazon.com/memorydb/) li offre ed è anche un servizio di database in memoria durevole e con prestazioni ad altissima velocità. 

   1.  Un database di documenti è progettato per archiviare dati semistrutturati come documenti di tipo JSON. Questi database aiutano gli sviluppatori a creare e aggiornare rapidamente applicazioni quali gestione di contenuti, cataloghi e profili utente. [Amazon DocumentDB](https://aws.amazon.com/documentdb/) è un database di documenti veloce, scalabile, ad elevata disponibilità e completamente gestito, che supporta i carichi di lavoro MongoDB. 

   1.  Uno store colonnare è un tipo di database NoSQL. Utilizza tabelle, righe e colonne, ma a differenza di un database relazionale, i nomi e il formato delle colonne possono variare da riga a riga all'interno della stessa tabella. In genere, gli store colonnari sono utilizzati nelle applicazioni industriali su larga scala per la manutenzione delle apparecchiature, la gestione delle flotte e l'ottimizzazione dei percorsi. [Amazon Keyspaces (per Apache Cassandra)](https://aws.amazon.com/mcs/) è un servizio di database colonnare gestito compatibile con Apache Cassandra, scalabile e altamente disponibile. 

   1.  I database a grafo vengono implementati con le applicazioni che devono navigare ed eseguire query su milioni di relazioni tra set di dati a grafo altamente connessi, con una latenza misurata in millisecondi su larga scala. Molte aziende utilizzano database a grafo per il rilevamento di attività fraudolente, i social network e i motori di raccomandazione. [Amazon Neptune](https://aws.amazon.com/neptune/) è un servizio di database a grafo veloce, affidabile e completamente gestito che semplifica la creazione e l'esecuzione di applicazioni che funzionano con set di dati altamente connessi. 

   1.  I database di serie temporali sono efficienti per raccogliere, sintetizzare e derivare informazioni approfondite dai dati che cambiano nel tempo. I database di serie temporali sono spesso utilizzati dalle applicazioni IoT, DevOps e dalla telemetria industriale. [Amazon Timestream](https://aws.amazon.com/timestream/) è un servizio di database di serie temporali veloce, scalabile e completamente gestito per le applicazioni IoT ed operative che semplifica la memorizzazione e l'analisi di trilioni di eventi al giorno. 

   1.  I database di libri mastri forniscono un'autorità centralizzata e affidabile per mantenere un registro delle transazioni scalabile, immutabile e verificabile tramite crittografia per ogni applicazione. I database di libri mastri vengono utilizzati per sistemi di record, catena di fornitura, registrazioni e persino transazioni bancarie. [Amazon Quantum Ledger Database (Amazon QLDB)](https://aws.amazon.com/qldb/) è un database di libro mastro completamente gestito che fornisce un registro delle transazioni trasparente, immutabile e verificabile tramite crittografia, di proprietà di un'autorità centrale attendibile. Amazon QLDB tiene traccia di ogni modifica ai dati dell'applicazione e conserva una cronologia completa e verificabile delle modifiche nel corso del tempo. 

 **Livello di impegno per il piano di implementazione: **In caso di spostamento del carico di lavoro da una soluzione di database a un'altra, può essere richiesto un *elevato* livello di impegno per riprogettare i dati e l'applicazione.   

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

 **Documenti correlati:** 
+  [Database su cloud AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [Memorizzazione nella cache di database AWS ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Best practice di Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Prestazioni di Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [10 suggerimenti prestazionali su Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Best practice di Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Best practice di Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 
+  [Choose between EC2 and Amazon RDS (Scegliere tra EC2 e Amazon RDS)](https://docs.aws.amazon.com/prescriptive-guidance/latest/migration-sql-server/comparison.html) 
+  [Best practice per l'implementazione di Amazon ElastiCache](https://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/BestPractices.html) 

 **Video correlati:** 
+ [Database dedicati di AWS (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+ [Sfatiamo i miti sullo storage Amazon Aurora: come funziona realmente (DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+ [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Esempi correlati:** 
+  [Optimize Data Pattern Using Amazon Redshift Data Sharing (Ottimizzare lo schema dei dati con la condivisione dei dati di Amazon Redshift)](https://wellarchitectedlabs.com/sustainability/300_labs/300_optimize_data_pattern_using_redshift_data_sharing/) 
+  [Migrazioni dei database](https://github.com/aws-samples/aws-database-migration-samples) 
+  [MS SQL Server - AWS Database Migration Service (DMS) Replication Demo (Demo di replica di AWS Database Migration Service, DMS)](https://github.com/aws-samples/aws-dms-sql-server) 
+  [Database Modernization Hands On Workshop (Workshop pratico sulla modernizzazione dei database)](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Esempi di Amazon Neptune](https://github.com/aws-samples/amazon-neptune-samples) 

# PERF04-BP02 Valutazione delle opzioni disponibili
<a name="perf_right_database_solution_evaluate_options"></a>

 Prima di selezionare una soluzione di gestione dei dati, è importante capire come può migliorare le prestazioni e quali sono le opzioni disponibili per il database. Utilizza il test di carico per identificare i parametri del database più importanti per il tuo carico di lavoro. Nella valutazione delle opzioni per il database, tieni in considerazione diversi aspetti, come i gruppi di parametri, le opzioni di archiviazione, la memoria, il calcolo, la replica di lettura, l'eventuale coerenza, il pooling di connessioni e le opzioni di caching. Esegui prove con le diverse opzioni di configurazione per migliorare i parametri. 

 **Risultato desiderato:** un carico di lavoro può avere una o più soluzioni di database in base al tipo di dati. Le funzionalità e i vantaggi del database corrispondono in maniera ottimale alle caratteristiche dei dati, agli schemi di accesso e ai requisiti del carico di lavoro. Per ottimizzare le prestazioni e i costi del database, devi valutare gli schemi di accesso ai dati per determinare le opzioni di database appropriate. Valuta i tempi di query accettabili per accertarti che le opzioni di database selezionate possano rispettare i requisiti. 

 **Anti-pattern comuni:** 
+  Non identificare gli schemi di accesso. 
+  Non conoscere le opzioni di configurazione della soluzione di gestione dei dati scelta. 
+  Basarsi soltanto sull'aumento delle dimensioni dell'istanza, senza tenere conto di altre opzioni di configurazione disponibili. 
+  Non testare le caratteristiche di scalabilità della soluzione scelta. 

 

 **Vantaggi dell'adozione di questa best practice:** Esplorare le opzioni di database e sperimentare con esse può consentire di ridurre il costo dell'infrastruttura, migliorare le prestazioni e la scalabilità e ridurre l'impegno richiesto per mantenere i carichi di lavoro. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Alto 
+  L'ottimizzazione per un database *universale* comporta inutili compromessi. 
+  Costi più elevati dovuti alla mancata corrispondenza fra la configurazione della soluzione di database e gli schemi di traffico. 
+  Possibili problemi operativi come conseguenza dei problemi di dimensionamento. 
+  Sicurezza dei dati non al livello richiesto. 

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

 Comprendi le caratteristiche dei dati del carico di lavoro per configurare al meglio le opzioni del database. Esegui test di carico per identificare i parametri prestazionali chiave e i colli di bottiglia. Utilizza queste caratteristiche e questi parametri per valutare le opzioni di database e sperimentare con diverse configurazioni. 


|  Servizi AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Dimensionamento del calcolo  |  Aumento della dimensione dell'istanza, le istanze Aurora Serverless si dimensionano automaticamente in risposta ai cambiamenti di carico  |  Dimensionamento automatico in lettura/scrittura con la modalità capacità on demand o dimensionamento automatico della capacità assegnata in lettura/scrittura nella modalità capacità assegnata  |  Aumento della dimensione dell'istanza  |  Aumento della dimensione dell'istanza, aggiunta di nodi al cluster  |  Aumento della dimensione dell'istanza  |  Dimensionamento automatico per regolare la capacità  |  Dimensionamento automatico in lettura/scrittura con la modalità capacità on demand o dimensionamento automatico della capacità assegnata in lettura/scrittura nella modalità capacità assegnata  |  Dimensionamento automatico per regolare la capacità  | 
|  Dimensionamento orizzontale delle letture  |  Tutti i motori supportano le repliche di lettura. Aurora supporta il dimensionamento automatico delle istanze con replica di lettura  |  Aumento delle unità di capacità in lettura assegnate  |  Repliche di lettura  |  Repliche di lettura  |  Repliche di lettura. Supporta il dimensionamento automatico delle istanze con replica di lettura  |  Dimensionamento automatico  |  Aumento delle unità di capacità in lettura assegnate  |  Aumento del dimensionamento in risposta a limiti di simultaneità documentati  | 
|  Dimensionamento orizzontale delle scritture  |  Aumento della dimensione dell'istanza, raggruppamento in batch delle scritture nell'applicazione o aggiunta di una coda davanti al database. Dimensionamento orizzontale tramite partizione a livello dell'applicazione fra più istanze  |  Aumento delle unità di capacità in scrittura assegnate. Garanzia di una chiave di partizione ottimale per evitare limitazioni in scrittura a livello di partizione  |  Aumento delle dimensioni dell'istanza principale  |  Utilizzo di Redis in modalità cluster per distribuire le scritture tra le partizioni  |  Aumento della dimensione dell'istanza  |  Le richieste di scrittura potrebbero subire limitazioni durante il dimensionamento. Se riscontri eccezioni di limitazione, continua a inviare dati ad almeno la stessa velocità di trasmissione effettiva per attivare il dimensionamento automatico. Scritture in batch per ridurre le richieste di scrittura simultanee  |  Aumento delle unità di capacità in scrittura assegnate. Garanzia di una chiave di partizione ottimale per evitare limitazioni in scrittura a livello di partizione  |  Aumento del dimensionamento in risposta a limiti di simultaneità documentati  | 
|  Configurazione del motore  |  Gruppi di parametri  |  Non applicabile  |  Gruppi di parametri  |  Gruppi di parametri  |  Gruppi di parametri  |  Non applicabile  |  Non applicabile  |  Non applicabile  | 
|  Caching  |  Caching in memoria, configurabile tramite gruppi di parametri. Associazione a una cache dedicata come ElastiCache per Redis a cui assegnare le richieste per gli elementi con accesso più frequente  |  Cache DAX completamente gestita disponibile  |  Caching in memoria. Facoltativo: associazione a una cache dedicata come ElastiCache per Redis a cui assegnare le richieste per gli elementi con accesso più frequente  |  La funzione principale è il caching  |  Utilizzo della cache dei risultati delle query per memorizzare in cache il risultato delle query di sola lettura  |  Timestream dispone di due livelli di archiviazione, uno dei quali è in memoria e ad alte prestazioni  |  Implementazione di una cache dedicata separata come ElastiCache per Redis a cui assegnare le richieste per gli elementi con accesso più frequente  |  Non applicabile  | 
|  Alta disponibilità/ripristino di emergenza  |  Per i carichi di lavoro, la configurazione consigliata prevede l'esecuzione di un'istanza in stand-by in una seconda zona di disponibilità, al fine di garantire la resilienza all'interno di una Regione.  Per la resilienza tra Regioni è possibile utilizzare Aurora Global Database  |  Disponibilità elevata all'interno di una Regione. Possibilità di replicare le tabelle tra Regioni grazie alle tabelle globali di DynamoDB  |  Creazione di più istanze in diverse zone di disponibilità per una maggiore disponibilità.  Possibilità di condividere snapshot tra Regioni e cluster grazie a DMS, per garantire funzionalità di replica tra Regioni/ripristino di emergenza  |  La configurazione consigliata per i cluster di produzione prevede la creazione di almeno un nodo in una zona di disponibilità secondaria.  Per la replica di cluster tra Regioni è possibile utilizzare ElastiCache Global Datastore.  |  Le repliche di lettura in altre zone di disponibilità servono come destinazioni di failover.  È possibile condividere snapshot tra Regioni e replicare cluster tramite i flussi Neptune, che consentono di replicare dati tra due cluster in due diverse Regioni.  |  Disponibilità elevata all'interno di una Regione. La replica tra Regioni richiede lo sviluppo di un'applicazione personalizzata tramite SDK Timestream  |  Disponibilità elevata all'interno di una Regione.  La replica tra Regioni richiede una logica applicativa personalizzata o strumenti di terze parti  |  Disponibilità elevata all'interno di una Regione.  Per la replica tra Regioni, esporta i contenuti del registro Amazon QLDB in un bucket S3 e configura tale bucket per la replica tra Regioni.  | 

 

 **Passaggi dell'implementazione** 

1.  Quali opzioni di configurazione sono disponibili per i database selezionati? 

   1.  I gruppi di parametri per Amazon RDS e Aurora consentono di regolare le impostazioni comuni del database a livello di motore, ad esempio la memoria allocata per la cache o la regolazione del fuso orario del database 

   1.  Per i servizi di database assegnati, come Amazon RDS, Aurora, Neptune, Amazon DocumentDB e quelli implementati su Amazon EC2, è possibile modificare il tipo di istanza e l'archiviazione assegnata, nonché aggiungere repliche di lettura. 

   1.  DynamoDB consente di specificare due modalità di capacità: on-demand e assegnata. Per rispondere ai diversi carichi di lavoro, puoi passare da una modalità all'altra e aumentare in qualsiasi momento la capacità allocata nella modalità assegnata. 

1.  Il carico di lavoro comporta operazioni intensive in lettura o scrittura?  

   1.  Quali sono le soluzioni disponibili per eliminare il carico delle letture (repliche di lettura, caching, ecc.)?  

      1.  Per le tabelle DynamoDB, è possibile eliminare il carico delle letture grazie a DAX per il caching. 

      1.  Per i database relazionali è possibile creare un cluster ElastiCache per Redis e configurare l'applicazione perché legga prima dalla cache, passando poi al database se l'elemento richiesto non è presente. 

      1.  I database relazionali come Amazon RDS e Aurora, nonché i database assegnati NoSQL come Neptune e Amazon DocumentDB, supportano tutti l'aggiunta di repliche di lettura per eliminare il carico creato dalle parti di lettura nel carico di lavoro. 

      1.  I database serverless come DynamoDB si dimensionano automaticamente. Assicurati di avere abbastanza unità di capacità di lettura (RCU) assegnate per gestire il carico di lavoro. 

   1.  Quali soluzioni sono disponibili per il dimensionamento delle operazioni in scrittura (sharding della chiave di partizione, introduzione di una coda, ecc.)? 

      1.  Per i database relazionali, è possibile aumentare la dimensione dell'istanza per gestire un maggiore carico di lavoro o aumentare la capacità di IOPS allocata per gestire una maggiore velocità di trasmissione effettiva verso l'archiviazione sottostante. 
         +  È anche possibile introdurre una coda davanti al database, invece di eseguire direttamente la scrittura su di esso. Questo schema consente di disaccoppiare l'acquisizione dal database e controllare il flusso, in modo che il database sia in grado di gestirlo.  
         +  Raggruppare in batch le richieste di scrittura, anziché creare molte transazioni di breve durata, può aiutare a migliorare la velocità di trasmissione effettiva in database relazionali con un elevato volume in scrittura. 

      1.  I database serverless come DynamoDB possono dimensionare automaticamente la velocità di trasmissione effettiva in scrittura oppure è possibile regolare le unità di capacità in scrittura (WCU) assegnate, a seconda della modalità di capacità.  
         +  È comunque possibile che si verifichino problemi con partizioni *ad accesso frequente* quando si raggiungono i limiti di velocità di trasmissione effettiva per una data chiave di partizione. Questo problema può essere arginato scegliendo una chiave di partizione con una distribuzione più uniforme o eseguendo lo sharding in lettura della chiave di partizione.  

1.  Qual è il picco di transazioni per secondo (TPS) attuale o previsto? Esegui un test con questo volume di traffico da solo e con l'aggiunta di un X% per comprendere le caratteristiche di dimensionamento. 

   1.  È possibile utilizzare strumenti nativi come pg\$1bench for PostgreSQL per mettere sotto stress il database e comprendere dove si creano colli di bottiglia e quali sono le caratteristiche di dimensionamento. 

   1.  È utile acquisire il traffico in contesti simili alla produzione perché possa essere riprodotto per simulare condizioni reali in aggiunta ai carichi di lavoro sintetici. 

1.  Se utilizzi capacità di calcolo serverless o a dimensionamento elastico, testa l'impatto del suo dimensionamento sul database. Se necessario, prevedi una gestione o un pooling delle connessioni per ridurre l'impatto sul database.  

   1.  È possibile utilizzare RDS Proxy con Amazon RDS e Aurora per gestire le connessioni al database.  

   1.  I database serverless come DynamoDB non hanno connessioni associate, ma valuta la capacità assegnata e le policy di dimensionamento automatico per affrontare i picchi nel carico. 

1.  Se il carico è prevedibile, sono presenti picchi e periodi di inattività? 

   1.  In presenza di periodi di inattività, valuta la possibilità di ridurre la capacità assegnata o la dimensione dell'istanza durante questi momenti. Aurora Serverless V2 aumenterà o ridurrà automaticamente le dimensioni in base al carico. 

   1.  Valuta la possibilità di mettere in pausa o interrompere le istanze non di produzione al di fuori degli orari lavorativi. 

1.  Devi segmentare e suddividere i tuoi modelli di dati in base agli schemi di accesso e alle caratteristiche dei dati? 

   1.  Valuta la possibilità di utilizzare AWS DMS o AWS SCT per spostare i dati su altri servizi. 

## Livello di impegno per il piano di implementazione: 
<a name="level-of-effort-for-the-implementation-plan-to-establish-this-best-practice-you-must-be-aware-of-your-current-data-characteristics-and-metrics.-gathering-those-metrics-establishing-a-baseline-and-then-using-those-metrics-to-identify-the-ideal-database-configuration-options-is-a-low-to-moderate-level-of-effort.-this-is-best-validated-by-load-tests-and-experimentation."></a>

Per attuare questa best practice è necessario conoscere caratteristiche e parametri attuali dei dati. Raccogliere tali parametri, definire una linea di base e quindi utilizzare i parametri per identificare le opzioni ideali per la configurazione del database richiede un livello di impegno da *basso* a *moderato* livello di impegno La convalida migliore passa attraverso test di carico e sperimentazioni. 

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

 **Documenti correlati:** 
+  [Database su cloud AWS ](https://aws.amazon.com/products/databases/?ref=wellarchitected) 
+  [AWS Database Caching (Memorizzazione nella cache del database AWS) ](https://aws.amazon.com/caching/database-caching/?ref=wellarchitected) 
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/?ref=wellarchitected) 
+  [Best practice di Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html?ref=wellarchitected) 
+  [Prestazioni di Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html?ref=wellarchitected) 
+  [10 suggerimenti prestazionali su Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/?ref=wellarchitected) 
+  [Best practice di Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/?ref=wellarchitected) 
+  [Best practice di Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html?ref=wellarchitected) 

 

 **Video correlati:** 
+  [AWS purpose-built databases (Database dedicati di AWS) (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28)
+ [Amazon Aurora storage demystified: How it all works (Sfatiamo i miti sullo storage Amazon Aurora: come funziona realmente)(DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Esempi correlati:** 
+  [Esempi di Amazon DynamoDB](https://github.com/aws-samples/aws-dynamodb-examples) 
+  [Esempi di migrazione di database con AWS](https://github.com/aws-samples/aws-database-migration-samples) 
+  [Database Modernization Workshop (Workshop sulla modernizzazione dei database)](https://github.com/aws-samples/amazon-rds-purpose-built-workshop) 
+  [Utilizzo dei parametri sul database di Amazon RDS per PostgreSQL](https://github.com/awsdocs/amazon-rds-user-guide/blob/main/doc_source/Appendix.PostgreSQL.CommonDBATasks.Parameters.md) 

# PERF04-BP03 Raccolta e registrazione dei parametri delle prestazioni del database
<a name="perf_right_database_solution_collect_metrics"></a>

 Per capire come si comportano i sistemi di gestione dei dati, è importante monitorare i parametri pertinenti. Questi parametri ti aiuteranno a ottimizzare le risorse di gestione dei dati, a garantire che i requisiti del carico di lavoro siano soddisfatti e ad avere una chiara panoramica sulle prestazioni del carico di lavoro. Utilizza strumenti, librerie e sistemi che registrano misure delle prestazioni relative alle prestazioni del database. 

 

 Esistono parametri relativi al sistema su cui è ospitato il database (ad esempio, CPU, spazio di archiviazione, memoria, IOPS) e parametri di accesso ai dati stessi (ad esempio, transazioni al secondo, velocità di esecuzione delle query, tempi di risposta, errori). Questi parametri devono essere facilmente accessibili a tutto il personale di supporto o operativo e devono avere un registro cronologico sufficiente per poter identificare tendenze, anomalie e colli di bottiglia. 

 

 **Risultato desiderato:** per monitorare le prestazioni dei carichi di lavoro del database, è necessario registrare più parametri delle prestazioni in un dato periodo di tempo. Ciò consente di rilevare le anomalie e di misurare le prestazioni rispetto ai parametri aziendali, per garantire che le esigenze del carico di lavoro siano soddisfatte. 

 **Anti-pattern comuni:** 
+  Utilizzi solo i file di log manuali per la ricerca dei parametri. 
+  Pubblichi i parametri solo sugli strumenti interni utilizzati dal tuo team e non hai un quadro completo del carico di lavoro. 
+  Utilizzi solo i parametri predefiniti registrati dal software di monitoraggio selezionato. 
+  Rivedi i parametri solo quando c'è un problema. 
+  Monitori solo i parametri a livello di sistema, senza catturare l'accesso ai dati o i parametri di utilizzo. 

 **Vantaggi dell'adozione di questa best practice:** la definizione di una linea di base delle prestazioni aiuta a comprendere il comportamento normale e i requisiti dei carichi di lavoro. I modelli anomali possono essere identificati ed eliminati più rapidamente, per migliorare le prestazioni e l'affidabilità del database. La capacità del database può essere configurata per garantire costi ottimali senza compromettere le prestazioni. 

 **Livello di rischio associato se questa best practice non fosse adottata:** Alta 
+  L'incapacità di distinguere il livello di prestazioni fuori dalla norma da quello nella norma crea difficoltà nell'identificazione dei problemi e nel processo decisionale. 
+  I potenziali risparmi sui costi possono non essere identificati. 
+  Non verranno identificati modelli di crescita che possono comportare un degrado dell'affidabilità o delle prestazioni. 

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

 Identificare, raccogliere, aggregare e correlare i parametri relativi al database. I parametri devono includere sia il sistema sottostante che supporta il database sia i parametri del database. I parametri del sistema sottostante possono includere utilizzo della CPU, memoria, spazio di archiviazione su disco disponibile, I/O su disco e parametri di rete in entrata e in uscita, mentre i parametri del database possono includere transazioni al secondo, query principali, velocità media delle query, tempi di risposta, utilizzo degli indici, blocco delle tabelle, timeout delle query e numero di connessioni aperte. Questi dati sono cruciali per capire come si comporta il carico di lavoro e come viene utilizzata la soluzione di database. Utilizza tali parametri come parte di un approccio basato sui dati per mettere a punto e ottimizzare le risorse del tuo carico di lavoro.  

 **Passaggi dell'implementazione:** 

1.  Quali parametri del database è importante monitorare? 

   1.  [Monitoraggio di parametri in un'istanza Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Monitoring.html) 

   1.  [Monitoraggio con Performance Insights](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 

   1.  [Monitoraggio avanzato](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Monitoring.OS.overview.html) 

   1.  [Parametri di DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/metrics-dimensions.html) 

   1.  [Monitoraggio di DynamoDB DAX](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/DAX.Monitoring.html) 

   1.  [Monitoring MemoryDB (Monitoraggio di MemoryDB)](https://docs.aws.amazon.com/memorydb/latest/devguide/monitoring-cloudwatch.html) 

   1.  [Monitoraggio di Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/mgmt/metrics.html) 

   1.  [Timeseries metrics and dimensions (Parametri e dimensioni delle serie temporali)](https://docs.aws.amazon.com/timestream/latest/developerguide/metrics-dimensions.html) 

   1.  [Parametri a livello di cluster per Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/Aurora.AuroraMySQL.Monitoring.Metrics.html) 

   1.  [Monitoring Amazon Keyspaces (Monitoraggio di Amazon Keyspaces)](https://docs.aws.amazon.com/keyspaces/latest/devguide/monitoring.html) 

   1.  [Monitoring Amazon Neptune (Monitoraggio di Amazon Neptune)](https://docs.aws.amazon.com/neptune/latest/userguide/monitoring.html) 

1.  Il monitoraggio del database può trarre vantaggio da una soluzione di machine learning che rileva anomalie operative e problemi di prestazioni? 

   1.  [Amazon DevOps Guru per Amazon RDS](https://docs.aws.amazon.com/devops-guru/latest/userguide/working-with-rds.overview.how-it-works.html) offre visibilità sui problemi di prestazioni e fornisce suggerimenti per le azioni correttive. 

1.  Hai bisogno di dettagli a livello di applicazione sull'utilizzo di SQL? 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/xray-api-segmentdocuments.html#api-segmentdocuments-sql) può essere inserito nell'applicazione per ottenere approfondimenti e incapsulare tutti i punti di dati per una singola query. 

1.  Disponi attualmente di una soluzione di registrazione e monitoraggio approvata? 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) può raccogliere i parametri per tutte le risorse dell'architettura. Puoi anche raccogliere e pubblicare parametri personalizzati per ottenere parametri aziendali o derivati. Utilizza CloudWatch o soluzioni di terze parti per impostare allarmi che indicano il superamento delle soglie. 

1.  Hai identificato e configurato le policy di conservazione dei dati in modo che corrispondano ai miei obiettivi operativi e di sicurezza? 

   1.  [Conservazione dei dati predefinita per i parametri CloudWatch](https://aws.amazon.com/cloudwatch/faqs/#AWS_resource_.26_custom_metrics_monitoring) 

   1.  [Conservazione dei dati predefinita per CloudWatch Logs](https://aws.amazon.com/cloudwatch/faqs/#Log_management) 

 **Livello di impegno per il piano di implementazione: **esiste un livello *medio* di impegno per identificare, monitorare, raccogliere, aggregare e correlare i parametri di tutte le risorse del database. 

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

 **Documenti correlati:** 
+ [AWS Database Caching (Memorizzazione nella cache del database AWS) ](https://aws.amazon.com/caching/database-caching/) 
+ [ 10 suggerimenti prestazionali su Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/)
+ [ Best practice con Amazon Aurora ](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html)
+  [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/)
+ [Best practice di Amazon DynamoDB ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Best practice di Amazon Redshift Spectrum (Best practice per Amazon Redshift Spectrum) ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Prestazioni di Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+ [Database su cloud AWS](https://aws.amazon.com/products/databases/) 
+  [Amazon RDS Performance Insights](https://aws.amazon.com/rds/performance-insights/) 

 **Video correlati:** 
+ [AWS purpose-built databases (Database dedicati di AWS) (DAT209-L) ](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (Sfatiamo i miti sullo storage Amazon Aurora: come funziona realmente)(DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Esempi correlati:** 
+  [Level 100: Monitoring with CloudWatch Dashboards (Livello 100: Monitoraggio con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [AWS Dataset Ingestion Metrics Collection Framework (Framework di raccolta dei parametri di ingestione del set di dati AWS)](https://github.com/awslabs/aws-dataset-ingestion-metrics-collection-framework) 
+  [Workshop di monitoraggio Amazon RDS](https://www.workshops.aws/?tag=Enhanced%20Monitoring) 

# PERF04-BP04 Scelta dello spazio di archiviazione dei dati in base ai modelli di accesso
<a name="perf_right_database_solution_access_patterns"></a>

 Utilizza gli schemi di accesso del carico di lavoro per decidere quali servizi e tecnologie utilizzare. Oltre ai requisiti non funzionali, come le prestazioni e il dimensionamento, i modelli di accesso influenzano pesantemente la scelta del database e delle soluzioni di archiviazione. La prima dimensione è data da necessità di transazioni, conformità ACID e letture coerenti. Non tutti i database supportano queste caratteristiche e la maggior parte dei database NoSQL fornisce un modello di consistenza eventuale. La seconda dimensione importante è la distribuzione delle scritture e delle letture nel tempo e nello spazio. Le applicazioni distribuite a livello globale devono considerare i modelli di traffico, la latenza e i requisiti di accesso per identificare la soluzione di archiviazione ottimale. Il terzo aspetto cruciale da scegliere è la flessibilità dei modelli di query, i modelli di accesso casuale e le query una tantum. Occorre inoltre tenere conto delle funzionalità di query altamente specializzate per l'elaborazione del testo e del linguaggio naturale, delle serie temporali e dei grafici. 

 **Risultato desiderato:** l'archiviazione di dati è stata selezionata in base a modelli di accesso ai dati identificati e documentati. Ciò potrebbe includere le query di lettura, scrittura e cancellazione più comuni, la necessità di calcoli e aggregazioni ad hoc, la complessità dei dati, l'interdipendenza dei dati e le esigenze di coerenza richieste. 

 **Anti-pattern comuni:** 
+  È sufficiente selezionare un solo fornitore di database per semplificare la gestione delle operazioni. 
+  Ritieni che gli schemi di accesso ai dati rimarranno coerenti nel tempo. 
+  Implementi transazioni complesse, rollback e logica di coerenza nell'applicazione. 
+  Il database è configurato per supportare un potenziale burst di traffico elevato, che fa sì che le risorse del database rimangano inattive per la maggior parte del tempo. 
+  Utilizzo di un database condiviso per usi transazionali e analitici. 

 **Vantaggi dell'adozione di questa best practice:** la selezione e l'ottimizzazione dell'archiviazione dei dati in base ai modelli di accesso contribuirà a ridurre la complessità dello sviluppo e a ottimizzare le opportunità di prestazione. Capire quando utilizzare le repliche di lettura, le tabelle globali, il partizionamento dei dati e la memorizzazione nella cache, ti aiuterà a ridurre i costi operativi e a effettuare il dimensionamento in base alle esigenze del carico di lavoro. 

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

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

 Identifica e valuta il modello di accesso ai dati per selezionare la configurazione di archiviazione corretta. Ogni soluzione di database dispone di opzioni per configurare e ottimizzare la soluzione di archiviazione. Utilizza i parametri e i registri raccolti e sperimenta le opzioni per trovare la configurazione ottimale. Utilizza la tabella seguente per esaminare le opzioni di archiviazione per ogni servizio di database. 


|  Servizi AWS  |  Amazon RDS, Amazon Aurora  |  Amazon DynamoDB  |  Amazon DocumentDB  |  Amazon ElastiCache  |  Amazon Neptune  |  Amazon Timestream  |  Amazon Keyspaces  |  Amazon QLDB  | 
| --- | --- | --- | --- | --- | --- | --- | --- | --- | 
|  Dimensionamento dello spazio di archiviazione  |  L'opzione di dimensionamento automatico dello spazio di archiviazione è disponibile per dimensionare automaticamente lo spazio di archiviazione allocato. La capacità di IOPS allocata può essere dimensionata anche indipendentemente dallo spazio di archiviazione allocato quando si sfruttano i tipi di spazio di archiviazione IOPS allocati.  |  Dimensionamento automatico. Le tabelle non hanno vincoli di dimensione.  |  Opzione di dimensionamento automatico dello spazio di archiviazione disponibile per dimensionare lo spazio di archiviazione allocato  |  Spazio di archiviazione in memoria, legato al tipo o al numero di istanze  |  Opzione di dimensionamento automatico dello spazio di archiviazione disponibile per dimensionare automaticamente lo spazio di archiviazione allocato  |  Configura il periodo di conservazione per i livelli in memoria e magnetici nei giorni  |  Aumenta e diminuisce automaticamente lo spazio di archiviazione della tabella  |  Dimensionamento automatico. Le tabelle non hanno vincoli di dimensione.  | 

 

 **Passaggi dell'implementazione:** 

1.  Identifica e documenta la crescita prevista dei dati e del traffico. 

   1.  Amazon RDS e Aurora supportano l'aumento automatico dello spazio di archiviazione fino ai limiti documentati. Oltre a questo, si può prendere in considerazione la transizione dei dati più vecchi verso Amazon S3 per l'archiviazione, l'aggregazione dei dati storici per l'analisi o la scalabilità orizzontale tramite partizioni. 

   1.  DynamoDB e Amazon S3 dimensioneranno automaticamente fino a raggiungere un volume di archiviazione quasi illimitato. 

   1.  I database e le istanze Amazon RDS in esecuzione su EC2 possono essere ridimensionati manualmente e le istanze EC2 possono avere nuovi volumi EBS aggiunti in un secondo momento per ottenere ulteriore spazio di archiviazione.  

   1.  I tipi di istanza possono essere modificati in base alle variazioni dell'attività. Ad esempio, puoi iniziare con un'istanza più piccola durante i test, per poi dimensionare l'istanza quando inizi a ricevere traffico di produzione verso il servizio. Aurora Serverless V2 si riduce orizzontalmente in modo automatico in risposta alle modifiche nel carico.  

1.  Documenta i requisiti relativi alle prestazioni normali e di picco (transazioni al secondo TPS e query al secondo QPS) e alla consistenza (ACID e consistenza eventuale). 

1.  Documenta gli aspetti di implementazione della soluzione e i requisiti di accesso al database (globale, Mult-AZ, replica in lettura, nodi di scrittura multipli) 

 **Livello di impegno per il piano di implementazione: **se non disponi di registri o parametri per la tua soluzione di gestione dei dati, devi completarli prima di identificare e documentare i modelli di accesso ai dati. Una volta compreso il modello di accesso ai dati, la selezione e la configurazione dello spazio di archiviazione dei dati è un *basso* livello di impegno 

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

 **Documenti correlati:** 
+ [AWS Database Caching (Memorizzazione nella cache del database AWS) ](https://aws.amazon.com/caching/database-caching/)
+ [10 suggerimenti prestazionali su Amazon Athena ](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+ [Best practice di Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+ [Amazon DynamoDB Accelerator ](https://aws.amazon.com/dynamodb/dax/) 
+ [Best practice di Amazon DynamoDB ](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+ [Best practice di Amazon Redshift Spectrum ](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+ [Prestazioni di Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Database su cloud AWS](https://aws.amazon.com/products/databases/)
+  [Tipi di archiviazione Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Storage.html) 

 **Video correlati:** 
+ [AWS purpose-built databases (Database dedicati di AWS) (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (Sfatiamo i miti sullo storage Amazon Aurora: come funziona realmente)(DAT309-R) ](https://www.youtube.com/watch?v=uaQEGLKtw54)
+ [ Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) ](https://www.youtube.com/watch?v=6yqfmXiZTlM)

 **Esempi correlati:** 
+  [Experiment and test with Distributed Load Testing on AWS (Esperimenti e prove con i test di carico distribuiti su AWS)](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF04-BP05 Ottimizzazione dello spazio di archiviazione dei dati in base ai modelli e ai parametri di accesso
<a name="perf_right_database_solution_optimize_metrics"></a>

 Utilizza caratteristiche delle prestazioni e schemi di accesso che ottimizzano il modo in cui i dati vengono archiviati o interrogati al fine di ottenere le migliori prestazioni possibili. Misura il modo in cui le ottimizzazioni come l'indicizzazione, la distribuzione delle chiavi, la progettazione dei data warehouse o le strategie di memorizzazione nella cache influenzano le prestazioni del sistema o la sua efficienza nel complesso. 

 **Anti-pattern comuni:** 
+  Utilizzi solo i file di log manuali per la ricerca dei parametri. 
+  Pubblichi i parametri solo negli strumenti interni. 

 **Vantaggi dell'adozione di questa best practice:** Per assicurarti di soddisfare i parametri necessari per il carico di lavoro, devi monitorare i parametri delle prestazioni del database correlati alla lettura e alla scrittura. Puoi utilizzare questi dati per aggiungere nuove ottimizzazioni per le operazioni di lettura e scrittura al livello di storage dei dati. 

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

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

 Ottimizzazione dello spazio di archiviazione di dati in base a parametri e modelli: i parametri segnalati per identificare le aree con prestazioni inferiori nel carico di lavoro e ottimizzare i componenti del database. Ogni sistema del database ha caratteristiche diverse relative alle prestazioni che devono essere valutate, come il modo in cui i dati sono indicizzati, memorizzati nella cache o distribuiti in più sistemi. Misurazione dell'impatto delle ottimizzazioni. 

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

 **Documenti correlati:** 
+  [AWS Database Caching (Memorizzazione nella cache del database AWS)](https://aws.amazon.com/caching/database-caching/) 
+  [10 suggerimenti prestazionali su Amazon Athena](https://aws.amazon.com/blogs/big-data/top-10-performance-tuning-tips-for-amazon-athena/) 
+  [Best practice con Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Aurora.BestPractices.html) 
+  [Amazon DynamoDB Accelerator](https://aws.amazon.com/dynamodb/dax/) 
+  [Best practice di Amazon DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/BestPractices.html) 
+  [Best practice di Amazon Redshift Spectrum (Best practice per Amazon Redshift Spectrum)](https://aws.amazon.com/blogs/big-data/10-best-practices-for-amazon-redshift-spectrum/) 
+  [Prestazioni di Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c_challenges_achieving_high_performance_queries.html) 
+  [Database su cloud AWS](https://aws.amazon.com/products/databases/) 
+  [Analisi delle anomalie delle prestazioni con DevOps Guru per RDS](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/devops-guru-for-rds.html) 
+  [Modalità di capacità in lettura/scrittura per DynamoDB](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.ReadWriteCapacityMode.html) 

 **Video correlati:** 
+  [AWS purpose-built databases (Database dedicati di AWS) (DAT209-L)](https://www.youtube.com/watch?v=q81TVuV5u28) 
+  [Amazon Aurora storage demystified: How it all works (Sfatiamo i miti sullo storage Amazon Aurora: come funziona realmente)(DAT309-R)](https://www.youtube.com/watch?v=uaQEGLKtw54) 
+  [Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)](https://www.youtube.com/watch?v=6yqfmXiZTlM) 

 **Esempi correlati:** 
+  [Laboratori pratici per Amazon DynamoDB](https://amazon-dynamodb-labs.workshop.aws/hands-on-labs.html) 

# PERF 5 In che modo configuri la soluzione di rete?
<a name="w2aac19c11b5c13"></a>

 La soluzione di rete ottimale per un carico di lavoro varia in base a latenza, requisiti di throughput, jitter e larghezza di banda. I vincoli fisici, ad esempio le risorse utente o in locale, determinano le opzioni di posizione. Questi vincoli possono essere compensati con le edge location o la collocazione delle risorse. 

**Topics**
+ [

# PERF05-BP01 In che modo la rete influisce sulle prestazioni
](perf_select_network_understand_impact.md)
+ [

# PERF05-BP02 Valutazione delle funzionalità di rete disponibili
](perf_select_network_evaluate_features.md)
+ [

# PERF05-BP03 Scelta di una connettività dedicata o una VPN di dimensioni adeguate ai carichi di lavoro ibridi
](perf_select_network_hybrid.md)
+ [

# PERF05-BP04 Sfruttamento del bilanciamento del carico e dell'offloading della crittografia
](perf_select_network_encryption_offload.md)
+ [

# PERF05-BP05 Scelta dei protocolli di rete per migliorare le prestazioni
](perf_select_network_protocols.md)
+ [

# PERF05-BP06 Scelta della posizione del carico di lavoro in base ai requisiti di rete
](perf_select_network_location.md)
+ [

# PERF05-BP07 Ottimizzazione della configurazione di rete in base ai parametri
](perf_select_network_optimize.md)

# PERF05-BP01 In che modo la rete influisce sulle prestazioni
<a name="perf_select_network_understand_impact"></a>

 Analizza e comprendi come le decisioni relative alla rete influenzano le prestazioni di rete. La rete è responsabile della connettività tra componenti dell'applicazione, servizi cloud, reti edge e dati on-premise e quindi può avere un forte impatto sulle prestazioni dei carichi di lavoro. Oltre alle prestazioni del carico di lavoro, l'esperienza dell'utente è influenzata anche da latenza della rete, larghezza di banda, protocolli, posizione, congestione della rete, jitter, velocità di trasmissione effettiva e regole di instradamento. 

 **Risultato desiderato:** Disporre di un elenco documentato dei requisiti di rete del carico di lavoro, tra cui latenza, dimensione dei pacchetti, regole di instradamento, protocolli e modelli di traffico di supporto. Esaminare le soluzioni di rete disponibili e individuare il servizio che soddisfi le caratteristiche di rete del proprio carico di lavoro. Le reti basate sul cloud possono essere ricostruite rapidamente, quindi l'evoluzione dell'architettura di rete nel tempo è necessaria per migliorare l'efficienza delle prestazioni. 

 **Anti-pattern comuni:** 
+  Tutto il traffico passa attraverso i data center esistenti. 
+  Le sessioni Direct Connect vengono sovradimensionate senza considerare i requisiti di utilizzo effettivi. 
+  Quando si definiscono le soluzioni di rete, non si considerano le caratteristiche del carico di lavoro e l'overhead della crittografia. 
+  Per le soluzioni di rete nel cloud si utilizzano concetti e strategie on-premise. 

 **Vantaggi dell'adozione di questa best practice:** Comprendere l'impatto della rete sulle prestazioni del carico di lavoro ti aiuterà a identificare i potenziali colli di bottiglia, migliorare l'esperienza dell'utente, aumentare l'affidabilità e ridurre la manutenzione operativa al variare del carico di lavoro. 

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

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

 Identifica i parametri importanti delle prestazioni di rete del carico di lavoro e cattura le sue caratteristiche di rete. Definisci e documenta i requisiti come parte di un approccio basato sui dati, utilizzando valori di riferimento o test di carico. Utilizza tali dati per identificare i punti in cui la soluzione di rete è vincolante ed esamina le opzioni di configurazione che possono migliorare il carico di lavoro. Comprendi le caratteristiche e le opzioni di rete native per il cloud disponibili e come questa possono influire sulle prestazioni del carico di lavoro in base ai requisiti. Ogni funzionalità di rete presenta vantaggi e svantaggi e può essere configurata per soddisfare le caratteristiche del carico di lavoro e dimensionarsi in base alle singole esigenze. 

 **Passaggi dell'implementazione:** 

1.  Definizione e documentazione dei requisiti di prestazioni della rete: 

   1.  Includi i parametri come latenza di rete, larghezza di banda, protocolli, posizioni, modelli di traffico (picchi e frequenza), velocità di trasmissione effettiva, crittografia, ispezione e regole di instradamento. 

1.  Acquisisci le caratteristiche fondamentali della rete: 

   1.  [Log di flusso VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

   1.  [Parametri di AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw/transit-gateway-cloudwatch-metrics.html) 

   1.  [Parametri AWS PrivateLink](https://docs.aws.amazon.com/vpc/latest/privatelink/privatelink-cloudwatch-metrics.html) 

1.  Acquisisci le caratteristiche di rete dell'applicazione: 

   1.  [Adattatore di rete elastico](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html) 

   1.  [AWS App Mesh metrics (Parametri AWS App Mesh)](https://docs.aws.amazon.com/app-mesh/latest/userguide/envoy-metrics.html) 

   1.  [Amazon API Gateway metrics (Parametri Amazon API Gateway)](https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-metrics-and-dimensions.html) 

1.  Acquisisci le caratteristiche di rete edge: 

   1.  [Amazon CloudFront metrics (Visualizzazione dei parametri di CloudFront e di Lambda@Edge)](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/viewing-cloudfront-metrics.html) 

   1.  [Amazon Route 53 metrics (Monitoraggio delle risorse con i controlli dell'integrità di Amazon Route 53 e Amazon CloudWatch)](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/monitoring-cloudwatch.html) 

   1.  [AWS Global Accelerator metrics (Parametri AWS Global Accelerator)](https://docs.aws.amazon.com/global-accelerator/latest/dg/cloudwatch-monitoring.html) 

1.  Acquisisci le caratteristiche di rete edge ibride: 

   1.  [Parametri Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/monitoring-cloudwatch.html) 

   1.  [Parametri VPN da-sito-a-sito AWS](https://docs.aws.amazon.com/vpn/latest/s2svpn/monitoring-cloudwatch-vpn.html) 

   1.  [Parametri VPN client AWS](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/monitoring-cloudwatch.html) 

   1.  [Parametri WAN Cloud AWS](https://docs.aws.amazon.com/vpc/latest/cloudwan/cloudwan-cloudwatch-metrics.html) 

1.  Acquisisci le caratteristiche di rete di sicurezza: 

   1.  [AWS Shield, WAF, and Network Firewall metrics (Parametri AWS Shield, WAF e firewall di rete)](https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html) 

1.  Acquisisci parametri di prestazioni end-to-end con gli strumenti di tracciamento: 

   1.  [AWS X-Ray](https://aws.amazon.com/xray/) 

   1.  [Usare il RUM Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 

1.  Esegui il benchmark e testa le prestazioni della rete: 

   1.  [Velocità](https://aws.amazon.com/premiumsupport/knowledge-center/network-throughput-benchmark-linux-ec2/) di trasmissione effettiva del benchmark: alcuni fattori che possono influire sulle prestazioni della rete EC2 quando le istanze si trovano nella stessa VPC. Misura la larghezza di banda della rete tra le istanze EC2 Linux nello stesso VPC. 

   1.  Esegui [test di carico](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) per sperimentare soluzioni e opzioni di rete 

 **Livello di impegno per il piano di implementazione: **esiste *un livello di impegno medio* per documentare requisiti di rete del carico di lavoro, opzioni e soluzioni disponibili. 

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

 **Documenti correlati:** 
+ [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+ [Reti avanzate su Linux ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+ [Reti avanzate su Windows ](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+ [Gruppi di collocamento ](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+ [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+ [Network Load Balancer ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway ](https://docs.aws.amazon.com/vpc/latest/tgw)
+ [Passaggio all'instradamento basato sulla latenza in Amazon Route 53 ](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [Endpoint VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [Log di flusso VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Video correlati:** 
+ [Connectivity to AWS and hybrid AWS network architectures (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Improve Global Network Performance for Applications](https://youtu.be/vNIALfLTW9M) 
+  [EC2 Instances and Performance Optimization Best Practices](https://youtu.be/W0PKclqP3U0) 
+  [Optimizing Network Performance for Amazon EC2 Instances](https://youtu.be/DWiwuYtIgu0) 
+  [Networking best practices and tips with the Well-Architected Framework (Best practice di rete e suggerimenti sul Framework Well-Architected)](https://youtu.be/wOMNpG49BeM) 
+  [AWS networking best practices in large-scale migrations](https://youtu.be/qCQvwLBjcbs) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 

# PERF05-BP02 Valutazione delle funzionalità di rete disponibili
<a name="perf_select_network_evaluate_features"></a>

Valuta le funzionalità di rete nel cloud che possono aumentare le prestazioni. Misura l'impatto di tali funzionalità attraverso test, parametri e analisi. Ad esempio, sfrutta le funzionalità a livello di rete disponibili per ridurre latenza, perdita di pacchetti o jitter. 

Vengono creati numerosi servizi per migliorare le prestazioni e altre caratteristiche incluse nelle offerte per ottimizzare le prestazioni della rete. Sono disponibili servizi come AWS Global Accelerator e Amazon CloudFront per migliorare le prestazioni, mentre la maggior parte degli altri servizi include funzionalità di prodotto per l'ottimizzazione del traffico di rete. Rivedi le caratteristiche dei servizi, ad esempio le funzionalità di rete delle istanze EC2, i tipi di istanze di rete migliorate, le istanze ottimizzate per Amazon EBS, l'accelerazione del trasferimento Amazon S3 e CloudFront, per migliorare le prestazioni del carico di lavoro. 

**Risultato desiderato:** hai documentato l'inventario dei componenti all'interno del carico di lavoro e hai identificato le configurazioni di rete per componente che ti aiuteranno a rispettare la conformità ai requisiti relativi alle prestazioni. Dopo aver valutato le caratteristiche della rete, hai sperimentato e misurato le metriche relative alle prestazioni per identificare come utilizzare le funzionalità disponibili. 

**Anti-pattern comuni:** 
+ Hai inserito tutti i carichi di lavoro nella Regione AWS più vicina alla sede centrale e non in una Regione AWS vicina agli utenti finali. 
+ Mancata esecuzione del benchmarking delle prestazioni dei carichi di lavoro e continua valutazione delle prestazioni dei carichi di lavoro in base all'analisi di benchmark.
+ Mancata revisione delle configurazioni dei servizi in base alle opzioni di miglioramento delle prestazioni. 

**Vantaggi dell'adozione di questa best practice:** la valutazione di tutte le funzionalità e le opzioni del servizio consente di ridurre il costo dell'infrastruttura e l'impegno necessario per mantenere il carico di lavoro e aumentare l'assetto di sicurezza generale. Puoi utilizzare la struttura portante globale di AWS per garantire ai tuoi clienti la migliore esperienza di rete. 

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

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

Analizza quali opzioni di configurazione relative alla rete sono disponibili e come possono influire sul tuo carico di lavoro. La comprensione della modalità in cui tali opzioni interagiscono con la tua architettura e dell'impatto che avranno sia sulle prestazioni misurate sia sulle prestazioni percepite dagli utenti è fondamentale per ottimizzare le prestazioni. 

**Passaggi dell'implementazione:** 

1. Crea l'elenco dei componenti del carico di lavoro. 

   1. Crea, gestisci e monitora la rete dell'organizzazione mediante [Cloud AWS WAN](https://aws.amazon.com/cloud-wan/). 

   1. Ottieni maggiore visibilità a livello di rete mediante [Network Manager](https://docs.aws.amazon.com/vpc/latest/tgwnm/what-is-network-manager.html). Utilizza uno strumento per database di gestione delle configurazioni (CMDB) esistente oppure uno strumento come [AWS Config](https://aws.amazon.com/config/) per creare un inventario del carico di lavoro e della relativa configurazione. 

1. Se si tratta di un carico di lavoro esistente, individua e documenta l'analisi di benchmark per le metriche relative alle prestazioni, concentrandoti sui colli di bottiglia e sulle aree da migliorare. Le metriche relative alla rete a livello di prestazioni varieranno a seconda dei requisiti aziendali e delle caratteristiche del carico di lavoro. Come punto di partenza, le seguenti metriche possono essere importanti per la revisione del carico di lavoro: larghezza di banda, latenza, perdita di pacchetti, jitter e ritrasmissioni. 

1. Se si tratta di un nuovo carico di lavoro, esegui i [test di carico](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) per individuare eventuali colli di bottiglia relativi alle prestazioni. 

1. Per tutti i colli di bottiglia di questo tipo riscontrati, esamina le opzioni di configurazione per le soluzioni in uso per individuare le opportunità di miglioramento delle prestazioni. 

1. Se il percorso o gli instradamenti di rete non sono noti, utilizza [Network Access Analyzer](https://docs.aws.amazon.com/vpc/latest/network-access-analyzer/what-is-vaa.html) per individuarli. 

1. Rivedi i protocolli di rete per ridurre ulteriormente la latenza.
   + [PERF05-BP05 Scelta dei protocolli di rete per migliorare le prestazioni](perf_select_network_protocols.md) 

1. Se utilizzi una AWS Site-to-Site VPN tra più posizioni per connetterti a una Regione AWS, rivedi le [connessioni Site-to-Site VPN accelerate](https://docs.aws.amazon.com/vpn/latest/s2svpn/accelerated-vpn.html) per individuare eventuali opportunità di miglioramento delle prestazioni di rete.

1. Quando il traffico del carico di lavoro interessa più account, valuta la topologia della rete e i servizi per ridurre la latenza. 
   + Valuta i compromessi a livello di operazioni e prestazioni tra [Peering VPC](https://docs.aws.amazon.com/vpc/latest/peering/what-is-vpc-peering.html) e [AWS Transit Gateway](https://aws.amazon.com/transit-gateway/) in caso di connessione di più account. AWS Transit Gateway supporta una velocità di trasmissione effettiva della VPN sito-sito AWS con dimensionamento superiore al [limite IPsec massimo](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) mediante l'utilizzo di percorsi multipli. Il traffico tra Amazon VPC e AWS Transit Gateway rimane sulla rete AWS privata e non è esposto a Internet. AWS Transit Gateway semplifica le procedure di interconnessione di tutti i VPC, che possono interessare migliaia di Account AWS ed estendersi su reti on-premise. Condividi AWS Transit Gateway tra più account utilizzando la funzionalità [Gestione degli accessi alle risorse](https://aws.amazon.com/ram/). Per ottenere visibilità nel traffico di rete globale, utilizza [Network Manager](https://aws.amazon.com/transit-gateway/network-manager/) per avere una visione centralizzata delle metriche della rete. 

1. Rivedi la collocazione degli utenti e riduci la distanza tra gli utenti e il carico di lavoro.

   1. [AWS Global Accelerator](https://aws.amazon.com/global-accelerator/) è un servizio di rete che migliora le prestazioni del traffico degli utenti fino al 60% utilizzando l'infrastruttura di rete globale di Amazon Web Services. In caso di congestione di Internet, AWS Global Accelerator ottimizza il percorso verso la tua applicazione per ridurre la perdita di pacchetti, il jitter e la latenza in modo consistente. Fornisce inoltre indirizzi IP statici che semplificano lo spostamento degli endpoint tra zone di disponibilità o Regioni AWS senza la necessità di aggiornare la configurazione DNS o di modificare le applicazioni lato client. 

   1. [Amazon CloudFront](https://aws.amazon.com/cloudfront/) può migliorare le prestazioni della distribuzione e della latenza del carico di lavoro globalmente. CloudFront ha oltre 410 punti di presenza dislocati a livello globale che possono memorizzare i contenuti nella cache e ridurre la latenza per gli utenti finali. 

   1. Amazon Route 53 offre opzioni di [instradamento basato sulla latenza](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-latency.html), [instradamento basato sulla geolocalizzazione](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geo.html), [instradamento basato sulla geoprossimità](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-geoproximity.html)e [instradamento basato su IP](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy-ipbased.html) per aiutare a migliorare le prestazioni del carico di lavoro per un pubblico globale. Individua l'opzione di instradamento in grado di ottimizzare le prestazioni del carico di lavoro. A tale scopo, rivedi il traffico del carico di lavoro e la posizione degli utenti. 

1. Valuta altre caratteristiche di Amazon S3 per migliorare le operazioni di input/output al secondo (IOPS) relative all'archiviazione. 

   1.  [Amazon S3 Transfer Acceleration](https://aws.amazon.com/s3/transfer-acceleration/) è una funzione che consente agli utenti esterni di sfruttare i vantaggi delle ottimizzazioni di rete di CloudFront per il caricamento dei dati in Amazon S3. Ciò migliora le caratteristiche di trasferimento di grandi quantità di dati da posizioni remote prive di connettività dedicata al Cloud AWS. 

   1.  [I punti di accesso multi-regione in Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/MultiRegionAccessPoints.html) rappresentano una funzionalità che replica i contenuti in più regioni e semplifica il carico di lavoro fornendo un punto di accesso. Quando viene utilizzato un punto di accesso multi-regione, puoi richiedere o scrivere dati in Amazon S3 con il servizio che identifica il bucket con latenza più bassa. 

1. Rivedi la larghezza di banda della rete per la risorsa di calcolo in uso.

   1. Le interfacce di rete elastica (ENA) utilizzate da istanze EC2, container e funzioni Lambda sono limitate in base ai flussi. Rivedi i gruppi di collocazione per ottimizzare la [velocità di trasmissione effettiva EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html). Per evitare colli di bottiglia a livello di flusso, progetta l'applicazione in modo che utilizzi più flussi. Per monitorare le metriche di rete associate al calcolo e avere maggiore visibilità su di esse, utilizza le [metriche CloudWatch](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/ec2-instance-network-bandwidth.html) e [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/monitoring-network-performance-ena.html). `ethtool` è incluso nel driver ENA ed espone metriche relative alla rete aggiuntive che possono essere pubblicate come [metrica personalizzata](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html) in CloudWatch. 

   1. Le istanze EC2 più recenti possono sfruttare le reti avanzate. [Istanze EC2 della serie N](https://aws.amazon.com/ec2/nitro/), ad esempio `M5n` e `M5dn`, sfruttano la quarta generazione di schede Nitro per offrire fino a 100 Gbps di velocità di trasmissione effettiva di rete a una singola istanza. Queste istanze offrono quattro volte la larghezza di banda della rete e il processo di pacchetti rispetto alle istanze `M5` di base, e sono ideali per le applicazioni che fanno un uso intensivo della rete. 

   1. [Gli adattatori ENA (Elastic Network Adapter) Amazon](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) offrono un'ulteriore ottimizzazione grazie a una migliore velocità di trasmissione effettiva per le istanze all'interno di un [gruppo di collocazione cluster](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html#placement-groups-cluster%23placement-groups-limitations-cluster). 

   1. [L'adattatore EFA (Elastic Fabric Adapter)](https://aws.amazon.com/hpc/efa/) è un'interfaccia di rete per le istanze Amazon EC2 che consente di eseguire carichi di lavoro che richiedono elevati livelli di comunicazioni tra i nodi su vasta scala in AWS. Con EFA, le applicazioni High Performance Computing (HPC) che utilizzano le applicazioni Message Passing Interface (MPI) e le applicazioni Machine Learning (ML) che utilizzano NVIDIA Collective Communications Library (NCCL) possono ridimensionare le risorse fino a migliaia di CPU o GPU. 

   1. [Le istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) utilizzano uno stack di configurazione ottimizzato e forniscono un'ulteriore capacità dedicata per incrementare l'I/O di Amazon EBS. Questa ottimizzazione fornisce le prestazioni migliori ai tuoi volumi EBS, riducendo al minimo i conflitti tra Amazon EBS I/O ed altro traffico dalla tua istanza. 

**Livello di impegno per il piano di implementazione: **

Per definire questa best practice, devi saper individuare le opzioni per i componenti del carico di lavoro corrente che possono avere un impatto sulle prestazioni della rete. La raccolta di informazioni sui componenti, la valutazione delle opzioni di miglioramento della rete, la sperimentazione, l'implementazione e la documentazione dei miglioramenti sono operazioni caratterizzate da un livello di impegno da *basso* a *moderato* . 

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

 **Documenti correlati:** 
+  [Istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Amazon EC2 instance network bandwidth (Larghezza di banda della rete per le istanze Amazon EC2)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-network-bandwidth.html) 
+  [Reti avanzate su Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Reti avanzate su Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Gruppi di collocamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+  [AWS Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Passaggio all'instradamento basato sulla latenza in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Building a cloud CMDB (Creazione di una strategia CMDB per il cloud)](https://aws.amazon.com/blogs/mt/building-a-cloud-cmdb-on-aws-for-consistent-resource-configuration-in-hybrid-environments/) 
+  [Scaling VPN throughput using AWS Transit Gateway (Dimensionamento della velocità di trasmissione effettiva della VPN mediante AWS Transit Gateway)](https://aws.amazon.com/blogs/networking-and-content-delivery/scaling-vpn-throughput-using-aws-transit-gateway/) 

 **Video correlati:** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 

# PERF05-BP03 Scelta di una connettività dedicata o una VPN di dimensioni adeguate ai carichi di lavoro ibridi
<a name="perf_select_network_hybrid"></a>

 Quando è necessaria una rete comune per collegare risorse on-premise e cloud in AWS, assicurati di avere una larghezza di banda adeguata per soddisfare i requisiti di prestazione. Fai una stima dei requisiti di larghezza di banda e latenza per il carico di lavoro ibrido. Sulla base di questi numeri potrai stabilire i requisiti di dimensionamento per AWS Direct Connect o gli endpoint VPN. 

 **Risultato desiderato:** quando si implementa un carico di lavoro che necessita di connettività di rete ibrida, sono disponibili diverse opzioni di configurazione per la connettività, ad esempio Direct Connect o VPN gestite e non gestite. Seleziona il tipo di connessione appropriato per ogni carico di lavoro, assicurandoti di avere requisiti adeguati di larghezza di banda e crittografia tra la tua posizione e il cloud. 

 **Anti-pattern comuni:** 
+  Valutare le soluzioni VPN solo per i tuoi requisiti di crittografia di rete. 
+  Non valutare le opzioni di backup o di connettività parallele. 
+  Utilizzare configurazioni predefinite per router, tunnel e sessioni BGP. 
+  Non riuscire a comprendere o a identificare tutti i requisiti del carico di lavoro (esigenze di crittografia, protocollo, larghezza di banda e traffico). 

 **Vantaggi dell'adozione di questa best practice:** la scelta e la configurazione di soluzioni di rete ibride di dimensioni adeguate aumenterà l'affidabilità del carico di lavoro e massimizzerà le opportunità di prestazioni. Identificando i requisiti del carico di lavoro, pianificando in anticipo e valutando soluzioni ibride, ridurrai al minimo le costose modifiche alla rete fisica e i costi operativi, aumentando al contempo il time to market. 

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

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

 Sviluppa un'architettura di rete ibrida basata sui requisiti di larghezza di banda: fai una stima dei requisiti di larghezza di banda e latenza delle applicazioni ibride. In base ai requisiti di larghezza di banda, una singola connessione VPN o Direct Connect potrebbe non essere sufficiente, pertanto è necessario progettare una configurazione ibrida per abilitare il bilanciamento del carico del traffico su più connessioni. Può essere richiesta la connessione diretta, che offre prestazioni più prevedibili e costanti grazie alla connettività di rete privata. È ideale per carichi di lavoro di produzione che richiedono latenza costante e jitter vicino allo zero. 

 AWS Direct Connect offre una connettività dedicata all'ambiente AWS, da 50 Mbps fino a 10 Gbps. In questo modo potrai disporre di una latenza gestita e controllata, nonché di una larghezza di banda assegnata, in modo che le applicazioni siano in grado di connettersi facilmente ad altri ambienti con prestazioni ottimali. Affidandoti a uno dei partner di AWS Direct Connect, ottieni una connettività end-to-end da più ambienti, per una rete estesa con prestazioni costanti. 

 La VPN site-to-site AWS è un servizio VPN gestito per VPC. Quando si crea una connessione VPN, AWS fornisce tunnel a due endpoint VPN diversi. Con AWS Transit Gateway, puoi semplificare la connettività tra più VPC e collegarti a qualsiasi VPC connesso ad AWS Transit Gateway con una singola connessione VPN. AWS Transit Gateway ti consente inoltre di dimensionare le risorse oltre il limite di velocità di trasmissione effettiva VPN IPsec di 1,25 Gbps, abilitando il supporto di instradamento ECMP (equal cost multi-path) su più tunnel VPN. 

 **Livello di impegno per il piano di implementazione: **esiste *un livello* di impegno elevato per valutare le esigenze di carico di lavoro delle reti ibride e per implementare soluzioni di rete ibride. 

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

 **Documenti correlati:** 
+ [Network Load Balancer ](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+ [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+ [Transit Gateway ](https://docs.aws.amazon.com/vpc/latest/tgw) 
+ [Passaggio all'instradamento basato sulla latenza in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+ [Endpoint VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+ [Log di flusso VPC ](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [VPN site-to-site](https://docs.aws.amazon.com/vpn/latest/s2svpn/VPC_VPN.html) 
+  [Building a Scalable and Secure Multi-VPC AWS Network Infrastructure](https://docs.aws.amazon.com/whitepapers/latest/building-scalable-secure-multi-vpc-network-infrastructure/welcome.html) 
+  [Direct Connect](https://docs.aws.amazon.com/directconnect/latest/UserGuide/Welcome.html) 
+  [Client VPN](https://docs.aws.amazon.com/vpn/latest/clientvpn-admin/what-is.html) 

 **Video correlati:** 
+ [Connectivity to AWS and hybrid AWS network architectures (NET317-R1) ](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+ [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1) ](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [AWS Global Accelerator](https://www.youtube.com/watch?v=lAOhr-5Urfk) 
+  [Direct Connect* *](https://www.youtube.com/watch?v=DXFooR95BYc&t=6s) 
+  [Transit Gateway Connect](https://www.youtube.com/watch?v=_MPY_LHSKtM&t=491s) 
+  [Soluzioni VPN](https://www.youtube.com/watch?v=qmKkbuS9gRs) 
+  [Security with VPN Solutions](https://www.youtube.com/watch?v=FrhVV9nG4UM) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 

# PERF05-BP04 Sfruttamento del bilanciamento del carico e dell'offloading della crittografia
<a name="perf_select_network_encryption_offload"></a>

 Distribuisci il traffico tra varie risorse o servizi affinché il carico di lavoro possa trarre vantaggio dall'elasticità fornita dal cloud. Puoi anche utilizzare il bilanciamento del carico per la terminazione dell'offloading della crittografia al fine di migliorare le prestazioni, gestire e instradare il traffico in modo efficiente. 

 Quando si implementa un'architettura a dimensionamento orizzontale in cui si desidera utilizzare più istanze per il contenuto del servizio, è possibile utilizzare i load balancer all'interno del Amazon VPC. AWS offre modelli multipli per le tue applicazioni nel servizio ELB. Application Load Balancer è più adatto per il bilanciamento del carico del traffico HTTP e HTTPS e fornisce un instradamento avanzato delle richieste mirato all'erogazione di architetture applicative moderne, compresi microservizi e container. 

 Network Load Balancer è l'ideale per il bilanciamento del carico del traffico TCP, in cui sono richieste prestazioni elevatissime. È in grado di gestire milioni di richieste al secondo, mantenendo al contempo latenze ridottissime. Inoltre, è ottimizzato per la gestione degli schemi di traffico improvvisi e incostanti. 

 [https://aws.amazon.com/elasticloadbalancing/](https://aws.amazon.com/elasticloadbalancing/) fornisce la gestione integrata dei certificati e la decrittografia SSL/TLS, offrendoti la flessibilità di gestire centralmente le impostazioni SSL del sistema di bilanciamento del carico e di sollevare il carico di lavoro dall'utilizzo intensivo della CPU. 

 **Anti-pattern comuni:** 
+  Instradi tutto il traffico Internet attraverso i sistemi di bilanciamento del carico esistenti. 
+  Utilizzi il bilanciamento del carico TCP generico e fai in modo che ogni nodo di calcolo gestisca la crittografia SSL. 

 **Vantaggi dell'adozione di questa best practice:** Un sistema di bilanciamento del carico gestisce il carico variabile del traffico dell'applicazione in una o più zone di disponibilità. I sistemi di bilanciamento del carico offrono l'elevata disponibilità, l'auto scaling e la solida sicurezza necessarie per rendere le applicazioni tolleranti ai guasti. 

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

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

 Utilizzo del load balancer appropriato per il carico di lavoro: seleziona il load balancer appropriato per il carico di lavoro. Per bilanciare il carico delle richieste HTTP, ti consigliamo Application Load Balancer. Per il bilanciamento del carico dei protocolli di rete e di trasporto (livello 4 – TCP, UDP) e per applicazioni con prestazioni estreme e a bassa latenza, ti consigliamo Network Load Balancer. Application Load Balancers supporta HTTPS, mentre Network Load Balancer supporta l'offloading della crittografia TLS. 

 Abilitazione dell'offload della crittografia HTTPS o TLS: Elastic Load Balancing include la gestione integrata dei certificati, l'autenticazione degli utenti e la decrittografia SSL/TLS. Offre la flessibilità necessaria per gestire centralmente le impostazioni TLS e per sollevare le applicazioni dai carichi di lavoro con elevati requisiti di CPU. Esegui la crittografia di tutto il traffico HTTPS come parte della distribuzione del sistema di bilanciamento del carico. 

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

 **Documenti correlati:** 
+  [Istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Reti avanzate su Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Reti avanzate su Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Gruppi di collocamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Passaggio all'instradamento basato sulla latenza in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Video correlati:** 
+  [Connettività ad AWS e architetture di rete AWS ibride (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 

# PERF05-BP05 Scelta dei protocolli di rete per migliorare le prestazioni
<a name="perf_select_network_protocols"></a>

 Prendi decisioni sui protocolli per la comunicazione tra sistemi e reti in base all'impatto sulle prestazioni del carico di lavoro. 

 Esiste una relazione tra latenza e larghezza di banda per ottenere il throughput desiderato. Se il trasferimento di file utilizza TCP, latenze più elevate ridurranno il throughput complessivo. Alcuni approcci risolvono questo problema con l'ottimizzazione TCP e i protocolli di trasferimento ottimizzati, altri adottano UDP. 

 **Anti-pattern comuni:** 
+  Puoi utilizzare il TCP per tutti i carichi di lavoro, indipendentemente dai requisiti prestazionali. 

 **Vantaggi dell'adozione di questa best practice:** La selezione del protocollo appropriato per la comunicazione tra i componenti del carico di lavoro permette di ottenere le migliori prestazioni per quel carico di lavoro. L'UDP senza connessione garantisce velocità elevata, ma non offre ritrasmissione o alta affidabilità. Il TCP è un protocollo completo, ma richiede un sovraccarico maggiore per l'elaborazione dei pacchetti. 

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

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

 Ottimizza il traffico di rete: seleziona il protocollo appropriato per ottimizzare le prestazioni del carico di lavoro. Esiste una relazione tra latenza e larghezza di banda per ottenere il throughput desiderato. Se il trasferimento di file utilizza il TCP, latenze più elevate ridurranno il throughput complessivo. Alcuni approcci risolvono il problema della latenza con l'ottimizzazione TCP e i protocolli di trasferimento ottimizzati, altri utilizzano l'UDP. 

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

 **Documenti correlati:** 
+  [Istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Reti avanzate su Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Reti avanzate su Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Gruppi di collocamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Passaggio all'instradamento basato sulla latenza in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Video correlati:** 
+  [Connettività AWS e architetture di rete AWS ibride (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 

# PERF05-BP06 Scelta della posizione del carico di lavoro in base ai requisiti di rete
<a name="perf_select_network_location"></a>

 Utilizza le opzioni di posizione nel cloud disponibili per ridurre la latenza di rete o migliorare il throughput. Utilizza Regioni AWS, zone di disponibilità, gruppi di collocazione e posizioni edge come AWS Outposts, Zone locali AWS e AWS Wavelength per ridurre la latenza di rete o migliorare la velocità di trasmissione effettiva. 

 L'infrastruttura del Cloud AWS è basata su Regioni e zone di disponibilità. Una regione è un'area fisica del mondo in cui si trovano diverse zone di disponibilità. 

 Le zone di disponibilità sono composte da uno o più data center singoli provvisti di alimentazione, rete e connettività ridondanti, ognuno in una struttura separata. Le zone di disponibilità consentono di eseguire applicazioni e database in ambienti di produzione con disponibilità, tolleranza agli errori e scalabilità altrimenti impossibili da ottenere all'interno di un singolo data center. 

 Scegli la regione o le regioni appropriate per la tua distribuzione in base ad alcuni elementi chiave: 
+  **Ubicazione degli utenti**: scegliere una regione vicina agli utenti del tuo carico di lavoro garantisce una latenza minore durante il suo utilizzo. 
+  **Ubicazione dei dati**: per le applicazioni con elevati carichi di dati, il collo di bottiglia principale in termini di latenza è il trasferimento dei dati. Il codice dell'applicazione deve essere eseguito il più vicino possibile ai dati. 
+  **Altri vincoli**: considera vincoli quali la sicurezza e la conformità. 

 Amazon EC2 offre gruppi di collocazione per le reti. Un gruppo di collocazione è un raggruppamento logico di istanze per ridurre la latenza o aumentare l'affidabilità. L'utilizzo di gruppi di collocazione con tipi di istanza supportati e un Elastic Network Adapter (ENA) consente ai carichi di lavoro di partecipare a una rete a 25 Gbps a bassa latenza. I gruppi di collocazione sono consigliati per i carichi di lavoro che traggono beneficio da reti a bassa latenza, throughput di rete elevato o entrambi. Utilizzare i gruppi di collocazione consente di ridurre il jitter nelle comunicazioni di rete. 

 I servizi sensibili alla latenza vengono distribuiti all'edge tramite una rete globale di edge location. Tali edge location forniscono solitamente servizi come CDN (Content Delivery Network) e DNS (Domain Name System). Fornendo questi servizi nell'edge, possono rispondere con una latenza ridotta alle richieste di contenuti o risoluzione DNS. Inoltre, possono offrire servizi geografici come la geotargetizzazione dei contenuti (ossia fornire contenuti diversi in base alla posizione dell'utente finale) o l'instradamento basato sulla latenza, per indirizzare gli utenti alla regione più vicina (latenza minima). 

 [https://aws.amazon.com/cloudfront/](https://aws.amazon.com/cloudfront/) è una CDN globale che consente di accelerare i contenuti statici come le immagini, gli script ed i video, nonché quelli dinamici come le API o le applicazioni Web. Si basa su una rete globale di edge location che memorizzano in cache i contenuti e offrono una connettività di rete ad alte prestazioni agli utenti. Inoltre, CloudFront accelera diverse altre funzioni, come il caricamento dei contenuti e le applicazioni dinamiche. Ciò garantisce prestazioni migliori su tutte le applicazioni che gestiscono il traffico su Internet. [https://aws.amazon.com/lambda/edge/](https://aws.amazon.com/lambda/edge/) è una funzionalità di Amazon CloudFront che consente di eseguire il codice più vicino agli utenti del carico di lavoro, migliorando le prestazioni e riducendo la latenza. 

 Amazon Route 53 è un servizio Web di DNS altamente scalabile e disponibile. È stato progettato per offrire agli sviluppatori e alle aziende un modo estremamente affidabile ed economico per indirizzare gli utenti finali verso le applicazioni Internet, traducendo i nomi, come www.example.com, in indirizzi IP numerici, come 192.168.2.1, che i computer utilizzano per connettersi tra loro. Route 53 è pienamente conforme all'IPv6. 

 [https://aws.amazon.com/outposts/](https://aws.amazon.com/outposts/) è stato progettato per i carichi di lavoro che devono rimanere in sede a causa dei requisiti di latenza e che devono essere eseguiti senza problemi con il resto dei carichi di lavoro in AWS. Gli AWS Outposts sono rack di calcolo e di archiviazione completamente gestiti e configurabili costruiti con hardware progettato per AWS che consentono di eseguire il calcolo e l'archiviazione on-premise, collegandosi al contempo senza soluzione di continuità all'ampia gamma di servizi AWS nel cloud. 

 [https://aws.amazon.com/about-aws/global-infrastructure/localzones/](https://aws.amazon.com/about-aws/global-infrastructure/localzones/) sono progettate per eseguire carichi di lavoro che richiedono una latenza di pochi millisecondi, come il rendering di video e le applicazioni desktop virtuali con uso intensivo di risorse grafiche. Le zone locali consentono di sfruttare tutti i vantaggi derivanti dalla disponibilità di risorse di calcolo e storage più vicine agli utenti finali. 

 [https://aws.amazon.com/wavelength/](https://aws.amazon.com/wavelength/) è progettato per fornire applicazioni a bassissima latenza ai dispositivi 5G estendendo l'infrastruttura, i servizi, le API e gli strumenti AWS alle reti 5G. Wavelength incorpora spazio di archiviazione e calcolo all'interno delle reti 5G dei provider di telecomunicazioni per aiutare i carichi di lavoro 5G che richiedono una latenza a una cifra al millisecondo, come i dispositivi IoT, lo streaming di giochi, i veicoli autonomi e la produzione di media in diretta. 

 Usa i servizi edge per ridurre la latenza e abilitare la memorizzazione nella cache dei contenuti. Al fine di sfruttare tutti i vantaggi offerti da tali approcci, devi assicurarti di avere configurato correttamente il controllo cache sia per DNS sia per HTTP/HTTPS. 

 **Anti-pattern comuni:** 
+  Consolidi tutte le risorse del carico di lavoro in un'unica posizione geografica. 
+  Hai scelto la regione più vicina alla tua, ma non al carico di lavoro dell'utente finale. 

 **Vantaggi dell'adozione di questa best practice:** Assicurati che la tua rete sia disponibile ovunque desideri raggiungere i clienti. L'utilizzo della rete globale privata di AWS garantisce ai clienti l'esperienza di latenza più bassa implementando i carichi di lavoro nelle sedi a loro più vicine. 

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

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

 Riduzione della latenza selezionando le posizioni corrette: identifica la posizione degli utenti e dei dati. Trai beneficio da Regioni AWS, zone di disponibilità, gruppi di collocazione e posizioni edge per ridurre la latenza. 

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

 **Documenti correlati:** 
+  [Istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Reti avanzate su Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Reti avanzate su Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Gruppi di collocamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Passaggio all'instradamento basato sulla latenza in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

 **Video correlati:** 
+  [Connettività ad AWS e architetture di rete AWS ibride (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 

# PERF05-BP07 Ottimizzazione della configurazione di rete in base ai parametri
<a name="perf_select_network_optimize"></a>

 Usa i dati raccolti e analizzati per prendere decisioni informate riguardo l'ottimizzazione della configurazione della tua rete. Misura l'impatto di tali cambiamenti e usa le misurazioni per prendere decisioni future. 

 Abilita i registri di flusso VPC per tutte le reti VPC in uso dal carico di lavoro. I log di flusso VPC sono una funzione che ti permette di acquisire le informazioni sul traffico IP da e per le interfacce di rete nel tuo VPC. I log di flusso VPC possono aiutare a svolgere una serie di compiti; ad esempio, permettono di scoprire perché uno specifico traffico non raggiunge un'istanza, il che, a sua volta, consente di diagnosticare le regole di sicurezza del gruppo troppo restrittive. Puoi utilizzare i log di flusso come strumento di sicurezza per monitorare il traffico che raggiunge l'istanza, per profilare il traffico di rete e per cercare comportamenti di traffico anomali. 

 Utilizza i parametri di rete per apportare modifiche alla configurazione di rete a mano a mano che il carico di lavoro si evolve. Le reti basate sul cloud possono essere ricostruite rapidamente, perciò, per mantenere l'efficienza delle prestazioni, l'architettura di rete deve evolvere nel tempo. 

 **Anti-pattern comuni:** 
+  Ritieni che tutti i problemi relativi alle prestazioni siano correlati all'applicazione. 
+  Testi le prestazioni di rete solo da una posizione vicina a quella in cui hai distribuito il carico di lavoro. 

 **Vantaggi dell'adozione di questa best practice:**per assicurarti di soddisfare i parametri necessari per il carico di lavoro, devi monitorare i parametri delle prestazioni di rete. Puoi acquisire informazioni sul traffico IP da e verso le interfacce di rete nel tuo VPC e utilizzare questi dati per aggiungere nuove ottimizzazioni o distribuire il carico di lavoro in nuove regioni geografiche. 

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

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

 Abilita i registri di flusso VPC: i registri di flusso VPC ti consentono di acquisire le informazioni sul traffico IP da e per le interfacce di rete nel tuo VPC. I log di flusso VPC possono aiutare a svolgere una serie di compiti; ad esempio, permettono di scoprire perché uno specifico traffico non raggiunge un'istanza, consentendoti di diagnosticare le regole di sicurezza del gruppo troppo restrittive. Puoi utilizzare i log di flusso come strumento di sicurezza per monitorare il traffico che raggiunge l'istanza, per profilare il traffico di rete e per cercare comportamenti di traffico anomali. 

 Abilita i parametri appropriati per le opzioni di rete: assicurati di selezionare i parametri di rete adeguati al tuo carico di lavoro. Puoi abilitare i parametri per gateway VPC NAT, gateway di transito e tunnel VPN. 

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

 **Documenti correlati:** 
+  [Istanze ottimizzate per Amazon EBS](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-optimized.html) 
+  [Application Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/introduction.html) 
+  [Reti avanzate su Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking.html) 
+  [Reti avanzate su Windows](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/enhanced-networking.html) 
+  [Gruppi di collocamento](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html) 
+  [Abilitazione delle reti avanzate con Elastic Network Adapter (ENA) sulle istanze Linux](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/enhanced-networking-ena.html) 
+  [Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/introduction.html) 
+  [Nuovi prodotti di rete con AWS](https://aws.amazon.com/products/networking/) 
+  [Transit Gateway](https://docs.aws.amazon.com/vpc/latest/tgw) 
+  [Passaggio all'instradamento basato sulla latenza in Amazon Route 53](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/TutorialTransitionToLBR.html) 
+  [Endpoint VPC](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-endpoints.html) 
+  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Monitoring your global and core networks with Amazon Cloudwatch metrics (Monitoraggio delle reti globali e core con i parametri di Amazon CloudWatch)](https://docs.aws.amazon.com/vpc/latest/tgwnm/monitoring-cloudwatch-metrics.html) 
+  [Continuously monitor network traffic and resources (Monitoraggio costante di traffico e risorse di rete)](https://docs.aws.amazon.com/whitepapers/latest/security-best-practices-for-manufacturing-ot/continuously-monitor-network-traffic-and-resources.html) 

 **Video correlati:** 
+  [Connectivity to AWS and hybrid AWS network architectures (NET317-R1)](https://www.youtube.com/watch?v=eqW6CPb58gs) 
+  [Optimizing Network Performance for Amazon EC2 Instances (CMP308-R1)](https://www.youtube.com/watch?v=DWiwuYtIgu0) 
+  [Monitoring and troubleshooting network traffic](https://www.youtube.com/watch?v=Ed09ReWRQXc) 
+  [Simplify Traffic Monitoring and Visibility with Amazon VPC Traffic Mirroring](https://www.youtube.com/watch?v=zPovlZxuZ-c) 

 **Esempi correlati:** 
+  [AWS Transit Gateway and Scalable Security Solutions (AWS Transit Gateway e soluzioni di sicurezza scalabili)](https://github.com/aws-samples/aws-transit-gateway-and-scalable-security-solutions) 
+  [AWS Networking Workshops (Workshop di rete AWS)](https://networking.workshop.aws/) 
+  [AWS Network Monitoring](https://github.com/aws-samples/monitor-vpc-network-patterns) 

# Revisione
<a name="a-review"></a>

**Topics**
+ [

# PERF 6 In che modo fai evolvere il carico di lavoro per sfruttare le nuove versioni?
](w2aac19c11b7b5.md)

# PERF 6 In che modo fai evolvere il carico di lavoro per sfruttare le nuove versioni?
<a name="w2aac19c11b7b5"></a>

 Quando si progettano carichi di lavoro, le opzioni tra cui scegliere sono limitate. Tuttavia, nel tempo diventano disponibili nuove tecnologie e nuovi approcci che potrebbero migliorare le prestazioni. 

**Topics**
+ [

# PERF06-BP01 Mantenersi aggiornati sui nuovi servizi e sulle nuove risorse
](perf_continue_having_appropriate_resource_type_keep_up_to_date.md)
+ [

# PERF06-BP02 Definizione di un processo per migliorare le prestazioni del carico di lavoro
](perf_continue_having_appropriate_resource_type_define_process.md)
+ [

# PERF06-BP03 Evoluzione delle prestazioni del carico di lavoro nel corso del tempo
](perf_continue_having_appropriate_resource_type_evolve.md)

# PERF06-BP01 Mantenersi aggiornati sui nuovi servizi e sulle nuove risorse
<a name="perf_continue_having_appropriate_resource_type_keep_up_to_date"></a>

Valuta i modi per migliorare le prestazioni man mano che nuovi servizi, modelli di progettazione e offerte di prodotti diventano disponibili. Determina come possono migliorare le prestazioni o aumentare l'efficienza del carico di lavoro tramite una valutazione, una discussione interna o un'analisi esterna.

Definisci un processo per valutare gli aggiornamenti, le nuove funzioni e i servizi rilevanti per il tuo carico di lavoro. Ad esempio, crea un proof of concept che utilizza le nuove tecnologie o consultati con un gruppo interno. Quando provi nuove idee o servizi, esegui i test delle prestazioni per misurare l'impatto del carico di lavoro sulle prestazioni. Usa l'Infrastruttura come codice (IaC) e una cultura DevOps per sfruttare la capacità di testare nuove idee o tecnologie frequentemente con costi o rischi minimi. 

 **Risultato desiderato:** hai creato la documentazione per l'inventario dei componenti, lo schema di progettazione e le caratteristiche del carico di lavoro. Utilizzi tale documentazione per creare un elenco di sottoscrizioni per informare il tuo team su aggiornamenti del servizio, funzionalità e nuovi prodotti. Hai identificato gli stakeholder dei componenti che valuteranno le nuove versioni e forniranno un suggerimento per l'impatto sull'azienda e le priorità. 

 **Anti-pattern comuni:** 
+  puoi esaminare nuove opzioni e servizi solo quando il carico di lavoro non soddisfa i requisiti di prestazione. 
+  Ritieni che tutte le nuove offerte di prodotti non siano utili per il tuo carico di lavoro. 
+  Scegli sempre di creare invece di acquistare quando migliori il tuo carico di lavoro. 

 **Vantaggi dell'adozione di questa best practice:** tenendo in considerazione le nuove offerte di servizi o prodotti, puoi migliorare le prestazioni e l'efficienza del tuo carico di lavoro, ridurre i costi dell'infrastruttura e contenere l'impegno richiesto per mantenere i servizi.

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

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

 Definisci un processo per valutare gli aggiornamenti, le nuove funzioni e i servizi AWS. Ad esempio, crea proof of concept che utilizzano le nuove tecnologie. Quando metti alla prova nuove idee o servizi, esegui test delle prestazioni per misurare l'impatto sull'efficienza o sulle prestazioni del carico di lavoro. Sfrutta la flessibilità offerta da AWS per condurre test frequenti su nuove idee e tecnologie con costi o rischi minimi. 

## Passaggi dell'implementazione
<a name="implementation-steps"></a>

1.  Documenta le soluzioni del tuo carico di lavoro. Usa la tua soluzione di database di gestione delle configurazioni (CMDB, Configuration Management Database) per documentare l'inventario e classificare i servizi e le dipendenze. Usa strumenti come [AWS Config](https://aws.amazon.com/config/) per ottenere l'elenco di tutti i servizi in AWS utilizzati dal tuo carico di lavoro. 

1.  Usa una [strategia di applicazione dei tag](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) per documentare i proprietari per ogni componente e categoria del carico di lavoro. Ad esempio, se stai attualmente utilizzando Amazon RDS come soluzione di database, rivolgiti all'amministratore di database (DBA) assegnato e documentato come proprietario per la valutazione e la ricerca di nuovi servizi e aggiornamenti. 

1.  Identifica le novità e le fonti di aggiornamento relative ai componenti del carico di lavoro. Nell'esempio Amazon RDS menzionato in precedenza, il proprietario della categoria deve iscriversi al [blog Novità di AWS](https://aws.amazon.com/new/) per i prodotti che corrispondono al componente del carico di lavoro. Puoi iscriverti al feed RSS o gestire le tue [sottoscrizioni e-mail](https://pages.awscloud.com/communication-preferences.html). Monitora gli aggiornamenti al database Amazon RDS che utilizzi, le funzionalità introdotte, le istanze rilasciate e i nuovi prodotti come Amazon Aurora Serverless. Monitora i blog di settore, i prodotti e i fornitori su cui si basa il componente.

1.  Documenta il processo di valutazione di aggiornamenti e nuovi servizi. Fornisci ai proprietari della categoria il tempo e lo spazio necessari per ricercare, testare, sperimentare e convalidare aggiornamenti e nuovi servizi. Fai riferimento ai requisiti aziendali e ai KPI documentati per stabilire la priorità dell'aggiornamento che avrà un impatto positivo sull'azienda. 

 **Livello di impegno per il piano di implementazione:** per adottare questa best practice devi essere a conoscenza dei componenti del carico di lavoro correnti, identificare i proprietari della categoria e individuare le origini degli aggiornamenti del servizio. È richiesto un livello di impegno basso per iniziare, ma è un processo continuo che potrebbe evolversi e migliorare nel tempo. 

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

 **Documenti correlati:** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Novità di AWS](https://aws.amazon.com/new/?ref=wellarchitected) 

 **Video correlati:** 
+  [Canale YouTube degli eventi AWS](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Canale YouTube dei Tech talk online di AWS](https://www.youtube.com/user/AWSwebinars) 
+  [Canale YouTube di Amazon Web Services](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Esempi correlati:** 
+  [Github AWS](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# PERF06-BP02 Definizione di un processo per migliorare le prestazioni del carico di lavoro
<a name="perf_continue_having_appropriate_resource_type_define_process"></a>

 Definisci un processo per valutare i nuovi servizi, i modelli di progettazione, i tipi di risorse e le configurazioni man mano che diventano disponibili. Ad esempio, esegui test delle prestazioni esistenti sulle nuove offerte di istanze per determinare il loro potenziale per migliorare il carico di lavoro. 

 Le prestazioni del carico di lavoro presentano alcuni vincoli principali. Documentali, in modo da sapere quali tipi di innovazione potrebbero migliorare le prestazioni del carico di lavoro. Utilizza queste informazioni quando vieni a conoscenza di nuovi servizi e tecnologie, man mano che si rendono disponibili, in modo da identificare le soluzioni per ovviare ai vincoli o ai colli di bottiglia. 

 **Anti-pattern comuni:** 
+  Ritieni che la tua architettura attuale diventerà statica e non si aggiornerà mai nel corso del tempo. 
+  Introduci modifiche all'architettura nel tempo senza dei parametri che le giustifichino. 

 **Vantaggi dell'adozione di questa best practice:** Definire un processo per apportare modifiche all'architettura consente ai dati raccolti di influenzare la progettazione del carico di lavoro nel corso del tempo. 

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

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

 Identificazione dei vincoli di prestazione chiave per il tuo carico di lavoro: documenta i vincoli di prestazione del carico di lavoro in modo da sapere quali tipi di innovazione migliorano le prestazioni del carico di lavoro. 

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

 **Documenti correlati:** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Novità di AWS](https://aws.amazon.com/new/?ref=wellarchitected) 

 **Video correlati:** 
+  [Canale YouTube degli eventi AWS](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Canale YouTube dei Tech talk online di AWS](https://www.youtube.com/user/AWSwebinars) 
+  [Canale YouTube di Amazon Web Services](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Esempi correlati:** 
+  [Github AWS](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# PERF06-BP03 Evoluzione delle prestazioni del carico di lavoro nel corso del tempo
<a name="perf_continue_having_appropriate_resource_type_evolve"></a>

 Come organizzazione, utilizza le informazioni raccolte durante il processo di valutazione per gestire attivamente l'adozione di nuovi servizi o risorse quando diventano disponibili. 

 Utilizza le informazioni ottenute con la valutazione di nuovi servizi o tecnologie per gestire il cambiamento. Man mano che la tua azienda o il tuo carico di lavoro evolve, anche le prestazioni devono cambiare. Sfrutta i dati raccolti dai parametri riguardanti il carico di lavoro per valutare le aree in cui è possibile ottenere i miglioramenti più significativi in termini di efficienza o prestazioni e adotta in modo proattivo nuovi servizi e tecnologie per tenere il passo con la domanda. 

 **Anti-pattern comuni:** 
+  Ritieni che la tua architettura attuale diventerà statica e non si aggiornerà mai nel corso del tempo. 
+  Introduci modifiche all'architettura nel tempo senza dei parametri che le giustifichino. 
+  Cambi architettura solo perché viene utilizzata da tutto il resto del settore. 

 **Vantaggi dell'adozione di questa best practice:** Per ottimizzare le prestazioni e i costi del carico di lavoro, è necessario valutare tutti i software e i servizi disponibili per determinare quelli appropriati per il carico di lavoro. 

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

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

 Evolvi il carico di lavoro nel tempo: utilizza le informazioni ottenute con la valutazione di nuovi servizi o tecnologie per gestire il cambiamento. Man mano che la tua azienda o il tuo carico di lavoro evolve, anche le prestazioni devono cambiare. Sfrutta i dati raccolti dai parametri riguardanti il carico di lavoro per valutare le aree in cui è possibile ottenere i miglioramenti più significativi in termini di efficienza o prestazioni e adotta in modo proattivo nuovi servizi e tecnologie per tenere il passo con la domanda. 

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

 **Documenti correlati:** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Novità di AWS](https://aws.amazon.com/new/?ref=wellarchitected) 

 **Video correlati:** 
+  [Canale YouTube degli eventi AWS](https://www.youtube.com/channel/UCdoadna9HFHsxXWhafhNvKw) 
+  [Canale YouTube dei Tech talk online di AWS](https://www.youtube.com/user/AWSwebinars) 
+  [Canale YouTube di Amazon Web Services](https://www.youtube.com/channel/UCd6MoB9NC6uYN2grvUNT-Zg) 

 **Esempi correlati:** 
+  [Github AWS](https://github.com/aws) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

# Monitoraggio
<a name="a-monitoring"></a>

**Topics**
+ [

# PERF 7 In che modo monitori le risorse per garantirne le prestazioni?
](w2aac19c11b9b5.md)

# PERF 7 In che modo monitori le risorse per garantirne le prestazioni?
<a name="w2aac19c11b9b5"></a>

 Le prestazioni del sistema possono peggiorare nel tempo. Monitora le prestazioni del sistema per identificare l'eventuale riduzione delle prestazioni e rimediare a fattori interni o esterni, come il sistema operativo o il carico dell'applicazione. 

**Topics**
+ [

# PERF07-BP01 Registrazione dei parametri relativi alle prestazioni
](perf_monitor_instances_post_launch_record_metrics.md)
+ [

# PERF07-BP02 Analisi dei parametri in caso di eventi o incidenti
](perf_monitor_instances_post_launch_review_metrics.md)
+ [

# PERF07-BP03 Individuazione degli indicatori chiave di prestazione (KPI) per misurare le prestazioni del carico di lavoro
](perf_monitor_instances_post_launch_establish_kpi.md)
+ [

# PERF07-BP04 Utilizzo del monitoraggio per generare notifiche basate su allarmi
](perf_monitor_instances_post_launch_generate_alarms.md)
+ [

# PERF07-BP05 Analisi dei parametri a intervalli regolari
](perf_monitor_instances_post_launch_review_metrics_collected.md)
+ [

# PERF07-BP06 Monitoraggio e allarmi proattivi
](perf_monitor_instances_post_launch_proactive.md)

# PERF07-BP01 Registrazione dei parametri relativi alle prestazioni
<a name="perf_monitor_instances_post_launch_record_metrics"></a>

 Utilizza un servizio di monitoraggio e osservazione per registrare i parametri correlati alle prestazioni. Esempi di parametri sono le transazioni record del database, le query lente, la latenza di I/O, la velocità di trasmissione effettiva delle richieste HTTP, la latenza del servizio o altri dati chiave. 

 Identifica i parametri relativi alle prestazioni rilevanti per il tuo carico di lavoro e registrali. Questi dati sono importanti per riuscire a identificare quali componenti influiscono sulle prestazioni o sull'efficienza complessive del carico di lavoro. 

 Partendo dall'esperienza del cliente, identifica quali sono i parametri rilevanti. Per ciascuno di essi, identifica l'obiettivo, l'approccio per la misurazione e la priorità. Utilizza questi elementi per creare allarmi e notifiche per affrontare in modo proattivo i problemi correlati alle prestazioni. 

 **Anti-pattern comuni:** 
+  Monitori solo i parametri a livello di sistema operativo per ottenere informazioni approfondite sul carico di lavoro. 
+  Pianifichi le tue esigenze di calcolo in base ai requisiti di picco del carico di lavoro. 

 **Vantaggi dell'adozione di questa best practice:** Per ottimizzare le prestazioni e l'utilizzo delle risorse, è necessario disporre di una vista operativa unificata dei tuoi principali indicatori prestazionali. Puoi creare pannelli di controllo ed eseguire calcoli parametrici sui dati per ottenere informazioni operative e di utilizzo. 

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

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

 Identifica i parametri prestazionali rilevanti per il tuo carico di lavoro e registrali. Questi dati aiutano a identificare quali componenti influiscono sulle prestazioni o sull'efficienza complessive del carico di lavoro. 

 Identificazione dei parametri di prestazione: utilizza l'esperienza del cliente per identificare i parametri più importanti. Per ciascuno di essi, identifica l'obiettivo, l'approccio per la misurazione e la priorità. Utilizza questi punti dati per creare allarmi e notifiche per affrontare in modo proattivo i problemi correlati alle prestazioni. 

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

 **Documenti correlati:** 
+  [Documentazione di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Raccolta di parametri e registri da istanze Amazon EC2 e da server on-premise con l'agente di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Pubblicazione di parametri personalizzati](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/publishingMetrics.html?ref=wellarchitected) 
+  [Monitoraggio, registrazione e prestazioni – Partner APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [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) 

 **Video correlati:** 
+  [Elimina il caos: acquisisci visibilità e approfondimenti operativi (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Application Performance Management on AWS (Gestione delle prestazioni delle applicazioni su AWS)](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 **Esempi correlati:** 
+  [Level 100: Monitoring with CloudWatch Dashboards (Livello 100: Monitoraggio con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 
+  [Level 100: Monitoring Windows EC2 instance with CloudWatch Dashboards (Livello 100: Monitoraggio dell'istanza EC2 di Windows con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_windows_ec2_cloudwatch/) 
+  [Level 100: Monitoring an Amazon Linux EC2 instance with CloudWatch Dashboards (Livello 100: Monitoraggio dell'istanza EC2 di Amazon Linux con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_linux_ec2_cloudwatch/) 

# PERF07-BP02 Analisi dei parametri in caso di eventi o incidenti
<a name="perf_monitor_instances_post_launch_review_metrics"></a>

 In risposta a nel corso di un evento o un incidente, utilizza pannelli di controllo o report di monitoraggio per comprendere e diagnosticare l'impatto. Queste viste forniscono informazioni sulle parti del carico di lavoro le cui prestazioni non raggiungono i livelli previsti. 

 Durante lo studio dei casi utente critici per la tua architettura, includi i requisiti relativi alle prestazioni, specificando ad esempio con quale rapidità deve essere eseguito ogni scenario. Per questi scenari critici, implementa percorsi utente con script aggiuntivi per chiarire esattamente quali sono le loro prestazioni rispetto ai requisiti. 

 **Anti-pattern comuni:** 
+  Parti dal presupposto che gli eventi relativi alle prestazioni siano problemi unici e correlati solo ad anomalie. 
+  Valuti i parametri delle prestazioni esistenti solo quando rispondi a eventi relativi alle prestazioni. 

 **Vantaggi dell'adozione di questa best practice:** Per stabilire se il carico di lavoro funziona ai livelli previsti, è necessario rispondere agli eventi relativi alle prestazioni raccogliendo ulteriori dati dei parametri affinché siano analizzati. Questi dati vengono utilizzati per comprendere l'impatto dell'evento relativo alle prestazioni e suggerire modifiche per migliorare le prestazioni del carico di lavoro. 

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

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

 Assegnazione della priorità a problemi di esperienza per le storie utente critiche: quando scrivi storie critiche dell'utente per la tua architettura, includi i requisiti di prestazione, ad esempio specificando la velocità di esecuzione di ogni storia critica. Per questi scenari critici, implementa percorsi utente con script aggiuntivi per chiarire esattamente quali sono le prestazioni dei casi utente rispetto ai requisiti. 

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

 **Documenti correlati:** 
+  [Documentazione di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Monitoraggio, registrazione e prestazioni – Partner APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Video correlati:** 
+  [Elimina il caos: acquisisci visibilità e approfondimenti operativi (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Optimize applications through Amazon CloudWatch RUM (Ottimizzazione delle applicazioni tramite Amazon CloudWatch RUM)](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 Amazon CloudWatch RUM)](https://github.com/aws-observability/aws-rum-web) 

# PERF07-BP03 Individuazione degli indicatori chiave di prestazione (KPI) per misurare le prestazioni del carico di lavoro
<a name="perf_monitor_instances_post_launch_establish_kpi"></a>

 Individua gli indicatori chiave di prestazione (KPI) per misurare le prestazioni del carico di lavoro. Gli indicatori chiave di prestazione aiutano a misurare l'integrità di un carico di lavoro in relazione a un obiettivo aziendale. Gli indicatori chiave di prestazione consentono ai team aziendali e di ingegneri di allinearsi sulla misurazione degli obiettivi e delle strategie e sul modo in cui questi si combinano per produrre risultati aziendali. Gli indicatori chiave di prestazione devono essere rivisti quando cambiano gli obiettivi aziendali, le strategie o i requisiti degli utenti finali.   

 Ad esempio, il carico di lavoro di un sito Web può utilizzare il tempo di caricamento della pagina come indicazione delle prestazioni complessive. Questo parametro è uno dei molteplici dati che misurano l'esperienza dell'utente finale. Oltre a identificare le soglie di tempo di caricamento della pagina, è necessario documentare il risultato atteso o il rischio aziendale se le prestazioni non vengono rispettate. Un lungo tempo di caricamento della pagina si ripercuote direttamente sugli utenti finali, diminuisce la loro esperienza d'uso e può portare a una perdita di clienti. Quando definisci le soglie degli indicatori chiave di prestazione, devi combinare sia i benchmark di settore sia le aspettative degli utenti finali. Ad esempio, se l'attuale benchmark del settore prevede il caricamento di una pagina Web entro un periodo di tempo di due secondi, ma gli utenti finali si aspettano che la pagina Web venga caricata entro un periodo di tempo di un secondo, allora devi prendere in considerazione entrambi i dati al momento di stabilire l'indicatore chiave di prestazione (KPI). Un altro esempio di KPI può essere quello di soddisfare le esigenze di prestazioni interne. Puoi stabilire una soglia KPI per la generazione di report sulle vendite entro un giorno lavorativo dalla generazione dei dati di produzione. Questi report possono influenzare direttamente le decisioni quotidiane e i risultati aziendali.  

 **Risultato desiderato:** La definizione dei KPI coinvolge diversi dipartimenti e stakeholder. Il team deve valutare i KPI del carico di lavoro utilizzando dati granulari in tempo reale e dati storici di riferimento e creare pannelli di controllo che eseguano calcoli metrici sui dati KPI per ricavare informazioni operative e di utilizzo. I KPI devono essere documentati per spiegare i KPI e le soglie concordati che supportano gli obiettivi e le strategie aziendali e che sono mappati sui parametri da monitorare. I KPI identificano i requisiti di prestazioni, vengono rivisti intenzionalmente e sono frequentemente condivisi e compresi da tutti i team. I rischi e i compromessi sono chiaramente identificati e si comprende l'impatto sull'azienda in caso di mancato raggiungimento delle soglie KPI. 

 **Anti-pattern comuni:** 
+  Si monitorano i parametri a livello di sistema solo per avere una visione del carico di lavoro e non si comprendono gli impatti aziendali di tali parametri. 
+  Ritieni che i KPI siano già in fase di pubblicazione e condivisi come dati parametrici standard. 
+  I KPI vengono definiti ma non vengono condivisi con tutti i team. 
+  Non si definisce un KPI quantitativo e misurabile. 
+  Mancato allineamento dei KPI con obiettivi o strategie aziendali. 

 

 **Vantaggi dell'adozione di questa best practice:** L'identificazione di parametri specifici che rappresentano l'integrità del carico di lavoro aiuta ad allineare i team sulle loro priorità e a definire i risultati aziendali di successo. La condivisione di tali parametri con tutti i reparti fornisce visibilità e allineamento su soglie, aspettative e impatto aziendale. 

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

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

 Tutti i reparti e i team aziendali che hanno un impatto sull'integrità del carico di lavoro devono contribuire alla definizione dei KPI. Collaborazione, tempistiche, documentazione e informazioni relative ai KPI dell'organizzazione devono essere guidate da una sola persona. Questo responsabile unico spesso condividerà gli obiettivi e le strategie aziendali e assegnerà agli stakeholder aziendali i compiti di creare i KPI nei rispettivi reparti. Una volta definiti i KPI, il team operativo contribuirà spesso a definire i parametri che supporteranno e informeranno il successo dei diversi KPI. I KPI sono efficaci solo se tutti i membri del team che supportano un carico di lavoro sono consapevoli della loro esistenza. 

 **Passaggi dell'implementazione** 

1.  Identificare e documentare gli stakeholder aziendali. 

1.  Identificare gli obiettivi e le strategie aziendali. 

1.  Esaminare i KPI comuni del settore che si allineano agli obiettivi e alle strategie aziendali. 

1.  Esaminare le aspettative degli utenti finali sul carico di lavoro. 

1.  Definire e documentare i KPI che supportano gli obiettivi e le strategie aziendali. 

1.  Identificare e documentare le strategie di compromesso approvate per soddisfare i KPI. 

1.  Identificare e documentare i parametri che informeranno i KPI. 

1.  Identificare e documentare le soglie KPI per il livello di gravità o di allarme. 

1.  Identificare e documentare il rischio e l'impatto se il KPI non viene raggiunto. 

1.  Identificare la frequenza di revisione per KPI. 

1.  Comunicare la documentazione KPI a tutti i team che supportano il carico di lavoro. 

** Livello di impegno per la guida all'implementazione:** La definizione e la comunicazione dei KPI comportano *basso* livello di impegno. Questo può essere fatto nell'arco di qualche settimana, incontrando gli stakeholder aziendali, rivedendo gli obiettivi, le strategie e i parametri del carico di lavoro.

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

 **Documenti correlati:** 
+ [Documentazione di CloudWatch ](http://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Monitoraggio, registrazione e prestazioni – Partner APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+ [X-Ray Documentation (Documentazione di X-Ray) ](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Utilizzo dei pannelli di controllo Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html?ref=wellarchitected) 
+  [Quick KPIs (KPI di Amazon QuickSight)](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 

 **Video correlati:** 
+  [AWS re:Invent 2019: Scaling up to your first 10 million users (Dimensionare le risorse per i primi 10 milioni di utenti) (ARC211-R)](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected) 
+  [Elimina il caos: acquisisci visibilità e approfondimenti operativi (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0&ref=wellarchitected) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 

 **Esempi correlati:** 
+  [Creating a dashboard with Quick (Creazione di un pannello di controllo con Amazon QuickSight)](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 

# PERF07-BP04 Utilizzo del monitoraggio per generare notifiche basate su allarmi
<a name="perf_monitor_instances_post_launch_generate_alarms"></a>

 Avvalendoti degli indicatori chiave di prestazione (KPI) relativi alle prestazioni che hai identificato, utilizza un sistema di monitoraggio che genera automaticamente allarmi quando queste misurazioni sono al di fuori dei limiti previsti. 

 Amazon CloudWatch può raccogliere i parametri per tutte le risorse dell'architettura. Puoi anche raccogliere e pubblicare parametri personalizzati per ottenere parametri aziendali o derivati. Utilizza CloudWatch o un servizio di monitoraggio di terze parti per configurare allarmi che si attivino al superamento delle soglie impostate; gli allarmi segnalano che un parametro si trova al di fuori dei limiti previsti. 

 **Anti-pattern comuni:** 
+  Affidi al personale il controllo dei parametri e la risposta quando si verifica un problema. 
+  Ti affidi esclusivamente a runbook operativi, quando potresti attivare flussi di lavoro serverless per svolgere la stessa attività. 

 **Vantaggi dell'adozione di questa best practice:** Puoi impostare allarmi e automatizzare le operazioni in base a soglie predefinite o ad algoritmi di machine learning che identificano comportamenti anomali nei parametri. Questi stessi allarmi possono anche attivare flussi di lavoro serverless, che possono modificare le caratteristiche prestazionali del carico di lavoro (ad esempio, aumentare la capacità di elaborazione, modificare la configurazione del database). 

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

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

 Parametri di monitoraggio: Amazon CloudWatch può raccogliere i parametri per tutte le risorse dell'architettura. Puoi raccogliere e pubblicare parametri personalizzati per ottenere parametri aziendali o derivati. Utilizza CloudWatch o un servizio di monitoraggio di terze parti per impostare allarmi che indicano quando le soglie vengono superate. 

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

 **Documenti correlati:** 
+  [Documentazione di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Monitoraggio, registrazione e prestazioni – Partner APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Using Alarms and Alarm Actions in CloudWatch (Utilizzo degli allarmi e delle azioni di allarme in Amazon CloudWatch)](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 

 **Video correlati:** 
+  [AWS re:Invent 2019: Scaling up to your first 10 million users (Dimensionare le risorse per i primi 10 milioni di utenti) (ARC211-R)](https://www.youtube.com/watch?v=kKjm4ehYiMs&ref=wellarchitected) 
+  [Elimina il caos: acquisisci visibilità e approfondimenti operativi (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0&ref=wellarchitected) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Using AWS Lambda with Amazon CloudWatch Events (Utilizzo di AWS Lambda con Amazon CloudWatch Events)](https://www.youtube.com/watch?v=WDBD3JmpLqs) 

 **Esempi correlati:** 
+  [Cloudwatch Logs Customize Alarms (Allarmi personalizzabili per i registri CloudWatch)](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# PERF07-BP05 Analisi dei parametri a intervalli regolari
<a name="perf_monitor_instances_post_launch_review_metrics_collected"></a>

 Come manutenzione ordinaria o in risposta a eventi o incidenti, esamina quali parametri vengono raccolti. Stabilisci quali di questi parametri sono fondamentali per risolvere i problemi e quali altri parametri aggiuntivi, se monitorati, possono contribuire a identificare, affrontare o prevenire i problemi. 

 nell'ambito della risposta a incidenti ed eventi, valuta quali parametri sono stati utili per affrontare il problema e quali sarebbero stati utili ma non sono attualmente misurati. Queste considerazioni ti aiuteranno a migliorare la qualità dei parametri raccolti, per prevenire o risolvere più rapidamente gli incidenti futuri. 

 **Anti-pattern comuni:** 
+  Lasci che i parametri rimangano in uno stato di allarme per un lungo periodo di tempo. 
+  Crei allarmi che non sono utilizzabili da un sistema di automazione. 

 **Vantaggi dell'adozione di questa best practice:** Esamina continuamente i parametri raccolti per verificare che identifichino, risolvano o prevengano adeguatamente i problemi. I parametri possono anche diventare obsoleti se lasciati in uno stato di allarme per un lungo periodo di tempo. 

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

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

 Migliora costantemente la raccolta e il monitoraggio dei parametri: nell'ambito della risposta a incidenti ed eventi, valuta quali parametri sono stati utili per affrontare il problema e quali sarebbero stati utili ma non sono attualmente misurati. Queste considerazioni ti aiuteranno a migliorare la qualità dei parametri raccolti, in modo da prevenire o risolvere più rapidamente gli incidenti futuri. 

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

 **Documenti correlati:** 
+  [Documentazione di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Raccolta di parametri e registri da istanze Amazon EC2 e da server on-premise con l'agente di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+  [Monitoraggio, registrazione e prestazioni – Partner APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Video correlati:** 
+  [Elimina il caos: acquisisci visibilità e approfondimenti operativi (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Application Performance Management on AWS (Gestione delle prestazioni delle applicazioni su AWS)](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 

 **Esempi correlati:** 
+  [Creating a dashboard with Quick (Creazione di un pannello di controllo con Amazon QuickSight)](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 
+  [Level 100: Monitoring with CloudWatch Dashboards (Livello 100: Monitoraggio con i pannelli di controllo CloudWatch)](https://wellarchitectedlabs.com/performance-efficiency/100_labs/100_monitoring_with_cloudwatch_dashboards/) 

# PERF07-BP06 Monitoraggio e allarmi proattivi
<a name="perf_monitor_instances_post_launch_proactive"></a>

 Utilizza indicatori chiave di prestazioni (KPI), in combinazione con sistemi di monitoraggio e allarmi, per risolvere in modo proattivo i problemi correlati alle prestazioni. Laddove possibile, utilizza gli allarmi per attivare operazioni automatizzate per risolvere i problemi. Se non è possibile rispondere in modo automatizzato, inoltra l'allarme a coloro che possono intervenire. Ad esempio, puoi implementare un sistema in grado di prevedere i valori attesi per i KPI e di inviare allarmi qualora essi oltrepassino determinate soglie, oppure uno strumento che arresta o esegue automaticamente il rollback delle distribuzioni nel caso in cui i valori dei KPI si discostino dai valori attesi. 

 Implementa processi che forniscono visibilità sulle prestazioni durante l'esecuzione del carico di lavoro. Crea pannelli di controllo del monitoraggio e stabilisci norme di riferimento per le aspettative riguardanti le prestazioni, per determinare se il carico di lavoro ha prestazioni ottimali. 

 **Anti-pattern comuni:** 
+  Consenti solo al personale operativo di apportare modifiche operative al carico di lavoro. 
+  Lasci che tutti gli allarmi giungano direttamente al team operativo senza alcuna correzione proattiva. 

 **Vantaggi dell'adozione di questa best practice:** La correzione proattiva delle azioni di allarme consente al personale di supporto di concentrarsi sugli elementi che non sono attivabili automaticamente. In questo modo, il personale operativo non viene sovraccaricato da tutti gli allarmi e si concentra, invece, solo sugli allarmi critici. 

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

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

 Monitoraggio delle prestazioni durante le operazioni: implementa processi che forniscono visibilità sulle prestazioni durante l'esecuzione del carico di lavoro. Crea pannelli di controllo di monitoraggio e stabilisci una baseline per le previsioni delle prestazioni. 

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

 **Documenti correlati:** 
+  [Documentazione di CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Monitoraggio, registrazione e prestazioni – Partner APN](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [X-Ray Documentation (Documentazione di X-Ray)](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Using Alarms and Alarm Actions in CloudWatch (Utilizzo degli allarmi e delle azioni di allarme in Amazon CloudWatch)](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 

 **Video correlati:** 
+  [Elimina il caos: acquisisci visibilità e approfondimenti operativi (MGT301-R1)](https://www.youtube.com/watch?v=nLYGbotqHd0) 
+  [Application Performance Management on AWS (Gestione delle prestazioni delle applicazioni su AWS)](https://www.youtube.com/watch?v=5T4stR-HFas&ref=wellarchitected) 
+  [Creazione di un piano di monitoraggio](https://www.youtube.com/watch?v=OMmiGETJpfU&ref=wellarchitected) 
+  [Utilizzo di AWS Lambda con Amazon CloudWatch Events](https://www.youtube.com/watch?v=WDBD3JmpLqs) 

 **Esempi correlati:** 
+  [Cloudwatch Logs Customize Alarms (Allarmi personalizzabili per i registri CloudWatch)](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# 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/) 