

# PERF 2 In che modo selezioni la tua soluzione di calcolo?
<a name="perf-02"></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 Valutazione continua delle esigenze di calcolo sulla base di metriche](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 sono correlate a memoria, rete, I/O e utilizzo della CPU. Usa questi dati per scegliere le risorse che meglio corrispondono al profilo del carico di lavoro. Ad esempio, un carico di lavoro a uso intensivo di memoria come un database può trarre vantaggio da un'elevata percentuale di memoria per core. Tuttavia, un carico di lavoro con uso elevato di risorse di calcolo può richiedere un numero di core e una frequenza maggiori, ma può essere soddisfatto con una quantità inferiore di memoria per core.

 **Anti-pattern comuni:** 
+  Scelta di un'istanza con i valori più elevati per tutte le caratteristiche di prestazioni e per tutti i carichi di lavoro. 
+  Standardizzazione di tutti i tipi di istanze in un solo tipo per semplificare la gestione. 
+  Ottimizzazione rispetto a benchmark sintetici standard senza convalidare gli effettivi requisiti di un carico di lavoro specifico. 
+  Mantenimento della stessa struttura per un lungo periodo di tempo senza una nuova valutazione e l'integrazione di nuove offerte. 

 **Vantaggi dell'adozione di questa best practice:** se hai familiarità con i requisiti del carico di lavoro, puoi confrontare queste esigenze con le offerte di calcolo disponibili e sperimentare rapidamente per determinare quelle che soddisfano in modo più efficiente le esigenze del carico di lavoro. In questo modo, puoi ottenere prestazioni ottimali senza pagare eccessivamente a causa di risorse superflue. 

 **Livello di rischio associato alla mancata adozione di questa best practice:** medio 

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

Modifica la configurazione del carico di lavoro in base al dimensionamento corretto Per ottimizzare le prestazioni e l'efficienza complessiva, determina prima di tutto le risorse necessarie per il tuo carico di lavoro. Scegli istanze ottimizzate per la memoria, come la famiglia R, per carichi di lavoro a uso intensivo di memoria come un database. Per i carichi di lavoro che richiedono una capacità di calcolo maggiore, scegli la famiglia C di istanze oppure opta per istanze con numero di core e frequenza dei core maggiori. Scegli le prestazioni di I/O in base alle esigenze del carico di lavoro anziché applicare i benchmark sintetici standard. Per prestazioni di I/O più elevate, scegli le istanze della famiglia I, [volumi Amazon EBS ottimizzati per l'I/O](https://aws.amazon.com/premiumsupport/knowledge-center/optimize-ebs-provisioned-iops/) o istanze con [archivio delle istanze](https://aws.amazon.com/premiumsupport/knowledge-center/instance-store-vs-ebs/). Per ulteriori informazioni su tipi di istanza specifici, consulta [Tipi di istanza Amazon EC2](https://aws.amazon.com/ec2/instance-types/).

 Il dimensionamento corretto permette di verificare al meglio le prestazioni del carico di lavoro, evitando di pagare eccessivamente a causa di risorse superflue. 

 **Passaggi dell'implementazione** 
+  Identifica correttamente il carico di lavoro o analizzane i requisiti relativi alle risorse. 
+  Valuta separatamente i carichi di lavoro. Il Cloud AWS offre la flessibilità e l'agilità necessarie per dimensionare correttamente ogni carico di lavoro, senza compromessi. 
+  Crea ambienti di test per trovare la migliore corrispondenza tra le offerte di calcolo e il carico di lavoro. 
+  Rivaluta continuamente nuove offerte di calcolo e confrontale con le esigenze del carico di lavoro. 
+  Esamina periodicamente le offerte di nuovi servizi per ottenere un rapporto prezzo-prestazioni migliore. 
+  Svolgi regolarmente revisioni con il Framework AWS Well-Architected. 

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

 **Best practice correlate:** 
+  [PERF02-BP03 Raccolta dei parametri relativi al calcolo](perf_select_compute_collect_metrics.md) 
+  [PERF02-BP06 Valutazione continua delle esigenze di calcolo sulla base di metriche](perf_select_compute_use_metrics.md) 

 **Documenti correlati:** 
+  [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/)  
+  [Elaborazione nel cloud con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipi di istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Container Amazon ECS: istanze di container Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Container Amazon EKS: nodi worker Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funzioni: configurazione di funzioni Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 

 **Video correlati:** 
+  [Concetti fondamentali di Amazon EC2 (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Distribuzione di inferenze di machine learning ad alte prestazioni con AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Ottimizzazione delle prestazioni e dei costi per le risorse di calcolo AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [La nuova generazione di Amazon EC2: approfondimento del sistema Nitro](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/) 
+  [Ottimizzazione delle prestazioni e dei costi per le risorse di calcolo AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 

 **Esempi correlati:** 
+  [Dimensionamento corretto con il Compute Optimizer e l'utilizzo della memoria abilitati](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Codice demo per 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 il mutare della domanda. Attraverso la combinazione di questa elasticità con metriche di calcolo, un carico di lavoro può rispondere automaticamente alle variazioni in modo da usare esclusivamente le risorse necessarie.

 **Anti-pattern comuni:** 
+  Provisioning in eccesso per affrontare possibili picchi. 
+  Risposta agli allarmi aumentando manualmente la capacità. 
+  Aumento della capacità senza tenere conto dei tempi di provisioning. 
+  Mantenimento della maggiore capacità dopo un evento di dimensionamento, senza ripristinare quella originale. 
+  Monitoraggio di metriche che non riflettono direttamente gli effettivi requisiti del carico di lavoro. 

 **Vantaggi dell'adozione di questa best practice:** la domanda può essere fissa, variabile, basata su un modello o caratterizzata da picchi. La corrispondenza tra offerta e domanda assicura il costo minore per un carico di lavoro. Il monitoraggio, la verifica e la configurazione dell'elasticità del carico di lavoro permettono di ottimizzare le prestazioni, risparmiare denaro e migliorare l'affidabilità in base al mutare delle esigenze di utilizzo. Benché sia possibile adottare un approccio manuale per raggiungere questi obiettivi, su scala più vasta risulta poco pratico. Un approccio automatico e basato su metriche permette alle risorse di soddisfare le esigenze in qualsiasi momento. 

 **Livello di rischio associato alla mancata adozione di questa best practice:** medio 

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

L'automazione basata su metriche deve essere usata per usufruire dell'elasticità, con l'obiettivo di far corrispondere le risorse fornite con quelle richieste dal carico di lavoro. Ad esempio, puoi usare [metriche Amazon CloudWatch per monitorare le risorse](https://aws.amazon.com/startups/start-building/how-to-monitor-resources/) o metriche Amazon CloudWatch per i gruppi con Auto Scaling.

 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. Devi anche pianificare i tempi di provisioning e i possibili errori delle risorse. 

 Istanze, container e funzioni forniscono meccanismi per l'elasticità, come funzionalità del servizio, sotto forma di [Application Auto Scaling](https://aws.amazon.com/autoscaling/) o in combinazione con [Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/what-is-amazon-ec2-auto-scaling.html). Usa l'elasticità nella tua architettura per verificare che la capacità sia sufficiente per soddisfare i requisiti di prestazioni a un'ampia gamma di livelli di utilizzo. 

 Convalida le metriche per aumentare o ridurre risorse elastiche rispetto al tipo di carico di lavoro implementato. Ad esempio, se implementi un'applicazione di transcodifica di video, è previsto il 100% di utilizzo della CPU e questa non deve essere la metrica principale. In alternativa, puoi misurare la profondità della coda dei processi di transcodifica in attesa di dimensionare i tipi di istanze. 

 Le implementazioni dei carichi di lavoro devono gestire eventi di aumento e riduzione delle risorse. 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 dimensionamento in modo da verificare che il carico di lavoro si comporti come previsto. 

 **Passaggi dell'implementazione** 
+  Utilizza dati cronologici per analizzare le esigenze in fatto di risorse del carico di lavoro nel corso del tempo. Poniti domande specifiche, ad esempio: 
  +  Il carico di lavoro è fisso e aumenta nel tempo a una velocità nota? 
  +  Il carico di lavoro aumenta o diminuisce in base a modelli stagionali ripetibili? 
  +  Il carico di lavoro presenta picchi? I picchi possono essere previsti? 
+  Utilizza servizi di monitoraggio e dati cronologici quanto più spesso possibile. 
+  L'applicazione di tag alle risorse può semplificare il monitoraggio. Quando usi tag, consulta le [best practice per l'applicazione di tag](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html). Inoltre, [i tag semplificano la gestione, l'identificazione e l'organizzazione delle risorse](https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html). 
+  Con AWS puoi adottare varie strategie per associare l'offerta alla domanda. Le principali best practice per l'ottimizzazione dei costi ([da COST09-BP01 a COST09-03](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/manage-demand-and-supply-resources.html)) descrivono come usare gli approcci seguenti alla gestione dei costi: 
  + [COST09-BP01 Analisi della domanda del carico di lavoro](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_manage_demand_resources_cost_analysis.html)
  + [COST09-BP02 Implementazione di un buffer o del throttling per gestire la domanda](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_manage_demand_resources_buffer_throttle.html)
  + [COST09-BP03 Fornitura dinamica delle risorse](https://docs.aws.amazon.com/wellarchitected/latest/cost-optimization-pillar/cost_manage_demand_resources_dynamic.html)
+  Crea scenari di test per eventi di riduzione delle risorse in modo da verificare che il carico di lavoro si comporti come previsto. 
+  La maggior parte delle istanze non di produzione deve essere arrestata quando le istanze non vengono utilizzate. 
+  Per le esigenze di archiviazione quando usi Amazon Elastic Block Store (Amazon EBS), scegli l'[elasticità basata su volumi](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-modify-volume.html). 
+  Per [Amazon Elastic Compute Cloud (Amazon EC2)](https://aws.amazon.com/ec2/), valuta se usare [gruppi con Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/auto-scaling-groups.html), che permettono di ottimizzare prestazioni e costi aumentando automaticamente il numero di istanze di calcolo durante i picchi della domanda e riducendo la capacità al calare della domanda. 

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

 **Best practice correlate:** 
+  [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-BP06 Valutazione continua delle esigenze di calcolo sulla base di metriche](perf_select_compute_use_metrics.md) 

 **Documenti correlati:** 
+  [Elaborazione nel cloud con AWS](https://aws.amazon.com/products/compute/) 
+  [Tipi di istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) 
+  [Container Amazon ECS: istanze di container Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Container Amazon EKS: nodi worker Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+  [Funzioni: configurazione di funzioni Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration) 

 **Video correlati:** 
+  [Concetti fondamentali di Amazon EC2 (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Distribuzione di inferenze di machine learning ad alte prestazioni con AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Ottimizzazione delle prestazioni e dei costi per le risorse di calcolo AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [La nuova generazione di Amazon EC2: approfondimento del sistema Nitro](https://www.youtube.com/watch?v=rUY-00yFlE4) 

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

# PERF02-BP06 Valutazione continua delle esigenze di calcolo sulla base di metriche
<a name="perf_select_compute_use_metrics"></a>

Usa un approccio basato sui dati per valutare e ottimizzare continuamente le risorse di calcolo per il carico di lavoro nel corso del tempo.

 **Risultato desiderato:** uso di metriche a livello di sistema per monitorare attivamente il comportamento e i requisiti del carico di lavoro nel corso del tempo. Valuta le esigenze del carico di lavoro rispetto alle risorse disponibili in base ai dati raccolti e apporta le modifiche necessarie all'ambiente di calcolo in modo che corrispondano al meglio al profilo del carico di lavoro. Ad esempio, nel corso del tempo potresti osservare che il carico di lavoro usa molta più memoria rispetto a quanto indicato all'inizio e il passaggio a un'altra famiglia di istanze o a dimensioni diverse potrebbe migliorare le prestazioni e l'efficienza. 

 **Anti-pattern comuni:** 
+  Monitoraggio di metriche a livello di sistema per ottenere informazioni sul carico di lavoro, senza valutare nuovamente le esigenze di calcolo. 
+  Definizione delle esigenze di calcolo in base ai picchi del carico di lavoro. 
+  Eccessivo dimensionamento della soluzione di calcolo per soddisfare i requisiti di scalabilità o prestazioni, quando il passaggio a una nuova soluzione di calcolo soddisferebbe in modo più efficace le caratteristiche del carico di lavoro. 

 **Vantaggi dell'adozione di questa best practice:** risorse di calcolo ottimizzate in base a dati reali e al rapporto desiderato tra costi e prestazioni. 

 **Livello di rischio associato alla mancata adozione di questa best practice:** basso 

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

Usa un approccio basato sui dati per ottimizzare le risorse di calcolo in base al comportamento osservato del carico di lavoro. Per ottenere prestazioni ed efficienza ai massimi livelli, usa i dati raccolti dal carico di lavoro nel corso del tempo 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. Se le risorse sono sovrautilizzate, le prestazioni di sistema peggiorano, mentre se non vengono usate adeguatamente, il sistema funziona con meno efficienza e a costi maggiori. 

 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 dashboard automatiche per visualizzare questi dati e derivare informazioni operative e di utilità pratica. 

 **Passaggi dell'implementazione** 

1.  Raccogli metriche relative alle risorse di calcolo nel corso del tempo. 

1.  Confronta le metriche del carico di lavoro rispetto alle risorse disponibili nella soluzione di calcolo selezionata. 

1.  Determina le modifiche di configurazione necessarie dimensionando correttamente la soluzione esistente o valutando soluzioni di calcolo alternative. 

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

 **Best practice correlate:** 
+  [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) 

 **Documenti correlati:** 
+  [Elaborazione nel 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) 
+  [Container Amazon ECS: istanze di container Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Container Amazon EKS: nodi worker Amazon EKS](https://docs.aws.amazon.com/eks/latest/userguide/worker.html) 
+ [ Best practice per l'uso di funzioni AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/best-practices.html#function-configuration)

 **Video correlati:** 
+  [Concetti fondamentali di Amazon EC2 (CMP211-R2)](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Calcolo migliore, più veloce, più economico: ottimizzazione dei costi di Amazon EC2 (CMP202-R1)](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Distribuzione di inferenze di machine learning ad alte prestazioni con AWS Inferentia (CMP324-R1)](https://www.youtube.com/watch?v=17r1EapAxpk) 
+  [Ottimizzazione delle prestazioni e dei costi per le risorse di calcolo AWS (CMP323-R1)](https://www.youtube.com/watch?v=zt6jYJLK8sg) 
+  [La nuova generazione di Amazon EC2: approfondimento del sistema Nitro](https://www.youtube.com/watch?v=rUY-00yFlE4) 
+ [ Selezione e ottimizzazione delle istanze Amazon EC2](https://www.youtube.com/watch?v=Vz0HZ6hlpgM)

 **Esempi correlati:** 
+  [Dimensionamento corretto con il Compute Optimizer e l'utilizzo della memoria abilitati](https://www.wellarchitectedlabs.com/cost/200_labs/200_aws_resource_optimization/5_ec2_computer_opt/) 
+  [Codice demo per AWS Compute Optimizer](https://github.com/awslabs/ec2-spot-labs/tree/master/aws-compute-optimizer) 