

# PERF02-BP05 Dimensionamento dinamico delle risorse di elaborazione
<a name="perf_compute_hardware_scale_compute_resources_dynamically"></a>

 Sfrutta l'elasticità del cloud per dimensionare dinamicamente le risorse di elaborazione per soddisfare le tue esigenze ed evitare un provisioning eccessivo o insufficiente per il tuo carico di lavoro. 

 **Anti-pattern comuni:** 
+  Risposta agli allarmi aumentando manualmente la capacità. 
+  Utilizzi le stesse linee guida per il dimensionamento (generalmente infrastruttura statica) di quelle on-premise. 
+  Mantenimento della maggiore capacità dopo un evento di dimensionamento, senza ripristinare quella originale. 

 **Vantaggi dell'adozione di questa best practice:** La configurazione e il test dell'elasticità delle risorse di elaborazione possono aiutarti a risparmiare denaro, mantenere i benchmark delle prestazioni e migliorare l'affidabilità al variare del traffico. 

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

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

 AWS offre la flessibilità necessaria per dimensionare le risorse in modo dinamico attraverso una varietà di meccanismi di dimensionamento per soddisfare le variazioni della domanda. In combinazione con i parametri relativi all'elaborazione, il dimensionamento dinamico consente ai carichi di lavoro di rispondere automaticamente alle modifiche e utilizzare il set ottimale di risorse di elaborazione per raggiungere l'obiettivo. 

 Puoi adottare varie strategie di approccio per associare l'offerta di risorse alla domanda. 
+  **Approccio al tracciamento degli obiettivi**: monitora il parametro di dimensionamento e aumenta o diminuisci automaticamente la capacità in base alle esigenze. 
+  **Dimensionamento predittivo**: dimensiona in previsione delle tendenze giornaliere e settimanali. 
+  **Approccio basato sulla pianificazione**: imposta il tuo programma di dimensionamento in base alle variazioni di carico prevedibili. 
+  **Scalabilità del servizio**: scegli i servizi (come quelli serverless) che si dimensionano automaticamente per progettazione. 

 Assicurati che le distribuzioni dei carichi di lavoro siano in grado di gestire eventi di dimensionamento. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+  Istanze di elaborazione, container e funzioni forniscono tutti meccanismi di elasticità, in combinazione con il dimensionamento automatico o sotto forma di funzionalità del servizio. Ecco alcuni esempi di meccanismi di dimensionamento automatico:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/wellarchitected/2023-10-03/framework/perf_compute_hardware_scale_compute_resources_dynamically.html)
+  Si parla spesso di dimensionamento con servizi di elaborazione come le istanze Amazon EC2 o le funzioni AWS Lambda. Assicurati di considerare anche la configurazione di servizi non di elaborazione come [AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/auto-scaling.html) per soddisfare la domanda. 
+  Verifica che i parametri per il dimensionamento corrispondano alle caratteristiche del carico di lavoro da implementare. Se distribuisci un'applicazione di transcodifica video, è previsto il 100% di utilizzo della CPU e non deve essere il parametro principale. Utilizza la profondità della coda dei processi di transcodifica. Puoi utilizzare una [metrica personalizzata](https://aws.amazon.com/blogs/mt/create-amazon-ec2-auto-scaling-policy-memory-utilization-metric-linux/) per la tua politica di scalabilità, se necessario. Per scegliere la metrica corretta, consulta le linee guida seguenti per Amazon EC2: 
  +  La metrica deve essere una metrica di utilizzo valida e descrivere il livello di impiego di un'istanza. 
  +  Il valore della metrica deve aumentare o diminuire proporzionalmente in base al numero di istanze nel gruppo con Auto Scaling. 
+  Assicurati di utilizzare il [dimensionamento dinamico](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scale-based-on-demand.html) invece del [dimensionamento manuale](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-manual-scaling.html) per il gruppo con Auto Scaling in uso. È consigliabile utilizzare le [policy di dimensionamento del monitoraggio degli obiettivi](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-target-tracking.html) nel dimensionamento dinamico. 
+  Verifica che le implementazioni dei carichi di lavoro siano in grado di gestire entrambi gli eventi di dimensionamento (aumento e riduzione). Ad esempio, puoi usare la [cronologia delle attività](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-verify-scaling-activity.html) per verificare un'attività di dimensionamento per un gruppo Auto Scaling. 
+  Analizza il tuo carico di lavoro per individuare modelli prevedibili e dimensionare le tue risorse in modo proattivo, anticipando variazioni nella domanda previste e pianificate. Con il dimensionamento predittivo puoi eliminare la necessità di offrire capacità in eccedenza. Per ulteriori informazioni, consulta [Dimensionamento predittivo con Amazon EC2 Auto Scaling](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/). 

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

 **Documenti correlati:** 
+  [Elaborazione in 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 di Amazon ECS](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) 
+  [Amazon EKS Container: nodi worker di Amazon 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 degli stati del processore dell'istanza Amazon EC2](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/processor_state_control.html) 
+  [Deep Dive on Amazon ECS Cluster Auto Scaling](https://aws.amazon.com/blogs/containers/deep-dive-on-amazon-ecs-cluster-auto-scaling/) 
+  [Introducing Karpenter – An Open-Source High-Performance Kubernetes Cluster Autoscaler](https://aws.amazon.com/blogs/aws/introducing-karpenter-an-open-source-high-performance-kubernetes-cluster-autoscaler/) 

 **Video correlati:** 
+  [Amazon EC2 foundations](https://www.youtube.com/watch?v=kMMybKqC2Y0) 
+  [Better, faster, cheaper compute: Cost-optimizing Amazon EC2](https://www.youtube.com/watch?v=_dvh4P2FVbw) 
+  [Optimize performance and cost for your AWS compute](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) 
+  [Sviluppa un ambiente di calcolo efficiente dal punto di vista dei costi, delle energie e delle risorse](https://www.youtube.com/watch?v=8zsC5e1eLCg) 

 **Esempi correlati:** 
+  [Esempi di gruppo di Amazon EC2 Auto Scaling](https://github.com/aws-samples/amazon-ec2-auto-scaling-group-examples) 
+  [Implement Autoscaling with Karpenter](https://www.eksworkshop.com/beginner/085_scaling_karpenter/) 