

# Software e architettura
<a name="a-sus-software-architecture"></a>

**Topics**
+ [SUS 3. In che modo sfrutti i modelli di software e architetture per sostenere i tuoi obiettivi di sostenibilità?](sus-03.md)

# SUS 3. In che modo sfrutti i modelli di software e architetture per sostenere i tuoi obiettivi di sostenibilità?
<a name="sus-03"></a>

Implementa modelli per eseguire lo smoothing del carico e garantire un utilizzo elevato e coerente delle risorse implementate per ridurre al minimo il loro consumo. In seguito alle modifiche nei comportamenti degli utenti nel tempo, alcuni componenti potrebbero diventare inattivi per mancanza di utilizzo. Rivedi modelli e architetture per consolidare i componenti sottoutilizzati e aumentare l'uso complessivo. Ritira i componenti non più necessari. Analizza le prestazioni dei componenti dei tuoi carichi di lavoro e ottimizza quelli che usano la maggior quantità di risorse. Identifica i dispositivi che i clienti utilizzano per accedere ai servizi e implementa modelli in grado di ridurre al minimo la necessità di aggiornamenti dei dispositivi. 

**Topics**
+ [SUS03-BP01 Ottimizzazione del software e delle architetture per processi asincroni e pianificati](sus_sus_software_a2.md)
+ [SUS03-BP02 Rimozione o rifattorizzazione dei componenti dei carichi di lavoro con un utilizzo ridotto o assente](sus_sus_software_a3.md)
+ [SUS03-BP03 Ottimizzazione delle aree di codice che consumano la maggior parte del tempo o delle risorse](sus_sus_software_a4.md)
+ [SUS03-BP04 Ottimizzazione dell'impatto su dispositivi e apparecchiature](sus_sus_software_a5.md)
+ [SUS03-BP05 Uso dei modelli e le architetture software che meglio supportano l'accesso ai dati e i modelli di archiviazione](sus_sus_software_a6.md)

# 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 scalare 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:** medio 

## 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/) così da ottenere un utilizzo uniforme dei componenti, oltre alla riduzione al minimo del provisioning eccessivo 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 non più necessari. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+  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 dimensionamento automatico 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/2024-06-27/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/2024-06-27/framework/sus_sus_software_a2.html)
+  Se nella tua architettura utilizzi meccanismi di polling e webhook, sostituiscili con eventi. Utilizza [architetture basate sugli eventi](https://docs.aws.amazon.com/lambda/latest/operatorguide/event-driven-architectures.html) per la creazione di carichi di lavoro a elevata efficienza. 
+  Sfrutta la tecnologia [serverless di AWS](https://aws.amazon.com/serverless/) per eliminare infrastrutture con provisioning eccessivo. 
+  Dimensiona in modo appropriato i singoli componenti dell'architettura per evitare la presenza di risorse inattive in attesa di input. 
  +  Puoi sfruttare i [suggerimenti per il ridimensionamento corretto in AWS Cost Explorer](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html) o [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/) per individuare le opportunità di dimensionamento corretto. 
  +  Per ulteriori dettagli, consulta [Ridimensionamento corretto: provisioning delle istanze per soddisfare i carichi di lavoro](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html). 

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

 **Documenti correlati:** 
+  [What is Amazon Simple Queue Service?](https://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/welcome.html) 
+  [What is Amazon MQ?](https://docs.aws.amazon.com/amazon-mq/latest/developer-guide/welcome.html) 
+  [Scaling based on Amazon SQS](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-using-sqs-queue.html) 
+  [Cos’è AWS Step Functions?](https://docs.aws.amazon.com/step-functions/latest/dg/welcome.html) 
+  [Cos’è AWS Lambda?](https://docs.aws.amazon.com/lambda/latest/dg/welcome.html) 
+  [Using AWS Lambda with Amazon SQS](https://docs.aws.amazon.com/lambda/latest/dg/with-sqs.html) 
+  [What is Amazon EventBridge?](https://docs.aws.amazon.com/eventbridge/latest/userguide/what-is-amazon-eventbridge.html) 
+ [ Managing Asynchronous Workflows with a REST API ](https://aws.amazon.com/blogs/architecture/managing-asynchronous-workflows-with-a-rest-api/)

 **Video correlati:** 
+ [AWS re:Invent 2023 - Navigating the journey to serverless event-driven architecture ](https://www.youtube.com/watch?v=hvGuqHp051c)
+ [AWS re:Invent 2023 - Using serverless for event-driven architecture & domain-driven design ](https://www.youtube.com/watch?v=3foMZJSPMI4)
+ [AWS re:Invent 2023 - Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)
+ [AWS re:Invent 2023 - Sustainable architecture: Past, present, and future ](https://www.youtube.com/watch?v=2xpUQ-Q4QcM)
+ [ Asynchronous Message Patterns \$1 AWS Events ](https://www.youtube.com/watch?v=-yJqBuwouZ4)

 **Esempi correlati:** 
+ [ Event-driven architecture with AWS Graviton Processors and Amazon EC2 Spot Instances ](https://catalog.workshops.aws/well-architected-sustainability/en-US/2-software-and-architecture/event-driven-architecture-with-graviton-spot)

# SUS03-BP02 Rimozione o rifattorizzazione dei componenti dei carichi di lavoro con un utilizzo ridotto o assente
<a name="sus_sus_software_a3"></a>

Elimina i componenti non utilizzati e non più necessari e procedi a rifattorizzare quelli con scarso utilizzo per limitare lo spreco di risorse nel tuo carico di lavoro.

 **Anti-pattern comuni:** 
+  Non verifichi con regolarità il livello di utilizzo dei singoli componenti del tuo carico di lavoro. 
+  Non segui i consigli ricevuti dagli strumenti di ridimensionamento corretto AWS, ad esempio [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/). 

 **Vantaggi dell'adozione di questa best practice:** riduzione al minimo degli sprechi e miglioramento dell'efficienza complessiva del carico di lavoro cloud grazie alla rimozione dei componenti non utilizzati. 

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

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

I componenti inutilizzati o sottoutilizzati in un carico di lavoro cloud consumano risorse di elaborazione, archiviazione o rete non necessarie. Rimuovi o rifattorizza questi componenti per ridurre direttamente gli sprechi e migliorare l'efficienza complessiva di un carico di lavoro cloud. Si tratta di un processo di miglioramento iterativo che può essere attivato da cambiamenti della domanda o dal rilascio di un nuovo servizio cloud. Ad esempio, una riduzione significativa del runtime delle funzioni di [AWS Lambda](https://docs.aws.amazon.com/lambda/) può indicare la necessità di diminuire la dimensione della memoria Inoltre, quando AWS rilascia nuovi servizi e funzionalità, è possibile che i servizi ottimali e l'architettura per il carico di lavoro cambino.

 Monitora continuamente l'attività del carico di lavoro e cerca le opportunità per migliorare il livello di utilizzo dei singoli componenti. Eliminando i componenti inattivi ed eseguendo attività di ridimensionamento corretto, soddisfi i requisiti aziendali con il numero minimo di risorse cloud. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+  **Esegui l'inventario delle risorse AWS:** crea un inventario delle tue risorse AWS. In AWS, puoi attivare [Esploratore di risorse AWS](https://docs.aws.amazon.com/resource-explorer/latest/userguide/welcome.html) per esaminare e organizzare le tue risorse AWS. Per ulteriori dettagli, guarda [AWS re:Invent 2022 - How to manage resources and applications at scale on AWS](https://www.youtube.com/watch?v=bbgUnKq6PAU). 
+  **Monitora l'utilizzo:** monitora e acquisisci metriche di utilizzo per i componenti critici del tuo carico di lavoro (come l'utilizzo di CPU e memoria o il throughput di rete nelle [metriche di Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html)). 
+  **Identifica i componenti inutilizzati: **individua i componenti inutilizzati o sottoutilizzati nell'architettura. 
  +  In merito ai carichi di lavoro stabili, controlla gli strumenti di ridimensionamento corretto AWS, come [AWS Compute Optimizer](https://aws.amazon.com/compute-optimizer/), a intervalli regolari, così da individuare i componenti inattivi, inutilizzati o sottoutilizzati. 
  +  Per carichi di lavoro effimeri, valuta metriche di utilizzo per identificare componenti inattivi, inutilizzati o sottoutilizzati. 
+  **Rimuovi i componenti inutilizzati:** ritira componenti e risorse associate (come le immagini Amazon ECR) che non sono più necessari. 
  + [ Automated Cleanup of Unused Images in Amazon ECR ](https://aws.amazon.com/blogs/compute/automated-cleanup-of-unused-images-in-amazon-ecr/)
  + [ Delete unused Amazon Elastic Block Store (Amazon EBS) volumes by using AWS Config and AWS Systems Manager](https://docs.aws.amazon.com/prescriptive-guidance/latest/patterns/delete-unused-amazon-elastic-block-store-amazon-ebs-volumes-by-using-aws-config-and-aws-systems-manager.html)
+  **Rifattorizza i componenti sottoutilizzati:** rifattorizza o consolida i componenti sottoutilizzati con altre risorse per promuovere un utilizzo efficiente. Ad esempio, puoi allocare più database di dimensioni ridotte su una singola istanza di database [Amazon RDS](https://aws.amazon.com/rds/) anziché eseguire database su singole istanze sottoutilizzate. 
+  **Valuta i miglioramenti:** scopri le [risorse allocate in provisioning dal tuo carico di lavoro per completare un'unità di lavoro](https://docs.aws.amazon.com/wellarchitected/latest/sustainability-pillar/evaluate-specific-improvements.html). Utilizza queste informazioni per valutare i miglioramenti ottenuti rimuovendo o rifattorizzando i componenti. 
  + [ Measure and track cloud efficiency with sustainability proxy metrics, Part I: What are proxy metrics? ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-i-what-are-proxy-metrics/)
  + [ Measure and track cloud efficiency with sustainability proxy metrics, Part II: Establish a metrics pipeline ](https://aws.amazon.com/blogs/aws-cloud-financial-management/measure-and-track-cloud-efficiency-with-sustainability-proxy-metrics-part-ii-establish-a-metrics-pipeline/)

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

 **Documenti correlati:** 
+ [AWS Trusted Advisor](https://aws.amazon.com/premiumsupport/technology/trusted-advisor/)
+  [What is Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+ [ Ridimensionamento corretto: provisioning delle istanze per soddisfare i carichi di lavoro ](https://docs.aws.amazon.com/whitepapers/latest/cost-optimization-right-sizing/cost-optimization-right-sizing.html)
+ [ Optimizing your cost with Rightsizing Recommendations ](https://docs.aws.amazon.com/cost-management/latest/userguide/ce-rightsizing.html)

 **Video correlati:** 
+ [AWS re:Invent 2023 - Capacity, availability, cost efficiency: Pick three ](https://www.youtube.com/watch?v=E0dYLPXrX_w)

# SUS03-BP03 Ottimizzazione delle aree di codice che consumano la maggior parte del tempo o delle risorse
<a name="sus_sus_software_a4"></a>

Ottimizza il codice eseguito all'interno di diversi componenti della tua architettura per ridurre l'utilizzo delle risorse e massimizzare al tempo stesso le prestazioni.

 **Anti-pattern comuni:** 
+  Ignori l'ottimizzazione del codice per l'utilizzo delle risorse. 
+  In genere, rispondi ai problemi di performance aumentando le risorse. 
+  La revisione del codice e il processo di sviluppo non monitorano le modifiche a livello di performance. 

 **Vantaggi dell'adozione di questa best practice:** riduzione al minimo delle risorse utilizzate e ottimizzazione delle prestazioni grazie all'utilizzo di codice efficiente. 

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

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

 È fondamentale esaminare ogni area funzionale, incluso il codice per un'applicazione ideata nel cloud, per ottimizzare l'uso delle risorse e le performance. Monitora costantemente le performance del tuo carico di lavoro negli ambienti di sviluppo e produzione e identifica le opportunità per migliorare gli snippet di codice che comportano un utilizzo particolarmente elevato delle risorse. Adotta un processo di revisione con cadenza regolare per identificare i bug o gli anti-pattern all'interno del codice che utilizzano le risorse in modo non efficiente. Sfrutta algoritmi semplici ed efficienti che hanno gli stessi risultati per il tuo caso d'uso. 

## Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ **Utilizza un linguaggio di programmazione efficiente:** usa un sistema operativo e un linguaggio di programmazione efficienti per il carico di lavoro. Per dettagli sui linguaggi di programmazione efficienti dal punto di vista delle risorse (incluso Rust), consulta [Sustainability with Rust](https://aws.amazon.com/blogs/opensource/sustainability-with-rust/). 
+  **Usa un assistente per la scrittura di codice basato sull'IA:** valuta la possibilità di utilizzare un assistente per la scrittura di codice basato sull'IA, come [Amazon Q Developer](https://aws.amazon.com/q/developer/), per una scrittura efficiente del codice. 
+ **Automatizza le revisioni del codice:** mentre sviluppi i tuoi carichi di lavoro, adotta un processo di revisione del codice automatizzato, per migliorar la qualità e identificare bug e anti-pattern. 
  + [ Automate code reviews with Amazon CodeGuru Reviewer ](https://aws.amazon.com/blogs/devops/automate-code-reviews-with-amazon-codeguru-reviewer/)
  + [ Detecting concurrency bugs with Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/detecting-concurrency-bugs-with-amazon-codeguru/)
  + [ Raising code quality for Python applications using Amazon CodeGuru ](https://aws.amazon.com/blogs/devops/raising-code-quality-for-python-applications-using-amazon-codeguru/)
+ **Usa un profiler di codice:** utilizza un profiler di codice per identificare le aree di codice che utilizzano la maggior parte del tempo o delle risorse e trasformale in obiettivi di ottimizzazione. 
  + [ Reducing your organization's carbon footprint with Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/reducing-your-organizations-carbon-footprint-with-codeguru-profiler/)
  + [ Understanding memory usage in your Java application with Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/understanding-memory-usage-in-your-java-application-with-amazon-codeguru-profiler/)
  + [ Improving customer experience and reducing cost with Amazon CodeGuru Profiler ](https://aws.amazon.com/blogs/devops/improving-customer-experience-and-reducing-cost-with-codeguru-profiler/)
+  **Monitora e ottimizza:** utilizza risorse di monitoraggio continuo per individuare i componenti con requisiti elevati in termini di risorse o con una configurazione non ottimale. 
  +  Sostituisci gli algoritmi a uso intensivo di elaborazioni con una versione più semplice ed efficiente che produce gli stessi risultati. 
  +  Rimuovi il codice non necessario, come quello relativo all'ordinamento e alla formattazione. 
+  **Usa la rifattorizzazione o la trasformazione del codice:** scopri le funzionalità di [trasformazione del codice Amazon Q](https://aws.amazon.com/q/aws/code-transformation/) per l'esecuzione di manutenzione e aggiornamenti delle applicazioni. 
  + [ Upgrade language versions with Amazon Q Code Transformation ](https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/code-transformation.html)
  + [AWS re:Invent 2023 - Automate app upgrades & maintenance using Amazon Q Code Transformation ](https://www.youtube.com/watch?v=LY76tak6Z1E)

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

 **Documenti correlati:** 
+  [What is Amazon CodeGuru Profiler?](https://docs.aws.amazon.com/codeguru/latest/profiler-ug/what-is-codeguru-profiler.html) 
+  [Istanze FPGA](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/fpga-getting-started.html) 
+  [SDK AWS su Strumenti per creare su AWS](https://aws.amazon.com/tools/) 

 **Video correlati:** 
+ [ Improve Code Efficiency Using Amazon CodeGuru Profiler ](https://www.youtube.com/watch?v=1pU4VddsBRw)
+ [ Automate Code Reviews and Application Performance Recommendations with Amazon CodeGuru ](https://www.youtube.com/watch?v=OD8H63C0E0I)

# SUS03-BP04 Ottimizzazione dell'impatto su dispositivi e apparecchiature
<a name="sus_sus_software_a5"></a>

Individua i dispositivi e le apparecchiature utilizzati nell'architettura e applica le strategie per ridurne l'utilizzo. Questo può ridurre l'impatto ambientale complessivo del tuo carico di lavoro cloud. 

 **Anti-pattern comuni:** 
+  Ignori l'impatto ambientale dei dispositivi utilizzati dai clienti. 
+  Gestisci e aggiorni manualmente le risorse utilizzate dai clienti. 

 **Vantaggi della definizione di questa best practice:** riduzione dell'impatto ambientale complessivo del carico di lavoro sul cloud grazie all'implementazione di modelli e funzionalità software ottimizzati per i dispositivi dei clienti. 

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

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

 Implementare modelli e funzionalità software ottimizzati per i dispositivi dei clienti può ridurre l'impatto ambientale in diversi modi: 
+  Implementare nuove funzionalità compatibili con le versioni precedenti può ridurre il numero di sostituzioni hardware. 
+  Ottimizzare un'applicazione per un'esecuzione ottimale sui dispositivi può contribuire a ridurre l'utilizzo di energia ed estendere la durata della relativa batteria (se alimentati in questo modo). 
+  Ottimizzare un'applicazione per i dispositivi significa anche ridurre il trasferimento dei dati sulla rete. 

 Conoscere dispositivi e apparecchiature utilizzati nella tua architettura, il loro ciclo di vita atteso e l'impatto della sostituzione di tali componenti. Implementare modelli e funzionalità software in grado di contribuire a ridurre l'uso di energia da parte del dispositivo, la necessità da parte dei clienti di sostituirlo, nonché di eseguire l'aggiornamento manuale. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ **Predisponi un inventario:** fai un inventario dei dispositivi usati nella tua architettura. I dispositivi possono essere cellulari, tablet, dispositivi IOT, illuminazione smart o persino dispositivi smart in una fabbrica. 
+ **Utilizza dispositivi a basso consumo energetico:** prendi in considerazione l'uso dispositivi a basso consumo energetico nella tua architettura. Utilizza le configurazioni di gestione dell'alimentazione sui dispositivi per accedere alla modalità di risparmio energetico quando non sono in uso. 
+ **Esegui applicazioni efficienti:** ottimizza l'applicazione in esecuzione sui dispositivi. 
  +  Usa strategie come l'esecuzione di attività in background per ridurre l'uso di energia. 
  +  Prendi in considerazione latenza e larghezza di banda della rete durante la creazione di payload e implementa funzionalità che consentano alle tue applicazioni di funzionare in modo ottimale anche in presenza di una larghezza di banda ridotta e di link ad alta latenza. 
  +  Converti payload e file in formati ottimizzati richiesti dai dispositivi. Ad esempio, puoi usare [Amazon Elastic Transcoder](https://docs.aws.amazon.com/elastic-transcoder/) o [AWS Elemental MediaConvert](https://aws.amazon.com/mediaconvert/) per convertire file multimediali digitali di alta qualità di grandi dimensioni nei formati utilizzati dagli utenti per la riproduzione su dispositivi mobili, tablet, browser Web e televisioni connesse. 
  +  Esegui attività a elevata intensità di calcolo lato server (come il rendering delle immagini) oppure usa lo streaming delle applicazioni per migliorare l'esperienza utente sui dispositivi meno recenti. 
  +  Esegui la segmentazione e la paginazione dell'output, soprattutto per le sessioni interattive, al fine di gestire i payload e limitare i requisiti di archiviazione in locale. 
+ **Coinvolgi i fornitori:** collabora con i fornitori dei dispositivi che utilizzano materiali sostenibili e garantiscono trasparenza circa le loro catene di approvvigionamento e certificazioni ambientali. 
+ **Utilizza aggiornamenti via etere (OTA):** usa un meccanismo via etere (OTA) automatizzato per implementare gli aggiornamenti in uno o più dispositivi. 
  +  Per aggiornare le applicazioni mobili, puoi utilizzare una [pipeline CI/CD](https://aws.amazon.com/blogs/mobile/build-a-cicd-pipeline-for-your-android-app-with-aws-services/). 
  +  Puoi usare [AWS IoT Device Management](https://aws.amazon.com/iot-device-management/) per gestire in remoto i dispositivi connessi su larga scala. 
+ **Usa device farm gestite:** per testare nuove funzionalità e aggiornamenti, usa device farm gestite con set di hardware rappresentativi e itera lo sviluppo per ottimizzare i dispositivi supportati. Per ulteriori dettagli, consultare [SUS06-BP05 Utilizzo di device farm gestite per i test](sus_sus_dev_a5.md). 
+ **Continua a monitorare e apportare miglioramenti:** monitora il consumo energetico dei dispositivi per identificare le aree di miglioramento. Utilizza le nuove tecnologie o best practice per migliorare l'impatto ambientale di tali dispositivi. 

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

 **Documenti correlati:** 
+  [Cos’è AWS Device Farm?](https://docs.aws.amazon.com/devicefarm/latest/developerguide/welcome.html) 
+  [Documentazione sulle applicazioni WorkSpaces](https://docs.aws.amazon.com/appstream2/) 
+  [NICE DCV](https://docs.aws.amazon.com/dcv/) 
+ [ Tutorial OTA per aggiornare i firmware sui dispositivi che eseguono FreerTOS ](https://docs.aws.amazon.com/freertos/latest/userguide/dev-guide-ota-workflow.html)
+ [ Optimizing Your IoT Devices for Environmental Sustainability ](https://aws.amazon.com/blogs/architecture/optimizing-your-iot-devices-for-environmental-sustainability/)

 **Video correlati:** 
+ [AWS re:Invent 2023 - Improve your mobile and web app quality using AWS Device Farm](https://www.youtube.com/watch?v=__93Tm0YCRg)

# SUS03-BP05 Uso dei modelli e le architetture software che meglio supportano l'accesso ai dati e i modelli di archiviazione
<a name="sus_sus_software_a6"></a>

Scopri come i dati vengono utilizzati all'interno del tuo carico di lavoro, consumati dagli utenti, trasferiti e archiviati. Usa architetture e modelli software in grado di supportare al meglio l'accesso ai dati e l'archiviazione per ridurre le risorse di elaborazione, rete e storage richieste dal carico di lavoro.

 **Anti-pattern comuni:** 
+  Ritieni che tutti i carichi di lavoro abbiano modelli di accesso e archiviazione di dati simili. 
+  Utilizzi un solo livello di archiviazione, presupponendo che tutti i carichi di lavoro rientrino in tale livello. 
+  Ritieni che gli schemi di accesso ai dati rimarranno coerenti nel tempo. 
+  La tua architettura supporta una potenziale espansione elevata dell'accesso ai dati, con conseguente inattività delle risorse per la maggior parte del tempo. 

 **Vantaggi dell'adozione di questa best practice:** riduzione della complessità dello sviluppo e aumento dell'utilizzo complessivo grazie alla selezione e all'ottimizzazione dell'architettura in base ai modelli di accesso ai dati e di archiviazione. Capire quando utilizzare le tabelle globali, il partizionamento dei dati e la memorizzazione nella cache, ti aiuterà a ridurre i costi operativi e a effettuare il dimensionamento in base alle esigenze del carico di lavoro. 

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

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

 Per migliorare la sostenibilità del carico di lavoro a lungo termine, utilizza modelli di architettura che supportino le caratteristiche di storage e accesso ai dati per il tuo carico di lavoro. Tali modelli ti aiutano a recuperare ed elaborare i dati in modo efficiente. Ad esempio, puoi utilizzare un'[architettura dati moderna su AWS](https://aws.amazon.com/big-data/datalakes-and-analytics/modern-data-architecture/) con servizi appositamente progettati e ottimizzati per i tuoi specifici casi d'uso di analisi. Questi modelli di architettura consentono un'elaborazione efficiente dei dati e riducono l'utilizzo delle risorse. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+  **Comprensione delle caratteristiche dei dati:** analizza le caratteristiche dei dati e i modelli di accesso per individuare la configurazione corretta per le tue risorse cloud. Gli aspetti chiave da considerare includono: 
  +  **Tipo di dati:** strutturati, semi-strutturati, non strutturati 
  +  **Crescita dei dati:** limitata, illimitata 
  +  **Durabilità dei dati:** persistenti, effimeri, transitori 
  +  **Schemi di accesso:** letture o scritture, frequenza di aggiornamento, con picchi o costante 
+  **Utilizzo di modelli di architettura ottimali:** utilizza tipi di architetture che meglio supportino l'accesso ai dati e i modelli di archiviazione. 
  + [ Patterns for enabling data persistence ](https://docs.aws.amazon.com/prescriptive-guidance/latest/modernization-data-persistence/enabling-patterns.html)
  + [ Let's Architect\$1 Modern data architectures ](https://aws.amazon.com/blogs/architecture/lets-architect-modern-data-architectures/)
  + [ Databases on AWS: The Right Tool for the Right Job ](https://www.youtube.com/watch?v=-pb-DkD6cWg)
+  **Utilizzo di servizi appositamente progettati:** utilizza tecnologie che sono adatte allo specifico caso d'uso. 
  +  Sfrutta le tecnologie che lavorano in modo nativo con i dati compressi. 
    + [ Athena Compression Support file formats ](https://docs.aws.amazon.com/athena/latest/ug/compression-formats.html)
    + [ Format Options for ETL Inputs and Outputs in AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-format.html)
    + [ Loading compressed data files from Amazon S3 with Amazon Redshift ](https://docs.aws.amazon.com/redshift/latest/dg/t_loading-gzip-compressed-data-files-from-S3.html)
  +  Sfrutta [servizi di analisi](https://aws.amazon.com/big-data/datalakes-and-analytics/?nc2=h_ql_prod_an_a) appositamente creati per l'elaborazione dei dati nella tua architettura. Per informazioni dettagliate sui servizi di analisi AWS appositamente creati, guarda [AWS re:Invent 2022 - Building modern data architectures on AWS](https://www.youtube.com/watch?v=Uk2CqEt5f0o). 
  +  Utilizza il motore del database che meglio supporta il modello di query dominante. Gestisci gli indici di database per un'esecuzione efficiente delle query. Per ulteriori informazioni, consulta [Database su AWS](https://aws.amazon.com/products/databases/) e guarda [AWS re:Invent 2022 - Modernize apps with purpose-built databases](https://www.youtube.com/watch?v=V-DiplATdi0). 
+  **Riduzione al minimo dei trasferimenti di dati:** seleziona protocolli di rete che riducano la quantità di capacità di rete utilizzata dalla tua architettura. 

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

 **Documenti correlati:** 
+  [COPY from columnar data formats with Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/copy-usage_notes-copy-from-columnar.html) 
+  [Converting Your Input Record Format in Firehose](https://docs.aws.amazon.com/firehose/latest/dev/record-format-conversion.html) 
+  [Migliora le prestazioni delle query su Amazon Athena con una conversione ai formati in colonne](https://docs.aws.amazon.com/athena/latest/ug/convert-to-columnar.html) 
+  [Monitoring DB load with Performance Insights on Amazon Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_PerfInsights.html) 
+  [Monitoring DB load with Performance Insights on Amazon RDS](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_PerfInsights.html) 
+ [ Classe di archiviazione del Piano intelligente Amazon S ](https://aws.amazon.com/s3/storage-classes/intelligent-tiering/)
+ [ Build a CQRS event store with Amazon DynamoDB ](https://aws.amazon.com/blogs/database/build-a-cqrs-event-store-with-amazon-dynamodb/)

 **Video correlati:** 
+ [AWS re:Invent 2022 - Building data mesh architectures on AWS](https://www.youtube.com/watch?v=nGRvlobeM_U)
+ [AWS re:Invent 2023 - Deep dive into Amazon Aurora and its innovations ](https://www.youtube.com/watch?v=je6GCOZ22lI)
+ [AWS re:Invent 2023 - Improve Amazon EBS efficiency and be more cost-efficient ](https://www.youtube.com/watch?v=7-CB02rqiuw)
+ [AWS re:Invent 2023 - Optimizing storage price and performance with Amazon S3 ](https://www.youtube.com/watch?v=RxgYNrXPOLw)
+ [AWS re:Invent 2023 - Building and optimizing a data lake on Amazon S3 ](https://www.youtube.com/watch?v=mpQa_Zm1xW8)
+ [AWS re:Invent 2023 - Advanced event-driven patterns with Amazon EventBridge ](https://www.youtube.com/watch?v=6X4lSPkn4ps)

 **Esempi correlati:** 
+ [AWS Purpose Built Databases Workshop ](https://catalog.us-east-1.prod.workshops.aws/workshops/93f64257-52be-4c12-a95b-c0a1ff3b7e2b/en-US)
+ [AWS Modern Data Architecture Immersion Day ](https://catalog.us-east-1.prod.workshops.aws/workshops/32f3e732-d67d-4c63-b967-c8c5eabd9ebf/en-US)
+ [ Build a Data Mesh on AWS](https://catalog.us-east-1.prod.workshops.aws/workshops/23e6326b-58ee-4ab0-9bc7-3c8d730eb851/en-US)