

# COST 9. Come gestisci la domanda e fornisci le risorse?
<a name="cost-09"></a>

Per avere un carico di lavoro con costo e prestazioni bilanciate, verifica che venga utilizzato tutto ciò per cui paghi ed evita le istanze molto sottoutilizzate. Un parametro di utilizzo distorto, in qualsiasi delle suddette direzioni, ha un impatto negativo sull'organizzazione, sia per i costi operativi (basse prestazioni a causa di un utilizzo eccessivo) che per le spese inerenti a AWS sprecate (a causa di un provisioning eccessivo).

**Topics**
+ [COST09-BP01 Analisi della domanda del carico di lavoro](cost_manage_demand_resources_cost_analysis.md)
+ [COST09-BP02 Implementazione di un buffer o della limitazione (della larghezza di banda della rete) per gestire la domanda](cost_manage_demand_resources_buffer_throttle.md)
+ [COST09-BP03 Fornitura dinamica delle risorse](cost_manage_demand_resources_dynamic.md)

# COST09-BP01 Analisi della domanda del carico di lavoro
<a name="cost_manage_demand_resources_cost_analysis"></a>

 Analizza la domanda del carico di lavoro nel tempo. Verifica che l’analisi copra l’andamento stagionale e rappresenti accuratamente le condizioni operative per l’intera durata del carico di lavoro. L’attività di analisi deve riflettere i potenziali benefici, ad esempio che il tempo speso sia proporzionale al costo del carico di lavoro. 

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

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

 L’analisi della domanda di carichi di lavoro per il cloud computing implica la comprensione dei modelli e delle caratteristiche delle attività di elaborazione avviate nell’ambiente cloud. Questa analisi aiuta gli utenti a ottimizzare l’allocazione delle risorse, gestire i costi e verificare che le prestazioni soddisfino i livelli richiesti. 

 Scopri i requisiti del carico di lavoro. I requisiti dell’organizzazione devono indicare i tempi di risposta del carico di lavoro per le richieste. Il tempo di risposta può essere utilizzato per determinare se la domanda è gestita o se l’offerta di risorse cambierà per soddisfare la domanda. 

 L’analisi deve includere la prevedibilità e la ripetibilità della domanda, la velocità di variazione della domanda e la quantità di variazione della domanda. Esegui l’analisi per un periodo abbastanza lungo da incorporare qualsiasi variazione stagionale, ad esempio l’elaborazione di fine mese o i picchi legati alle festività. 

 Lo sforzo di analisi dovrebbe riflettere i potenziali vantaggi dell’implementazione della scalabilità. Osserva il costo totale previsto del componente ed eventuali aumenti o riduzioni di utilizzo e costi durante il ciclo di vita del carico di lavoro. 

 Di seguito sono riportati alcuni aspetti chiave da prendere in considerazione quando si esegue l’analisi della domanda del carico di lavoro per il cloud computing: 

1.  **Utilizzo delle risorse e metriche sulle prestazioni**: analizza l’utilizzo nel tempo delle risorse AWS. Determina i modelli di utilizzo di picco e non di picco per ottimizzare l’allocazione delle risorse e le strategie di scalabilità. Monitora le metriche delle prestazioni come tempi di risposta, latenza, throughput e tassi di errore. Queste metriche aiutano a valutare lo stato e l’efficienza complessive dell’infrastruttura cloud. 

1.  **Comportamento in termini di dimensionamento di utenti e applicazioni**: analizza il comportamento degli utenti e il relativo impatto sulla domanda del carico di lavoro. L’esame dei modelli di traffico degli utenti aiuta a migliorare la fornitura di contenuti e la reattività delle applicazioni. Analizza la modalità di dimensionamento dei carichi di lavoro in base all’aumento della domanda. Determina se i parametri di dimensionamento automatico sono configurati correttamente ed efficacemente per gestire le fluttuazioni del carico. 

1.  **Tipi di carico di lavoro**: identifica i diversi tipi di carichi di lavoro in esecuzione nel cloud, come l’elaborazione in batch, l’elaborazione dei dati in tempo reale, le applicazioni Web, i database o i processi di machine learning. Ogni tipo di carico di lavoro può avere requisiti di risorse e profili di prestazioni diversi. 

1.  **Accordi sul livello di servizio (SLA)**: confronta le prestazioni effettive con gli SLA per garantire la conformità e identificare le aree che necessitano di miglioramento. 

 Puoi utilizzare [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) per raccogliere e monitorare metriche e file di log, impostare allarmi e reagire automaticamente ai cambiamenti nelle risorse AWS. Puoi anche usare Amazon CloudWatch per ottenere visibilità a livello di sistema su utilizzo delle risorse, prestazioni delle applicazioni e stato di integrità operativa. 

 Con [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/), puoi allocare le tue risorse seguendo le best practice per migliorare le prestazioni e l’affidabilità del sistema, aumentare la sicurezza e trovare opportunità di risparmio di denaro. Puoi anche disattivare le istanze non di produzione e utilizzare Amazon CloudWatch e Auto Scaling per far fronte agli aumenti o alle riduzioni della domanda. 

 Infine, puoi usare [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) o [Quick](https://aws.amazon.com/quicksight/) con il file AWS Cost and Usage Report (CUR) o i log delle applicazioni per eseguire un’analisi avanzata della domanda del carico di lavoro. 

 Nel complesso, un’analisi completa della domanda dei carichi di lavoro consente alle organizzazioni di prendere decisioni informate sul provisioning, il dimensionamento e l’ottimizzazione delle risorse, con conseguente miglioramento delle prestazioni, dell’efficienza dei costi e della soddisfazione degli utenti. 

### Passaggi dell’implementazione
<a name="implementation-steps"></a>
+  **Analizza i carichi di lavoro esistenti:** analizza i dati provenienti dal carico di lavoro esistente, dalle versioni precedenti del carico di lavoro o dai modelli di utilizzo previsti. Utilizza Amazon CloudWatch, i file di log e i dati di monitoraggio per ottenere informazioni dettagliate su come è stato utilizzato il carico di lavoro. Analizza un ciclo completo del carico di lavoro e raccogli i dati per eventuali variazioni stagionali, ad esempio eventi di fine mese o di fine anno. L’attività che emerge dall’analisi deve riflettere le caratteristiche del carico di lavoro. L’impegno maggiore dovrebbe riguardare i carichi di lavoro di alto valore che presentano le maggiori variazioni della domanda. Il minimo impegno dovrebbe riguardare carichi di lavoro di basso valore che hanno variazioni minime nella domanda. 
+  **Prevedi le influenze esterne:** incontra i membri del team di tutta l’organizzazione che possono influenzare o modificare la domanda del carico di lavoro. I team più comuni sono le vendite, il marketing o il business development. Collabora con loro per conoscere i cicli secondo cui operano e se ci sono eventi che potrebbero modificare la domanda del carico di lavoro. Prevedi la richiesta del carico di lavoro con questi dati. 

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

 **Documenti correlati:** 
+  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) 
+  [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/) 
+  [AWS X-Ray](https://aws.amazon.com/xray/) 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  [Getting started with Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  [AWS Cost Explorer](https://aws.amazon.com/aws-cost-management/aws-cost-explorer/) 
+  [Rapidità](https://aws.amazon.com/quicksight/) 

 **Esempi correlati:** 
+  [Monitor, Track and Analyze for cost optimization](https://aws.amazon.com/aws-cost-management/aws-cost-optimization/monitor-track-and-analyze/) 
+  [Searching and analyzing logs in CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/cloudwatch-search-analysis.html) 

# COST09-BP02 Implementazione di un buffer o della limitazione (della larghezza di banda della rete) per gestire la domanda
<a name="cost_manage_demand_resources_buffer_throttle"></a>

 Il buffering e la limitazione (della larghezza di banda della rete) modificano la domanda sul carico di lavoro, attenuando eventuali picchi. Implementa la limitazione (della larghezza di banda della rete) quando i client eseguono nuovi tentativi. Implementa il buffering per archiviare la richiesta e rinviare l'elaborazione a un secondo momento. Verifica che le esecuzioni di limitazione (della larghezza di banda della rete) e buffering siano progettate in modo che i client ricevano una risposta nel tempo richiesto. 

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

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

 L'implementazione di un buffer o di una limitazione (della larghezza di banda della rete) è fondamentale nel cloud computing per gestire la domanda e ridurre la capacità allocata richiesta per il carico di lavoro. Per ottenere prestazioni ottimali, è essenziale valutare la domanda totale, compresi i picchi, la velocità con cui variano le richieste e il tempo di risposta necessario. Quando i client hanno la possibilità di inviare nuovamente le proprie richieste, conviene applicare la limitazione (della larghezza di banda della rete). Al contrario, per i client che non dispongono della funzionalità di esecuzione di nuovi tentativi, l'approccio ideale è implementare una soluzione buffer. Tali buffer semplificano l'afflusso di richieste e ottimizzano l'interazione delle applicazioni con diverse velocità operative. 

![\[Curva di domanda con due picchi distinti che richiedono un'elevata capacità allocata.\]](http://docs.aws.amazon.com/it_it/wellarchitected/latest/framework/images/provisioned-capacity-1.png)


 Supponiamo che un carico di lavoro sia caratterizzato dalla curva della domanda illustrata nella figura precedente. Questo carico di lavoro presenta due picchi e per gestire tali picchi viene eseguito il provisioning della capacità di risorse mostrata dalla linea arancione. Le risorse e l'energia utilizzate per questo carico di lavoro non sono indicate nell'area sotto la curva della domanda, ma nell'area sotto la linea della capacità allocata, poiché per gestire questi due picchi è necessario eseguire il provisioning di tale capacità. Diminuire la curva della domanda del carico di lavoro può aiutarti a ridurre la capacità allocata di un carico di lavoro, oltre al suo impatto sull'ambiente. Per attenuare il picco, valuta la possibilità di implementare una soluzione basata sulla limitazione (della larghezza di banda della rete) o sul buffering. 

 Per comprendere meglio queste buffering e limitazione (della larghezza di banda della rete), proviamo ad analizzarle. 

 **Limitazione (della larghezza di banda della rete):** se l'origine della richiesta dispone di funzionalità di ripetizione dei tentativi, è possibile implementare la limitazione (della larghezza di banda della rete). La limitazione (della larghezza di banda della rete) indica all'origine che, se non è in grado di soddisfare la richiesta all'ora corrente, dovrebbe riprovare più tardi. L'origine attende un periodo di tempo, quindi riprova a eseguire la richiesta. L'implementazione della limitazione (della larghezza di banda della rete) ha il vantaggio di limitare la quantità massima di risorse e i costi del carico di lavoro. In AWS, puoi utilizzare [Gateway Amazon API](https://aws.amazon.com/api-gateway/) per implementare la limitazione (della larghezza di banda della rete). 

 **Basato sul buffer:** un approccio basato sul buffer si appoggia a *produttori* (componenti che inviano messaggi alla coda), *consumatori* (componenti che ricevono messaggi dalla coda) e una *coda* (che contiene messaggi) per l'archiviazione dei messaggi. I messaggi vengono letti ed elaborati dai consumatori e ciò consente ai messaggi di essere eseguiti alla velocità che soddisfa i requisiti aziendali del consumatore stesso. Utilizzando una metodologia basata sul buffering, i messaggi dei produttori sono ospitati in code o flussi, dove i produttori possono accedervi a un ritmo in linea con le rispettive esigenze operative. 

In AWS, puoi scegliere fra più servizi per l'implementazione di una strategia di buffering. [Amazon Simple Queue Service (Amazon SQS)](https://aws.amazon.com/sqs/) è un servizio gestito che offre code che consentono a un singolo consumatore di leggere singoli messaggi. [Amazon Kinesis](https://aws.amazon.com/kinesis/) offre un flusso che consente a più consumatori di leggere gli stessi messaggi.

 Il buffering e la limitazione (della larghezza di banda della rete) possono attenuare eventuali picchi modificando la domanda sul carico di lavoro. Usa la limitazione (della larghezza di banda della rete) quando i client riprovano le azioni e usa il buffering per bloccare la richiesta ed elaborarla in un secondo momento. Durante l'utilizzo dell'approccio basato sul buffering, assicurati di progettare il carico di lavoro per soddisfare la richiesta nel tempo richiesto e verifica di essere in grado di gestire le richieste duplicate. Analizza la domanda complessiva, la velocità di modifica e il tempo di risposta richiesto per determinare le dimensioni della limitazione (della larghezza di banda della rete) o del buffer richiesto. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ ** Analizza i requisiti del client:** analizza le richieste del client per determinare se sono in grado di eseguire nuovi tentativi. Per i client che non possono eseguire nuovi tentativi, è necessario implementare i buffer. Analizza la domanda complessiva, la velocità di modifica e il tempo di risposta richiesto per determinare le dimensioni della limitazione (della larghezza di banda della rete) o del buffer richiesto.
+ ** Implementa un buffer o una limitazione (della larghezza di banda della rete):** implementa un buffer o una limitazione (della larghezza di banda della rete) nel carico di lavoro. Una coda come Amazon Simple Queue Service (Amazon SQS) può fornire un buffer ai componenti del carico di lavoro. Gateway Amazon API è in grado di fornire la limitazione (della larghezza di banda della rete) per i componenti del carico di lavoro. 

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

 **Best practice correlate:** 
+ [ SUS02-BP06 Implementazione del buffering o della limitazione (della larghezza di banda della rete) per ridurre la curva della domanda ](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/sus_sus_user_a7.html)
+ [ REL05-BP02 Richieste di limitazione (della larghezza di banda della rete) ](https://docs.aws.amazon.com/wellarchitected/latest/framework/rel_mitigate_interaction_failure_throttle_requests.html)

 **Documenti correlati:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  [Gateway Amazon API](https://aws.amazon.com/api-gateway/) 
+  [Amazon Simple Queue Service](https://aws.amazon.com/sqs/) 
+  [Getting started with Amazon SQS](https://aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  [Amazon Kinesis](https://aws.amazon.com/kinesis/) 

 **Video correlati:** 
+ [ Choosing the Right Messaging Service for Your Distributed App ](https://www.youtube.com/watch?v=4-JmX6MIDDI)

 **Esempi correlati:** 
+ [ Managing and monitoring API throttling in your workloads ](https://aws.amazon.com/blogs/mt/managing-monitoring-api-throttling-in-workloads/)
+ [ Throttling a tiered, multi-tenant REST API at scale using API Gateway ](https://aws.amazon.com/blogs/architecture/throttling-a-tiered-multi-tenant-rest-api-at-scale-using-api-gateway-part-1/)
+ [ Enabling Tiering and Throttling in a Multi-Tenant Amazon EKS SaaS Solution Using Amazon API Gateway ](https://aws.amazon.com/blogs/apn/enabling-tiering-and-throttling-in-a-multi-tenant-amazon-eks-saas-solution-using-amazon-api-gateway/)
+ [ Application integration Using Queues and Messages ](https://aws.amazon.com/blogs/architecture/application-integration-using-queues-and-messages/)

# COST09-BP03 Fornitura dinamica delle risorse
<a name="cost_manage_demand_resources_dynamic"></a>

Le risorse sono allocate in modo pianificato. La pianificazione può essere basata sulla domanda, ad esempio tramite il dimensionamento automatico, oppure sul tempo, quando la domanda è prevedibile e le risorse sono fornite in base al tempo. Questi metodi comportano la minore quantità possibile di provisioning in eccesso o in difetto.

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

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

 Esistono diversi modi in cui i clienti AWS possono aumentare le risorse disponibili per le proprie applicazioni e fornire risorse per soddisfare la domanda. Una di queste opzioni riguarda l’utilizzo di AWS Instance Scheduler per automatizzare l’avvio e l’interruzione delle istanze Amazon Elastic Compute Cloud (Amazon EC2) e Amazon Relational Database Service (Amazon RDS). L’altra opzione è utilizzare AWS Auto Scaling, che consente di scalare automaticamente le risorse di calcolo in base alla richiesta dell’applicazione o del servizio. Fornire risorse in base alla domanda ti consentirà di pagare solo per le risorse che usi, di ridurre i costi lanciando le risorse quando sono necessarie e di interromperle quando non servono più. 

 [AWS Instance Scheduler](https://aws.amazon.com/solutions/implementations/instance-scheduler-on-aws/) consente di configurare l’arresto e l’avvio delle istanze Amazon EC2 e Amazon RDS a orari definiti, in modo da poter soddisfare la domanda delle stesse risorse secondo uno schema orario coerente, ad esempio ogni giorno gli utenti accedono alle istanze Amazon EC2 alle otto del mattino che non servono dopo le sei di sera. Questa soluzione aiuta a ridurre i costi operativi fermando le risorse non utilizzate e avviandole quando sono necessarie. 

![\[Diagramma che mostra l’ottimizzazione dei costi mediante AWS Instance Scheduler.\]](http://docs.aws.amazon.com/it_it/wellarchitected/latest/framework/images/instance-scheduler-diagram.png)


 

Puoi anche configurare in modo semplice e rapido le pianificazioni per le tue istanze Amazon EC2 nei tuoi account e nelle tue regioni con un’interfaccia utente (UI) utilizzando Configurazione rapida di AWS Systems Manager. Puoi pianificare le istanze Amazon EC2 o Amazon RDS con AWS Instance Scheduler e arrestare e avviare le istanze esistenti. Tuttavia, non puoi arrestare e avviare istanze presenti nel tuo gruppo Auto Scaling (ASG) o che gestiscono servizi come Amazon Redshift o il servizio OpenSearch di Amazon I gruppi Auto Scaling presentano una propria pianificazione in merito alle istanze del gruppo e queste istanze vengono create. 

[AWS Auto Scaling](https://aws.amazon.com/autoscaling/) ti aiuta a regolare la capacità per mantenere prestazioni stabili e prevedibili al minor costo possibile per soddisfare le mutevoli esigenze. Si tratta di un servizio completamente gestito e gratuito per scalare la capacità della tua applicazione, integrato con istanze Amazon EC2 e parchi istanze spot, Amazon ECS, Amazon DynamoDB e Amazon Aurora. Auto Scaling fornisce il rilevamento automatico delle risorse per aiutare a trovare risorse nel carico di lavoro che possono essere configurate, dispone di strategie di dimensionamento integrate per ottimizzare le prestazioni, i costi o un equilibrio tra i due e fornisce il dimensionamento predittivo per aiutare a risolvere i picchi ricorrenti con regolarità. 

 Sono disponibili diverse opzioni di dimensionamento per scalare il tuo gruppo Auto Scaling: 
+  Mantenimento dei livelli di istanza correnti in qualsiasi momento 
+  Dimensionamento manuale 
+  Dimensionamento in base a una pianificazione 
+  Dimensionamento on demand 
+  Utilizzo del dimensionamento predittivo 

 Le policy di Auto Scaling sono diverse e possono essere classificate come policy di dimensionamento dinamico e pianificato. Le policy dinamiche fanno riferimento al dimensionamento manuale o dinamico, programmato o predittivo. È possibile utilizzare le policy di dimensionamento per il dimensionamento dinamico, pianificato e predittivo. Puoi inoltre utilizzare metriche e allarmi di [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) per attivare eventi di dimensionamento per il tuo carico di lavoro. Noi ti suggeriamo di utilizzare i [modelli di avvio](https://docs.aws.amazon.com/autoscaling/ec2/userguide/launch-templates.html), che consentono di accedere alle funzionalità e ai miglioramenti più recenti. In caso di utilizzo di configurazioni di avvio, non tutte le funzionalità di Auto Scaling sono disponibili. Ad esempio, non è possibile creare un gruppo Auto Scaling che avvii istanze spot e on demand oppure che specifichi più tipi di istanza. Per configurare queste caratteristiche, sarà necessario utilizzare un modello di avvio. Quando utilizzi i modelli di avvio, ti consigliamo di modificare ciascuno di essi. Con il controllo delle versioni dei modelli di avvio, è possibile creare un sottoinsieme del set completo di parametri. Quindi, è possibile riutilizzarlo per creare altre versioni dello stesso modello di avvio. 

 Puoi utilizzare AWS Auto Scaling o incorporare il ridurre orizzontalmente nel codice con [API o SDK AWS](https://aws.amazon.com/developer/tools/). Ciò riduce i costi complessivi del carico di lavoro rimuovendo i costi operativi dall’apportare manualmente modifiche al tuo ambiente; le modifiche possono essere apportate molto più rapidamente. In questo modo, inoltre, il carico di lavoro viene adattato alla domanda in qualsiasi momento. Per seguire questa best practice e fornire risorse in modo dinamico all’organizzazione, è necessario comprendere la scalabilità verticale e orizzontale in Cloud AWS e la natura delle applicazioni in esecuzione sulle istanze Amazon EC2. È meglio che il team di Cloud Financial Management collabori con i team tecnici per seguire questa best practice. 

 [Elastic Load Balancing (bilanciamento del carico elastico)](https://aws.amazon.com/elasticloadbalancing/) consente di scalare le risorse distribuendo la domanda su più risorse. Utilizzando ASG ed Elastic Load Balancing, puoi gestire le richieste in arrivo ottimizzando l'instradamento del traffico in modo che nessuna istanza venga sovraccaricata in un gruppo Auto Scaling. Le richieste vengono distribuite tra tutti gli obiettivi di un gruppo target in modalità Round Robin, senza tenere conto della capacità o dell'utilizzo. 

 Le metriche tipiche possono essere metriche standard di Amazon EC2, ad esempio l'utilizzo della CPU, il throughput, e la latenza di richiesta/risposta osservata da Elastic Load Balancing. Quando possibile, è consigliabile utilizzare un parametro indicativo dell'esperienza del cliente, in genere si tratta di un parametro personalizzato che potrebbe avere origine dal codice dell'applicazione all'interno del carico di lavoro. Per capire come soddisfare la domanda in modo dinamico in questo documento, Auto Scaling verrà suddiviso in due categorie (modello di fornitura basata sulla domanda e modello di fornitura basata sul tempo) e verrà approfondito ciascun modello. 

**Fornitura basata sulla domanda:** sfrutta l’elasticità del cloud per fornire risorse in grado di soddisfare la domanda in continua evoluzione facendo riferimento allo stato della domanda quasi in tempo reale. Per la fornitura basata sulla domanda, utilizza API o funzionalità dei servizi per modificare in modo programmatico la quantità di risorse del cloud nella tua architettura. Ciò ti consente di scalare i componenti nella tua architettura e aumentare il numero di risorse durante i picchi di domanda per mantenere le prestazioni, nonché diminuire la capacità quando la domanda cala in modo da ridurre i costi. 

![\[Diagramma che descrive le policy di dimensionamento basato sulla domanda, come il dimensionamento semplice/graduale e il monitoraggio degli obiettivi.\]](http://docs.aws.amazon.com/it_it/wellarchitected/latest/framework/images/demand-based-supply.png)


 
+  **Dimensionamento semplice/graduale:** monitora le metriche e aggiunge/rimuove le istanze secondo i passaggi definiti manualmente dai clienti. 
+  **Monitoraggio degli obiettivi:** meccanismo di controllo simile a un termostato che aggiunge o rimuove automaticamente le istanze per mantenere le metriche in base a un obiettivo definito dal cliente. 

Quando prevedi una strategia basata sulla domanda in un progetto, tieni presenti due considerazioni principali. In primo luogo, devi capire con quale velocità è necessario predisporre le nuove risorse. In secondo luogo, devi capire che la dimensione del margine tra domanda e risorse fornite cambierà. Devi prepararti ad affrontare le variazioni nella domanda, nonché le risorse insufficienti.

**Fornitura basata sul tempo:** una strategia basata sul tempo allinea la capacità delle risorse alla domanda, che è prevedibile o ben definita nel tempo. In genere questa strategia non dipende dai livelli di utilizzo delle risorse. Una strategia basata sul tempo assicura che le risorse siano disponibili nel momento esatto in cui vengono richieste e possano essere fornite senza ritardi dovuti alle procedure di avvio e ai controlli di sistema o di coerenza. Attraverso una strategia basata sul tempo si possono fornire risorse aggiuntive o incrementare la capacità nei periodi più intensi.

![\[Diagramma che descrive le policy di dimensionamento basato sul tempo, come il dimensionamento programmato e predittivo.\]](http://docs.aws.amazon.com/it_it/wellarchitected/latest/framework/images/time-based-supply.png)


 

Puoi utilizzare il dimensionamento automatico pianificato e predittivo per implementare un approccio basato sul tempo. I carichi di lavoro possono essere programmati per aumentare orizzontalmente in determinati momenti (ad esempio, all’inizio dell’orario di lavoro), garantendo quindi la disponibilità delle risorse all’arrivo degli utenti on demand. Il dimensionamento predittivo utilizza modelli per aumentare orizzontalmente, mentre il dimensionamento pianificato utilizza tempi predefiniti per aumentare orizzontalmente. Si può anche usare una [strategia di selezione del tipo di istanza basata su attributi (ABS)](https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-asg-instance-type-requirements.html) nei gruppi Auto Scaling che consenta di esprimere i requisiti dell’istanza come un set di attributi, ad esempio vCPU, memoria e spazio di archiviazione. È possibile utilizzare automaticamente i tipi di istanza di nuova generazione quando vengono rilasciati e accedere a una gamma più ampia di capacità con le istanze spot di Amazon EC2. Amazon EC2 Fleet e Amazon EC2 Auto Scaling selezionano e avviano istanze che corrispondono agli attributi specificati, eliminando la necessità di scegliere manualmente i tipi di istanza. 

Puoi anche sfruttare [API e SDK AWS](https://aws.amazon.com/developer/tools/) e [AWS CloudFormation](https://aws.amazon.com/cloudformation/) per allocare e disattivare automaticamente interi ambienti quando ne hai bisogno. Questa strategia risulta particolarmente adatta per gli ambienti di sviluppo o di prova che operano solo in determinati orari di lavoro o periodi di tempo. Puoi usare le API per scalare le risorse all’interno di un ambiente (scalabilità verticale). Ad esempio, potresti aumentare verticalmente un carico di lavoro di produzione modificando la dimensione o la classe dell’istanza. Ciò è possibile interrompendo e avviando l’istanza e selezionando una dimensione o classe diversa. Questa tecnica può essere applicata anche ad altre risorse, come i volumi elastici Amazon EBS, che possono essere modificati per aumentarne le dimensioni, regolarne le prestazioni (IOPS) o cambiare il tipo di volume durante l’utilizzo.

Quando prevedi una strategia basata sul tempo in un progetto, tieni presenti due considerazioni principali. In primo luogo, che livello di coerenza presenta il modello di utilizzo? In secondo luogo, qual è l’impatto se il modello cambia? Puoi migliorare l’accuratezza delle previsioni monitorando i tuoi carichi di lavoro e utilizzando la business intelligence. Se si notano cambiamenti significativi nel modello di utilizzo, si possono modificare i tempi per assicurarti che la copertura sia fornita.

## Passaggi dell’implementazione
<a name="implementation-steps"></a>
+ ** Configura il dimensionamento pianificato: **per le variazioni prevedibili della domanda, il dimensionamento basato sul tempo può fornire il numero corretto di risorse in modo tempestivo. È utile anche se la creazione e la configurazione delle risorse non avvengono in maniera sufficientemente rapida per rispondere alle modifiche on demand. Utilizzando l’analisi del carico di lavoro, configura il dimensionamento pianificato utilizzando AWS Auto Scaling. Per configurare la pianificazione basata sul tempo, è possibile utilizzare il dimensionamento predittivo del dimensionamento pianificato per aumentare il numero di istanze Amazon EC2 nei gruppi Auto Scaling in anticipo in base alle variazioni di carico previste o prevedibili.
+  **Configura il dimensionamento predittivo:** il dimensionamento predittivo ti consente di aumentare il numero di istanze Amazon EC2 nel gruppo Auto Scaling in anticipo rispetto ai modelli giornalieri e settimanali nei flussi di traffico. Se si hanno picchi di traffico regolari e applicazioni che richiedono molto tempo per avviarsi, si dovrebbe prendere in considerazione l’utilizzo del dimensionamento predittivo. Il dimensionamento predittivo può aiutare a scalare più velocemente inizializzando la capacità prima del carico previsto rispetto al solo dimensionamento dinamico, che è di natura reattiva. Ad esempio, se gli utenti iniziano a utilizzare il carico di lavoro all’inizio dell’orario di lavoro e non lo utilizzano dopo l’orario di lavoro, il dimensionamento predittivo può aggiungere capacità prima dell’orario di lavoro, eliminando i ritardi del dimensionamento dinamico per reagire alle variazioni del traffico. 
+ ** Configura il dimensionamento automatico dinamico: **per configurare il dimensionamento in base ai parametri del carico di lavoro attivi, utilizza Auto Scaling. Utilizza l’analisi e configura Auto Scaling per l’avvio sui livelli di risorse corretti e assicurati che il carico di lavoro si riduca orizzontalmente nel tempo richiesto. È possibile avviare e scalare automaticamente un parco di istanze on demand e istanze spot all’interno di un singolo gruppo con un singolo gruppo Auto Scaling. Oltre a ricevere sconti per l’utilizzo di Istanze Spot, è possibile utilizzare Istanze riservate o Savings Plan per ricevere tariffe scontate sul normale prezzo delle istanze on demand. Tutti questi fattori insieme ti aiutano a risparmiare sui costi per le istanze Amazon EC2 e ti assicurano la scalabilità e le prestazioni desiderate per l’applicazione.

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

 **Documenti correlati:** 
+  [AWS Auto Scaling](https://aws.amazon.com/autoscaling/) 
+  [AWS Instance Scheduler](https://aws.amazon.com/answers/infrastructure-management/instance-scheduler/) 
+  Dimensiona il gruppo Auto Scaling 
+  [Getting Started with Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/GettingStartedTutorial.html) 
+  [Getting started with Amazon SQS](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-getting-started.html) 
+  [Scheduled Scaling for Amazon EC2 Auto Scaling](https://docs.aws.amazon.com/autoscaling/ec2/userguide/schedule_time.html) 
+ [ Predictive scaling for Amazon EC2 Auto Scaling ](https://docs.aws.amazon.com/autoscaling/ec2/userguide/ec2-auto-scaling-predictive-scaling.html)

 **Video correlati:** 
+ [ Target Tracking Scaling Policies for Auto Scaling ](https://www.youtube.com/watch?v=-RumeaoPB2M)
+ [AWS Instance Scheduler ](https://www.youtube.com/watch?v=nTLEyo2NzUs)

 **Esempi correlati:** 
+ [ Attribute based Instance Type Selection for Auto Scaling for Amazon EC2 Fleet ](https://aws.amazon.com/blogs/aws/new-attribute-based-instance-type-selection-for-ec2-auto-scaling-and-ec2-fleet/)
+ [ Optimizing Amazon Elastic Container Service for cost using scheduled scaling ](https://aws.amazon.com/blogs/containers/optimizing-amazon-elastic-container-service-for-cost-using-scheduled-scaling/)
+ [ Predictive Scaling with Amazon EC2 Auto Scaling ](https://aws.amazon.com/blogs/compute/introducing-native-support-for-predictive-scaling-with-amazon-ec2-auto-scaling/)
+ [ Come posso utilizzare Instance Scheduler con CloudFormation per pianificare le istanze Amazon EC2? ](https://aws.amazon.com/premiumsupport/knowledge-center/stop-start-instance-scheduler/)