

# Processo e cultura
<a name="process-and-culture"></a>

 Durante la fase di progettazione dei carichi di lavoro, esistono principi e pratiche che è possibile adottare per gestire al meglio carichi di lavoro cloud efficienti e ad alte prestazioni. Questa area di interesse offre le best practice per aiutarti ad adottare una cultura che promuova l'efficienza delle prestazioni dei carichi di lavoro cloud. 

 Per sviluppare questa cultura, considera questi principi chiave: 
+  **Infrastructure as code:** definisci il tuo modello Infrastructure as code tramite approcci come i modelli di AWS CloudFormation. L'uso dei modelli ti consente di collocare la tua infrastruttura nel controllo sorgente, insieme al codice e alle configurazioni dell'applicazione. Ciò ti premette di applicare le stesse procedure di sviluppo software all'infrastruttura, in modo da accelerare l'iterazione. 
+  **Pipeline di implementazione:** usa una pipeline di integrazione continua/implementazione continua (CI/CD) (ad esempio, repository del codice sorgente, sistemi di sviluppo, distribuzione e automazione dei test) per distribuire la tua infrastruttura. Ciò ti consente di effettuare l'implementazione in modo ripetibile, coerente ed economicamente vantaggioso nel corso dell'iterazione. 
+  **Parametri ben definiti:** configura e monitora le metriche per raccogliere gli indicatori chiave di prestazione (KPI). Ti consigliamo di adottare parametri tecnici e aziendali. Per i siti Web o le app mobili, le metriche principali sono il tempo di acquisizione al primo byte o il rendering. Gli altri parametri generalmente validi includono il numero di thread, il tasso di rimozione di oggetti inutili (garbage collection) e gli stati di attesa. I parametri aziendali, come il costo cumulativo aggregato per richiesta, possono indicarti due modi per ridurre i costi. Valuta attentamente il modo in cui prevedi di interpretare i parametri. Ad esempio, potresti scegliere il 99° percentile o quello massimo anziché il valore medio. 
+  **Automatizza i test delle prestazioni:** nell'ambito del processo di implementazione, avvia automaticamente i test delle prestazioni dopo che quelli dall'esecuzione più rapida hanno dato esito positivo. L'automazione deve creare un nuovo ambiente, configurare le condizioni iniziali come i dati del test ed eseguire una serie di benchmark e test di carico. I risultati dei test devono essere confrontati con la build, in modo da monitorare le variazioni delle prestazioni nel corso del tempo. Per i test di lunga durata, puoi inserirli nella pipeline in maniera asincrona rispetto al resto della build. In alternativa, puoi eseguire i test delle prestazioni negli orari notturni, tramite le istanze spot di Amazon EC2. 
+  **Generazione del carico:** crea una serie di script di test che replichino i percorsi utente sintetici o pre-registrati. Tali script devono essere idempotenti e non devono essere associati in coppie. Inoltre, potrebbe essere necessario includere script *preliminari* per garantire risultati validi. Testa gli script il più possibile, per assicurarti che replichino le abitudini di utilizzo in produzione. Puoi usare soluzioni software as a service (SaaS) per generare il carico. Valuta se l'utilizzo delle soluzioni [Marketplace AWS](https://aws.amazon.com/marketplace/) e le [istanze spot](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-spot-instances.html) possono essere modi convenienti per generare il carico. 
+  **Visibilità delle prestazioni:** i parametri principali devono essere visibili dal team, in particolar modo quelli relativi a ciascuna versione della build. Ciò ti consente di rilevare tendenze positive o negative rilevanti nel corso del tempo. Dovresti anche visualizzare i parametri sul numero di errori o eccezioni per assicurarti di testare un sistema funzionante. 
+ **Visualizzazione:** sfrutta le tecniche di visualizzazione che indicano in modo chiaro i punti in cui si verificano problemi di prestazioni, hot spot, stati di attesa o utilizzo ridotto. Sovrapponi i parametri delle prestazioni ai diagrammi architetturali: i grafici delle chiamate o il codice possono aiutarti a individuare più rapidamente i problemi. 
+  **Revisione regolare dei processi:** le prestazioni scarse delle architetture sono in genere il risultato di un processo di revisione delle prestazioni inesistente o incompleto. Se la tua architettura offre prestazioni insufficienti, l'implementazione di un processo di revisione delle prestazioni ti consente di favorire il miglioramento delle iterazioni. 
+  **Ottimizzazione continua:** adotta una cultura per ottimizzare continuamente l'efficienza delle prestazioni del tuo carico di lavoro cloud. 

**Topics**
+ [PERF05-BP01 Individuazione degli indicatori chiave di prestazioni (KPI) per misurare l’integrità e le prestazioni del carico di lavoro](perf_process_culture_establish_key_performance_indicators.md)
+ [PERF05-BP02 Uso di soluzioni di monitoraggio per comprendere le aree in cui le prestazioni sono più critiche](perf_process_culture_use_monitoring_solutions.md)
+ [PERF05-BP03 Definizione di un processo per migliorare le prestazioni del carico di lavoro](perf_process_culture_workload_performance.md)
+ [PERF05-BP04 Load Esegui un test del tuo carico di lavoro](perf_process_culture_load_test.md)
+ [PERF05-BP05 Uso dell'automazione per risolvere in modo proattivo i problemi relativi alle prestazioni](perf_process_culture_automation_remediate_issues.md)
+ [PERF05-BP06 Conserva il carico di lavoro e i servizi up-to-date](perf_process_culture_keep_workload_and_services_up_to_date.md)
+ [PERF05-BP07 Analisi dei parametri a intervalli regolari](perf_process_culture_review_metrics.md)

# PERF05-BP01 Individuazione degli indicatori chiave di prestazioni (KPI) per misurare l’integrità e le prestazioni del carico di lavoro
<a name="perf_process_culture_establish_key_performance_indicators"></a>

 Individua gli indicatori chiave di prestazione (KPI) per misurare le prestazioni del carico di lavoro. I KPI consentono di misurare integrità e prestazioni di un carico di lavoro correlato a un obiettivo aziendale. 

 **Anti-pattern comuni:** 
+  Monitoraggio dei parametri a livello di sistema solo per avere una visione del carico di lavoro e mancata valutazione degli impatti aziendali di tali parametri. 
+  Si suppone che i KPI siano già in fase di pubblicazione e condivisi come dati parametrici standard. 
+  Mancata definizione di un KPI quantitativo e misurabile. 
+  Mancato allineamento dei KPI a obiettivi o strategie aziendali. 

 **Vantaggi dell’adozione di questa best practice:** l’individuazione di KPI specifici che rappresentino integrità e prestazioni del carico di lavoro aiuta ad allineare i team alle priorità e a definire risultati aziendali ottimali. La condivisione di tali metriche con tutti i reparti fornisce visibilità e allineamento su soglie, aspettative e impatto aziendale. 

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

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

 Gli indicatori chiave di prestazione consentono ai team aziendali e di ingegneri di allinearsi in termini di misurazione degli obiettivi e delle strategie e sul modo in cui questi fattori si combinano per produrre risultati aziendali. Ad esempio, il carico di lavoro di un sito Web può utilizzare il tempo di caricamento della pagina come indicazione delle prestazioni complessive. Questa metrica sarebbe uno dei vari punti dati che misurano l’esperienza dell’utente. Oltre a identificare le soglie di tempo di caricamento della pagina, occorre documentare il risultato atteso o il rischio aziendale in caso di mancato raggiungimento delle prestazioni ideali. Un lungo tempo di caricamento della pagina si ripercuote direttamente sugli utenti finali, peggiora la loro esperienza d’uso e può portare a una perdita di clienti. Quando definisci le soglie degli indicatori chiave di prestazione, devi combinare benchmark di settore e aspettative degli utenti finali. Ad esempio, se l’attuale benchmark del settore prevede il caricamento di una pagina Web entro un periodo di tempo di due secondi, ma gli utenti finali si aspettano che la pagina Web venga caricata entro un periodo di tempo di un secondo, allora devi prendere in considerazione entrambi i dati al momento di stabilire l’indicatore chiave di prestazione (KPI). 

 Il team deve valutare i KPI del carico di lavoro, utilizzando dati granulari in tempo reale e dati cronologici di riferimento, e creare pannelli di controllo che eseguano calcoli metrici sui dati KPI per ricavare informazioni operative e di utilizzo. I KPI devono essere documentati e includere le soglie che supportano gli obiettivi e le strategie aziendali, mappati sui parametri da monitorare. Gli indicatori chiave di prestazione devono essere riesaminati in caso di cambiamento di obiettivi aziendali, strategie o requisiti degli utenti finali.   

## Passaggi dell’implementazione
<a name="implementation-steps"></a>
+ **Identifica le parti interessate:** identifica e documenta le principali parti interessate aziendali, compresi i team di sviluppo e operativi. 
+ **Definisci gli obiettivi:** collabora con queste parti interessate per definire e documentare gli obiettivi del carico di lavoro. Considera gli aspetti critici relativi alle prestazioni dei carichi di lavoro, come il throughput, i tempi di risposta e i costi, nonché gli obiettivi aziendali, come la soddisfazione degli utenti. 
+ **Esamina le best practice di settore:** esamina le best practice del settore per individuare i KPI pertinenti in linea con gli obiettivi del carico di lavoro. 
+  **Individua le metriche:** identifica le metriche in linea con gli obiettivi del carico di lavoro e in grado di aiutarti a misurare prestazioni e obiettivi aziendali. Stabilisci i KPI in base a queste metriche, ad esempio le misurazioni del tempo medio di risposta o del numero di utenti simultanei. 
+ **Definisci e documenta i KPI:** utilizza le best practice del settore e gli obiettivi del carico di lavoro per fissare i valori dei KPI del carico di lavoro. Utilizza queste informazioni per impostare soglie dei KPI per livello di gravità o allarme. Identifica e documenta il rischio e l’impatto in caso di mancato raggiungimento del KPI. 
+ **Implementa il monitoraggio:** utilizza strumenti di monitoraggio, come [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) o [AWS Config](https://aws.amazon.com/config/), per la raccolta di metriche e la misurazione dei KPI. 
+ **Comunica visivamente i KPI:** utilizza strumenti del pannello di controllo, come [Amazon Quick](https://aws.amazon.com/pm/quicksight/), per visualizzare e comunicare i KPI alle parti interessate. 
+ **Analizza e ottimizza:** esamina e analizza in modo regolare i parametri per individuare le aree del carico di lavoro da migliorare. Collabora con le parti interessate per implementare tali miglioramenti. 
+ **Riesamina e perfeziona:** rivedi con regolarità metriche e KPI per valutare la loro efficacia, soprattutto in caso di modifica di obiettivi aziendali o prestazioni del carico di lavoro. 

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

 **Documenti correlati:** 
+  [CloudWatch documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Monitoring, Logging, and Performance AWS Partners](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+ [AWS observability tools ](https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-guide/aws-observability-tools.html)
+ [ The Importance of Key Performance Indicators (KPIs) for Large-Scale Cloud Migrations ](https://aws.amazon.com/blogs/mt/the-importance-of-key-performance-indicators-kpis-for-large-scale-cloud-migrations/)
+ [ How to track your cost optimization KPIs with the KPI Dashboard ](https://aws.amazon.com/blogs/aws-cloud-financial-management/how-to-track-your-cost-optimization-kpis-with-the-kpi-dashboard/)
+  [Documentazione di X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Using Amazon CloudWatch dashboards](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html?ref=wellarchitected) 
+  [KPI di Quick](https://docs.aws.amazon.com/quicksight/latest/user/kpi.html) 

 **Video correlati:** 
+ [AWS re:Invent 2023 - Optimize cost and performance and track progress toward mitigation ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2023 - Manage resource lifecycle events at scale with AWS Health](https://www.youtube.com/watch?v=VoLLNL5j9NA)
+ [AWS re:Invent 2023 - Performance & efficiency at Pinterest: Optimizing the latest instances ](https://www.youtube.com/watch?v=QSudpowE_Hs)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+ [AWS re:Invent 2023 - Building an effective observability strategy ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022 - Full-stack observability and application monitoring with AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2023 - Scaling on AWS for the first 10 million users ](https://www.youtube.com/watch?v=JzuNJ8OUht0)
+ [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance ](https://www.youtube.com/watch?v=_uaaCiyJCFA)
+ [ Creating an Effective Metrics Strategy for Your Business \$1 AWS Events ](https://www.youtube.com/watch?v=zBO-K4RvbtM)

 **Esempi correlati:** 
+  [Creazione di un pannello di controllo con Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 

# PERF05-BP02 Uso di soluzioni di monitoraggio per comprendere le aree in cui le prestazioni sono più critiche
<a name="perf_process_culture_use_monitoring_solutions"></a>

 Comprendi e identifica le aree in cui l'aumento delle prestazioni del carico di lavoro determinerà un impatto positivo sull'efficienza o sull'esperienza del cliente. Ad esempio, un sito web che ha una grande quantità di interazione con i clienti può trarre vantaggio dall'utilizzo dei servizi edge per spostare la distribuzione di contenuti più vicino ai clienti. 

 **Anti-pattern comuni:** 
+  Si ritiene che i parametri di calcolo standard, ad esempio l'utilizzo della CPU o il carico della memoria, siano sufficienti per rilevare problemi di prestazioni. 
+  Utilizzo solo dei parametri predefiniti registrati dal software di monitoraggio selezionato. 
+  Revisione dei parametri solo quando c'è un problema. 

 **Vantaggi dell'adozione di questa best practice:** l'individuazione delle aree critiche delle prestazioni consente ai proprietari del carico di lavoro di monitorare i KPI e dare priorità ai miglioramenti ad alto impatto. 

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

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

 Configura il tracciamento end-to-end per identificare gli schemi di traffico, la latenza e le aree con prestazioni critiche. Monitora gli schemi di accesso ai dati per query lente o dati scarsamente frammentati e partizionati. Identifica le aree vincolate del carico di lavoro utilizzando test o monitoraggio del carico. 

 Aumenta l'efficienza delle prestazioni esaminando l'architettura, gli schemi di traffico e gli schemi di accesso ai dati e identifica la latenza e i tempi di elaborazione. Identifica i potenziali colli di bottiglia che potrebbero influire sull'esperienza del cliente man mano che il carico di lavoro aumenta. Dopo aver identificato queste aree, individua quale soluzione puoi implementare per evitare tali problemi di prestazioni. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+  Configura il monitoraggio end-to-end per acquisire tutti i componenti e i parametri del carico di lavoro. Ecco alcuni esempi di soluzioni di monitoraggio su AWS.     
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/it_it/wellarchitected/latest/performance-efficiency-pillar/perf_process_culture_use_monitoring_solutions.html)
+  Esegui i test per generare parametri, identificare schemi di traffico, colli di bottiglia e aree con prestazioni critiche. Ecco alcuni esempi di come eseguire i test: 
  +  Configura [i canary di CloudWatch Synthetic](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) per simulare le attività degli utenti basate sul browser in modo programmatico utilizzando espressioni della frequenza o processi CRON di Linux per generare parametri coerenti nel tempo. 
  +  Usa la soluzione [Test di carico distribuito di AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) per generare picchi di traffico o testare il carico di lavoro al tasso di crescita previsto. 
+  Valuta parametri e dati di telemetria per identificare le aree critiche delle prestazioni. Esamina queste aree con il tuo team per determinare il monitoraggio e le soluzioni per evitare i colli di bottiglia. 
+  Sperimenta i miglioramenti delle prestazioni e valuta tali modifiche con i dati. Ad esempio, puoi utilizzare [CloudWatch Evidently](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-Evidently.html) per testare nuovi miglioramenti e gli impatti in termini di prestazioni sul tuo carico di lavoro. 

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

 **Documenti correlati:** 
+ [ What's new in AWS Observability at re:Invent 2023 ](https://aws.amazon.com/blogs/mt/whats-new-in-aws-observability-at-reinvent-2023/)
+  [Amazon Builders' Library](https://aws.amazon.com/builders-library) 
+  [Documentazione di X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon DevOps Guru](https://aws.amazon.com/devops-guru/) 

 **Video correlati:** 
+ [AWS re:Invent 2023 - [LAUNCH] Application monitoring for modern workloads ](https://www.youtube.com/watch?v=T2TovTLje8w)
+ [AWS re:Invent 2023 - Implementing application observability ](https://www.youtube.com/watch?v=IcTcwUSwIs4)
+ [AWS re:Invent 2023 - Building an effective observability strategy ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022 - Full-stack observability and application monitoring with AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+  [AWS re:Invent 2022 - The Amazon Builders' Library: 25 years of Amazon operational excellence](https://www.youtube.com/watch?v=DSRhgBd_gtw) 
+ [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance ](https://www.youtube.com/watch?v=_uaaCiyJCFA)
+  [Visual Monitoring of Applications with Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=_PCs-ucZz7E) 

 **Esempi correlati:** 
+  [Misurazione dei tempi di caricamento delle pagine con Amazon CloudWatch Synthetics](https://github.com/aws-samples/amazon-cloudwatch-synthetics-page-performance) 
+  [Client Web Amazon CloudWatch RUM](https://github.com/aws-observability/aws-rum-web) 
+  [SDK X-Ray per Python](https://github.com/aws/aws-xray-sdk-python) 
+  [Test del carico distribuito su AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP03 Definizione di un processo per migliorare le prestazioni del carico di lavoro
<a name="perf_process_culture_workload_performance"></a>

 Definisci un processo per valutare i nuovi servizi, i modelli di progettazione, i tipi di risorse e le configurazioni man mano che diventano disponibili. Ad esempio, esegui test delle prestazioni esistenti sulle nuove offerte di istanze per determinare il loro potenziale per migliorare il carico di lavoro. 

 **Anti-pattern comuni:** 
+  Si ritiene che l'architettura corrente diventi statica e non venga aggiornata nel corso del tempo. 
+  Introduzione di modifiche all'architettura nel tempo senza dei parametri che le giustifichino. 

 **Vantaggi dell'adozione di questa best practice:** definire un processo per apportare modifiche all'architettura consente ai dati raccolti di influenzare la progettazione del carico di lavoro nel corso del tempo. 

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

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

 Le prestazioni del carico di lavoro presentano alcuni vincoli principali. Documentali, in modo da sapere quali tipi di innovazione potrebbero migliorare le prestazioni del carico di lavoro. Utilizza queste informazioni quando vieni a conoscenza di nuovi servizi o tecnologie, man mano che si rendono disponibili, in modo da identificare le soluzioni per ovviare ai vincoli o ai colli di bottiglia. 

 Determina i principali vincoli riguardanti le prestazioni del carico di lavoro. Documenta i vincoli prestazionali del carico di lavoro in modo da sapere quali tipi di innovazione potrebbero migliorare le prestazioni del carico di lavoro. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ **Individua i KPI:** stabilisci i KPI in termini di prestazioni del carico di lavoro come indicato in [PERF05-BP01 Individuazione degli indicatori chiave di prestazioni (KPI) per misurare l’integrità e le prestazioni del carico di lavoro](perf_process_culture_establish_key_performance_indicators.md) per definire come base il carico di lavoro. 
+ **Implementa il monitoraggio:** sfrutta gli [strumenti di osservabilità AWS](https://docs.aws.amazon.com/wellarchitected/latest/management-and-governance-guide/aws-observability-tools.html) per raccogliere metriche delle prestazioni e misurare i KPI. 
+ **Effettua analisi:** conduci anali approfondite per individuare le aree (come la configurazione e il codice applicativo) del carico di lavoro con prestazioni insufficienti, come indicato in [PERF05-BP02 Uso di soluzioni di monitoraggio per comprendere le aree in cui le prestazioni sono più critiche](perf_process_culture_use_monitoring_solutions.md). Usa i tuoi strumenti di analisi e prestazioni per individuare la strategia di miglioramento delle prestazioni. 
+ **Convalida i miglioramenti:** utilizza gli ambienti sandbox o di preproduzione per convalidare l'efficacia della strategia di miglioramento. 
+ **Implementa le modifiche:** implementa le modifiche nella produzione e monitora in modo continuo le prestazioni del carico di lavoro. Documenta i miglioramenti e comunica i risultati alle parti interessate. 
+ **Riesamina e perfeziona:** rivedi con regolarità il processo di miglioramento delle prestazioni per individuare le aree di miglioramento. 

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

 **Documenti correlati:** 
+  [AWS Blog](https://aws.amazon.com/blogs/) 
+  [Novità di AWS](https://aws.amazon.com/new/?ref=wellarchitected) 
+  [AWS Skill Builder](https://explore.skillbuilder.aws/learn) 

 **Video correlati:** 
+ [AWS re:Invent 2022 - Delivering sustainable, high-performing architectures ](https://www.youtube.com/watch?v=FBc9hXQfat0)
+ [AWS re:Invent 2023 - Optimize cost and performance and track progress toward mitigation ](https://www.youtube.com/watch?v=keAfy8f84E0)
+ [AWS re:Invent 2022 - AWS optimization: Actionable steps for immediate results ](https://www.youtube.com/watch?v=0ifvNf2Tx3w)
+ [AWS re:Invent 2022 - Optimize your AWS workloads with best-practice guidance ](https://www.youtube.com/watch?v=t8yl1TrnuIk)

 **Esempi correlati:** 
+  [GitHub AWS](https://github.com/aws) 

# PERF05-BP04 Load Esegui un test del tuo carico di lavoro
<a name="perf_process_culture_load_test"></a>

 Esegui il test del carico di lavoro per verificare che sia in grado di gestire il carico di produzione e individuare eventuali colli di bottiglia nelle prestazioni. 

 **Anti-pattern comuni:** 
+  Test delle singole parti del carico di lavoro, ma non dell'intero carico di lavoro. 
+  Test di carico eseguito su un'infrastruttura diversa dall'ambiente di produzione. 
+  Test di carico eseguiti solo per il carico previsto e non oltre, per prevedere dove si potrebbero riscontrare problemi futuri. 
+  Esegui test di carico senza consultare la [Amazon EC2 Testing Policy](https://aws.amazon.com/ec2/testing/) e inviare un modulo di invio di eventi simulati. Ciò comporta la mancata esecuzione del test, in quanto sembra un evento. denial-of-service 

 **Vantaggi dell'adozione di questa best practice:** misurando le prestazioni in un test di carico, potrai vedere dove avrà luogo l'impatto con l'aumento del carico. In questo modo puoi anticipare le modifiche necessarie prima che influiscano sul carico di lavoro. 

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

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

 Il test di carico nel cloud è un processo volto a misurare le prestazioni del carico di lavoro in condizioni realistiche e con il carico degli utenti previsto. Questo processo prevede il provisioning di un ambiente cloud simile a quello di produzione, l'utilizzo di strumenti di test di carico per generare il carico e l'analisi dei parametri per valutare la capacità del carico di lavoro di gestire un carico realistico. Occorre eseguire i test di carico tramite versioni sintetiche o purificate dei dati di produzione (rimuovendo le informazioni sensibili o che permettono l'identificazione degli utenti). Eseguite automaticamente i test di carico come parte della vostra pipeline di distribuzione e confrontate i risultati con soglie e soglie predefiniteKPIs. Questo processo ti consente di ottenere le prestazioni richieste. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ **Definisci gli obiettivi dei test:** individua gli aspetti in termini di prestazione del carico di lavoro da valutare, come il throughput e il tempo di risposta. 
+ **Seleziona uno strumento di test:** scegli e configura lo strumento di test più adatto al carico di lavoro. 
+ **Configura l'ambiente:** configura l'ambiente di test in base al tuo ambiente di produzione. Puoi utilizzare AWS i servizi per eseguire ambienti su scala di produzione per testare la tua architettura. 
+ **Implementa il monitoraggio:** utilizza strumenti di monitoraggio come [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) per raccogliere metriche tra le risorse della tua architettura. Puoi anche raccogliere e pubblicare metriche personalizzate. 
+ **Definisci gli scenari** definisci scenari e parametri del test di carico (come la durata del test e il numero di utenti). 
+ **Esegui test di carico:** effettua scenari di test su vasta scala. Approfittane Cloud AWS per testare il tuo carico di lavoro e scoprire dove non riesce a scalare o se è scalabile in modo non lineare. Ad esempio, usa le istanze spot per generare carichi a costi ridotti e rilevare i colli di bottiglia prima che si verifichino in produzione. 
+ **Analizza i risultati dei test:** analizza i risultati per individuare colli di bottiglia delle prestazioni e aree di miglioramento. 
+ **Documenta e condividi gli esiti:** documenta esiti e raccomandazioni e crea report al riguardo. Condividi queste informazioni con le parti interessate per aiutarle a prendere decisioni informate sulle strategie di ottimizzazione delle prestazioni. 
+ **Effettua iterazioni continue:** esegui con regolarità i test di carico, specie dopo una modifica o un aggiornamento del sistema. 

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

 **Documenti correlati:** 
+  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+  [Test di carico distribuito su AWS](https://docs.aws.amazon.com/solutions/latest/distributed-load-testing-on-aws/welcome.html) 

 **Video correlati:** 
+ [AWS Summit ANZ 2023: accelera con fiducia grazie ai test di carico AWS distribuiti](https://www.youtube.com/watch?v=4J6lVqa6Yh8)
+ [AWS re:Invent 2022: scalabile AWS per i primi 10 milioni di utenti](https://www.youtube.com/watch?v=yrP3M4_13QM)
+  [Soluzione con AWS soluzioni: test di carico distribuiti](https://www.youtube.com/watch?v=Y-2rk0sSyOM) 
+ [AWS re:Invent 2021 - Ottimizza le applicazioni attraverso approfondimenti sugli utenti finali con Amazon CloudWatch RUM](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+  [Demo di Amazon CloudWatch Synthetics](https://www.youtube.com/watch?v=hF3NM9j-u7I) 

 **Esempi correlati:** 
+  [Test di carico distribuito su AWS](https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/) 

# PERF05-BP05 Uso dell'automazione per risolvere in modo proattivo i problemi relativi alle prestazioni
<a name="perf_process_culture_automation_remediate_issues"></a>

 Utilizza indicatori chiave di prestazioni (KPI), in combinazione con sistemi di monitoraggio e allarmi, per risolvere in modo proattivo i problemi correlati alle prestazioni. 

 **Anti-pattern comuni:** 
+  Solo il personale operativo è autorizzato ad apportare modifiche operative al carico di lavoro. 
+  Tutti gli allarmi giungono direttamente al team operativo senza alcuna correzione proattiva. 

 **Vantaggi dell'adozione di questa best practice:** la correzione proattiva delle azioni di allarme consente al personale di supporto di concentrarsi sugli elementi non attivabili in automatico. In questo modo, il personale operativo non viene sovraccaricato da tutti gli allarmi e si concentra, invece, solo sugli allarmi critici. 

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

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

 Laddove possibile, utilizza gli allarmi per attivare operazioni automatizzate per risolvere i problemi. Se non è possibile rispondere in modo automatizzato, inoltra l'allarme a chi può intervenire. Ad esempio, puoi implementare un sistema in grado di prevedere i valori attesi per gli indicatori chiave di prestazioni (KPI) e di inviare allarmi qualora essi oltrepassino determinate soglie, oppure uno strumento che arresta o esegue in automatico il rollback delle implementazioni in caso di discostamento dei KPI dai valori attesi. 

 Implementa processi che forniscono visibilità sulle prestazioni durante l'esecuzione del carico di lavoro. Crea pannelli di controllo del monitoraggio e stabilisci norme di riferimento per le aspettative in termini di prestazioni, per determinare se il carico di lavoro presenta prestazioni ottimali. 

### Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ **Identifica il flusso di correzione:** individua e comprendi il problema delle prestazioni risolvibile automaticamente. Utilizza soluzioni di monitoraggio AWS come [Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) o AWS X-Ray per comprendere meglio la causa principale del problema. 
+ **Definisci il processo di automazione:** crea un processo di risoluzione dettagliato utilizzabile per risolvere in automatico il problema. 
+ **Configura l'evento di avvio:** configura l'evento per l'avvio automatico del processo di risoluzione. Ad esempio, è possibile definire un trigger per riavviare automaticamente un'istanza quando raggiunge una determinata soglia di utilizzo della CPU. 
+ **Automatizza la correzione:** utilizza i servizi e le tecnologie AWS per automatizzare il processo di risoluzione. Ad esempio, [AWS Systems Manager Automation](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-automation.html) fornisce un modo sicuro e scalabile per automatizzare il processo di risoluzione. Assicurati di utilizzare la logica di risoluzione automatica per annullare le modifiche se non risolvono correttamente il problema. 
+ **Testa il flusso di lavoro:** esegui il test del processo di risoluzione automatizzato in un ambiente di preproduzione. 
+ **Implementa il flusso di lavoro:** implementa la risoluzione automatizzata nell'ambiente di produzione. 
+ **Sviluppa un playbook:** predisponi e documenta un playbook che delinei le fasi del piano di risoluzione, inclusi eventi di avvio, logica di risoluzione e azioni intraprese. Assicurati di fornire la giusta preparazione alle parti interessate in modo che possano rispondere efficacemente agli eventi di risoluzione automatizzati. 
+ **Esamina e perfeziona:** valuta con regolarità l'efficacia del flusso di lavoro di risoluzione automatizzato. Modifica gli eventi di avvio e la logica di risoluzione, se necessario. 

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

 **Documenti correlati:** 
+  [CloudWatch Documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Monitoraggio, registrazione di log e prestazioni: partner AWS Partner Network](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentazione di X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 
+  [Using Alarms and Alarm Actions in CloudWatch](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/cw-example-using-alarm-actions.html) 
+ [ Build a Cloud Automation Practice for Operational Excellence: Best Practices from AWS Managed Services](https://aws.amazon.com/blogs/mt/build-a-cloud-automation-practice-for-operational-excellence-best-practices-from-aws-managed-services/)
+ [ Automate your Amazon Redshift performance tuning with automatic table optimization ](https://aws.amazon.com/blogs/big-data/automate-your-amazon-redshift-performance-tuning-with-automatic-table-optimization/)

 **Video correlati:** 
+ [AWS re:Invent 2023 - Strategies for automated scaling, remediation, and smart self-healing ](https://www.youtube.com/watch?v=nlGyIa3UQYU)
+ [AWS re:Invent 2023 - [LAUNCH] Application monitoring for modern workloads ](https://www.youtube.com/watch?v=T2TovTLje8w)
+ [AWS re:Invent 2023 - Implementing application observability ](https://www.youtube.com/watch?v=IcTcwUSwIs4)
+  [AWS re:Invent 2021 - Intelligently automating cloud operations](https://www.youtube.com/watch?v=m0S8eAF0l54) 
+  [AWS re:Invent 2022 - Setting up controls at scale in your AWS environment](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [AWS re:Invent 2022 - Automating patch management and compliance using AWS](https://www.youtube.com/watch?v=gL3baXQJvc0) 
+  [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 
+ [AWS re:Invent 2023 - Take a load off: Diagnose & resolve performance issues with Amazon RDS ](https://www.youtube.com/watch?v=Ulj88e5Aqzg)
+ [AWS re:Invent 2021 -\$1New Launch\$1 Automatically detect and resolve issues with Amazon DevOps Guru ](https://www.youtube.com/watch?v=iwQNQHwoXfk)
+ [AWS re:Invent 2023 - Centralize your operations ](https://www.youtube.com/watch?v=9-RBjmhDdaM)

 **Esempi correlati:** 
+  [CloudWatch Logs Customize Alarms](https://github.com/awslabs/cloudwatch-logs-customize-alarms) 

# PERF05-BP06 Conserva il carico di lavoro e i servizi up-to-date
<a name="perf_process_culture_keep_workload_and_services_up_to_date"></a>

 Resta up-to-date su nuovi servizi e funzionalità cloud per adottare funzionalità efficienti, rimuovere problemi e migliorare l'efficienza complessiva delle prestazioni del tuo carico di lavoro. 

 **Anti-pattern comuni:** 
+  Si ritiene che l'architettura corrente diventi statica e non venga aggiornata nel corso del tempo. 
+  Non si dispone di sistemi né si esegue regolarmente una valutazione per la compatibilità di software e pacchetti aggiornati con il carico di lavoro. 

 **Vantaggi derivanti dall'adozione di questa best practice:** stabilendo un processo per rimanere aggiornato up-to-date su nuovi servizi e offerte, puoi adottare nuove funzionalità e funzionalità, risolvere problemi e migliorare le prestazioni del carico di lavoro. 

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

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

 Valuta i modi per migliorare le prestazioni man mano che nuovi servizi, modelli di progettazione e funzionalità di prodotti diventano disponibili. Determina in che modo possono migliorare le prestazioni o aumentare l'efficienza del carico di lavoro tramite valutazioni, discussioni interne o analisi esterne. Definisci un processo per valutare gli aggiornamenti, le nuove funzionalità e i servizi pertinenti per il tuo carico di lavoro. Ad esempio, crea un proof of concept che utilizza le nuove tecnologie o consultati con un gruppo interno. Quando provi nuove idee o servizi, esegui test delle prestazioni per misurare l'impatto sulle prestazioni del carico di lavoro. 

## Passaggi dell'implementazione
<a name="implementation-steps"></a>
+ **Esegui l'inventario del tuo carico di lavoro:** esegui l'inventario di software e architettura del carico di lavoro e identifica i componenti da aggiornare. 
+ **Identifica le origini dell'aggiornamento:** identifica novità e origini dell'aggiornamento relative ai componenti del carico di lavoro. Ad esempio, puoi iscriverti al [AWS blog What's New at](https://aws.amazon.com/new/) per i prodotti che corrispondono al tuo componente di carico di lavoro. Puoi iscriverti al RSS feed o gestire le tue [iscrizioni e-mail](https://pages.awscloud.com/communication-preferences.html). 
+ **Definisci un programma di aggiornamento:** definisci un programma per valutare nuovi servizi e funzionalità per il tuo carico di lavoro. 
  +  Puoi utilizzare [AWS Systems Manager Inventory](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-inventory.html) per raccogliere i metadati del sistema operativo (OS), delle applicazioni e delle istanze dalle tue EC2 istanze Amazon e capire rapidamente quali istanze eseguono il software e le configurazioni richieste dalla tua politica software e quali istanze devono essere aggiornate. 
+ **Valuta il nuovo aggiornamento:** individua le modalità di aggiornamento dei componenti del carico di lavoro. Sfrutta l'agilità del cloud per testare in modo semplice e rapido il modo in cui le nuove funzionalità possono migliorare il carico di lavoro per ottenere efficienza delle prestazioni. 
+ **Utilizza l'automazione:** sfrutta l'automazione del processo di aggiornamento per ridurre il livello di impegno per implementare le nuove funzionalità e limitare gli errori causati dai processi manuali. 
  +  Puoi utilizzare [CI/CD](https://aws.amazon.com/blogs/devops/complete-ci-cd-with-aws-codecommit-aws-codebuild-aws-codedeploy-and-aws-codepipeline/) per aggiornare AMIs automaticamente le immagini dei container e altri elementi relativi alla tua applicazione cloud. 
  +  È possibile utilizzare strumenti come [AWS Systems Manager Patch Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-patch.html) per automatizzare il processo di aggiornamento del sistema e pianificare l'attività utilizzando le [finestre di manutenzione di AWS Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-maintenance.html). 
+ **Documenta il processo:** documenta il tuo processo di valutazione di aggiornamenti e nuovi servizi. Fornisci ai proprietari il tempo e lo spazio necessari per ricercare, testare, sperimentare e convalidare aggiornamenti e nuovi servizi. Fate riferimento ai requisiti aziendali documentati e aiutateci KPIs a stabilire le priorità degli aggiornamenti che avranno un impatto positivo sull'azienda. 

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

 **Documenti correlati:** 
+  [Blog AWS](https://aws.amazon.com/blogs/) 
+  [Cosa c'è di nuovo con AWS](https://aws.amazon.com/new/?ref=wellarchitected) 
+ [Implementazione di up-to-date immagini con pipeline automatizzate di EC2 Image Builder](https://aws.amazon.com/blogs/compute/implementing-up-to-date-images-with-automated-ec2-image-builder-pipelines/)

 **Video correlati:** 
+ [AWS RE:InForce 2022 - Automatizzazione della gestione e della conformità delle patch utilizzando AWS](https://www.youtube.com/watch?v=gL3baXQJvc0)
+ [All Things Patch: \$1 Eventi AWS Systems ManagerAWS](https://www.youtube.com/watch?v=PhIiVsCEBu8)

 **Esempi correlati:** 
+ [ Inventory and Patch Management ](https://mng.workshop.aws/ssm/use-case-labs/inventory_patch_management.html)
+ [ One Observability Workshop ](https://catalog.workshops.aws/observability/en-US)

# PERF05-BP07 Analisi dei parametri a intervalli regolari
<a name="perf_process_culture_review_metrics"></a>

 Nell’ambito della manutenzione ordinaria o in risposta a eventi o incidenti, esamina i parametri raccolti. Stabilisci quali di questi parametri sono fondamentali per risolvere i problemi e quali altri parametri aggiuntivi, se monitorati, possono contribuire a identificare, affrontare o prevenire i problemi. 

 **Anti-pattern comuni:** 
+  Si lascia che i parametri rimangano in uno stato di allarme per un lungo periodo di tempo. 
+  Creazione di allarmi non utilizzabili da un sistema di automazione. 

 **Vantaggi dell’adozione di questa best practice:** esamina in modo continuo i parametri raccolti per verificare che identifichino, risolvano o prevengano adeguatamente i problemi. I parametri possono anche diventare obsoleti se lasciati in uno stato di allarme per un lungo periodo di tempo. 

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

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

 Migliora continuamente la raccolta e il monitoraggio dei parametri. Nell’ambito della risposta a incidenti ed eventi, valuta quali parametri sono stati utili per affrontare il problema e quali sarebbero stati utili ma non sono attualmente misurati. Questo metodo ti aiuterà a migliorare la qualità dei parametri raccolti, in modo da prevenire o risolvere in modo più rapido gli incidenti futuri. 

 Nell’ambito della risposta a incidenti ed eventi, valuta quali parametri sono stati utili per affrontare il problema e quali sarebbero stati utili ma non sono attualmente misurati. Queste considerazioni ti aiuteranno a migliorare la qualità dei parametri raccolti, così da prevenire o risolvere più rapidamente gli incidenti futuri. 

### Passaggi dell’implementazione
<a name="implementation-steps"></a>
+ **Definisci metriche:** stabilisci metriche in termini di prestazioni critiche da monitorare, allineate all’obiettivo del carico di lavoro, incluse metriche quali il tempo di risposta e l’utilizzo delle risorse.
+ **Stabilisci una base:** imposta un valore di base e auspicabile per ciascuna metrica. La base e deve fornire i punti di riferimento per identificare deviazioni o anomalie.
+ **Imposta una cadenza:** imposta una cadenza (ad esempio, settimanale o mensile) per rivedere le metriche più critiche. 
+ **Identifica i problemi di prestazioni:** durante ogni revisione, valuta tendenze e deviazione dai valori di base. Cerca eventuali colli di bottiglia o anomalie nelle prestazioni. Per i problemi identificati, esegui un’analisi approfondita delle cause principali per comprendere il motivo più importante alla base del problema.
+ **Individua le azioni correttive:** utilizza l’analisi per identificare le azioni correttive, come l’ottimizzazione dei parametri, la correzione di bug e il dimensionamento delle risorse.
+ **Documenta gli esiti:** documenta gli esiti, compresi i problemi identificati, le cause principali e le azioni correttive.
+ **Itera migliora:** valuta e migliora continuamente il processo di revisione delle metriche. Usa le indicazioni apprese dalla revisione precedente per migliorare il processo nel tempo.

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

 **Documenti correlati:** 
+  [CloudWatch Documentation](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
+  [Collect metrics and logs from Amazon EC2 Instances and on-premises servers with the CloudWatch Agent](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Install-CloudWatch-Agent.html?ref=wellarchitected) 
+ [ Query your metrics with CloudWatch Metrics Insights ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/query_with_cloudwatch-metrics-insights.html)
+  [Monitoraggio, registrazione di log e prestazioni: partner AWS Partner Network](https://aws.amazon.com/devops/partner-solutions/#_Monitoring.2C_Logging.2C_and_Performance) 
+  [Documentazione di X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 

 **Video correlati:** 
+  [AWS re:Invent 2022 - Setting up controls at scale in your AWS environment](https://www.youtube.com/watch?v=NkE9_okfPG8) 
+  [AWS re:Invent 2022 - How Amazon uses better metrics for improved website performance](https://www.youtube.com/watch?v=_uaaCiyJCFA&ab_channel=AWSEvents) 
+ [AWS re:Invent 2023 - Building an effective observability strategy ](https://www.youtube.com/watch?v=7PQv9eYCJW8)
+ [AWS Summit SF 2022 - Full-stack observability and application monitoring with AWS](https://www.youtube.com/watch?v=or7uFFyHIX0)
+ [AWS re:Invent 2023 - Take a load off: Diagnose & resolve performance issues with Amazon RDS ](https://www.youtube.com/watch?v=Ulj88e5Aqzg)

 **Esempi correlati:** 
+  [Creazione di un pannello di controllo con Quick](https://github.com/aws-samples/amazon-quicksight-sdk-proserve) 
+ [ CloudWatch Dashboards ](https://catalog.us-east-1.prod.workshops.aws/workshops/a8e9c6a6-0ba9-48a7-a90d-378a440ab8ba/en-US/300-cloudwatch/340-cloudwatch-dashboards)