

# SUS03-BP01 Ottimizzazione del software e delle architetture per processi asincroni e pianificati
<a name="sus_sus_software_a2"></a>

Utilizza modelli efficienti di software e di architettura, come quelli basati sulle code, per mantenere un utilizzo elevato e costante delle risorse distribuite.

 **Anti-pattern comuni:** 
+  Provisioning di risorse in eccedenza per il carico di lavoro in cloud con lo scopo di far fronte a picchi di domanda imprevisti. 
+  Architettura non in grado di disaccoppiare i mittenti e i ricevitori di messaggi asincroni mediante un componente di messaggistica. 

 **Vantaggi dell'adozione di questa best practice:** 
+  Modelli efficienti di software e architettura riducono al minimo le risorse inutilizzate nel carico di lavoro e migliorano l'efficienza complessiva. 
+  È possibile dimensionare le risorse dedicate all'elaborazione indipendentemente dalla ricezione di messaggi asincroni. 
+  Grazie a un componente di messaggistica, i requisiti di disponibilità si attenuano e possono essere soddisfatti con un numero inferiore di risorse. 

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

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

 Utilizza modelli di architettura efficienti, come l'[architettura basata su eventi](https://aws.amazon.com/event-driven-architecture/), che consentono un utilizzo uniforme dei componenti e riducono al minimo il provisioning in eccedenza nel carico di lavoro. L'utilizzo di modelli architetturali efficienti riduce al minimo le risorse inattive a causa del mancato utilizzo dovuto alle variazioni della domanda nel tempo. 

 Comprendi i requisiti dei componenti del carico di lavoro e adotta modelli di architettura che aumentino l'utilizzo complessivo delle risorse. Ritira i componenti che non sono più necessari. 

 **Passaggi dell'implementazione** 
+  Analizza le esigenze del tuo carico di lavoro per determinare come rispondere a tali richieste. 
+  Per le richieste o i processi che non necessitano di risposte sincrone, utilizza architetture basate su code e worker a scalabilità automatica per massimizzare l'utilizzo. Ecco alcuni esempi in cui potresti prendere in considerazione un'architettura basata sulle code:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/wellarchitected/2023-04-10/framework/sus_sus_software_a2.html)
+  Per le richieste o i processi che possono essere elaborati in qualsiasi momento, ottieni una maggiore efficienza utilizzando i meccanismi di pianificazione dell'elaborazione delle attività in blocco. Ecco alcuni esempi di meccanismi di pianificazione su AWS:     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/wellarchitected/2023-04-10/framework/sus_sus_software_a2.html)
+  Se nella tua architettura utilizzi meccanismi di polling e webhook, sostituiscili con eventi. Utilizza [architetture basate su eventi](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html) per realizzare carichi di lavoro efficienti. 
+  Approfitta dei servizi [serverless su AWS](https://aws.amazon.com/serverless/) per eliminare la necessità di provisioning in eccedenza sull'infrastruttura. 
+  Dimensiona in modo appropriato i singoli componenti dell'architettura per evitare la presenza di risorse inattive in attesa di input. 

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

 **Documenti correlati:** 
+  [Che cos'è Amazon Simple Queue Service?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 
+  [Che cos'è Amazon MQ?](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [Dimensionamento basato su Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [Che cos'è AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [Che cos'è AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [Utilizzo di AWS Lambda con Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [Che cos'è Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 

 **Video correlati:** 
+  [Passaggio ad architetture basate su eventi](https://www.youtube.com/watch?v=h46IquqjF3E) 