

# OPS 4 In che modo progetti il carico di lavoro al fine di comprenderne lo stato?
<a name="ops-04"></a>

 Progetta il tuo carico di lavoro in modo da ottenere le informazioni necessarie tra i componenti (ad esempio, parametri, log e tracce) per comprenderne lo stato interno. Ciò ti consente di fornire risposte efficaci in base alle esigenze. 

**Topics**
+ [OPS04-BP01 Implementazione della telemetria dell'applicazione](ops_telemetry_application_telemetry.md)
+ [OPS04-BP02 Implementazione e configurazione della telemetria del carico di lavoro](ops_telemetry_workload_telemetry.md)
+ [OPS04-BP03 Implementazione della telemetria dell'attività degli utenti](ops_telemetry_customer_telemetry.md)
+ [OPS04-BP04 Implementazione della telemetria delle dipendenze](ops_telemetry_dependency_telemetry.md)
+ [OPS04-BP05 Implementazione della tracciabilità delle transazioni](ops_telemetry_dist_trace.md)

# OPS04-BP01 Implementazione della telemetria dell'applicazione
<a name="ops_telemetry_application_telemetry"></a>

 La telemetria dell'applicazione è la base su cui si fonda l'osservabilità del carico di lavoro. L'applicazione deve trasmettere una telemetria in grado di fornire approfondimenti sullo stato dell'applicazione stessa e sul raggiungimento dei risultati aziendali. Dalla risoluzione dei problemi alla misurazione dell'impatto di una nuova funzionalità, la telemetria dell'applicazione garantisce informazioni su cui basare la creazione, il funzionamento e l'evoluzione del carico di lavoro. 

 La telemetria dell'applicazione è costituita da parametri e registri. I parametri sono informazioni diagnostiche, ad esempio il polso o la temperatura, e vengono impiegati in maniera collettiva per descrivere lo stato dell'applicazione. La loro raccolta nel tempo può servire per sviluppare indicatori di riferimento e rilevare anomalie. I registri sono messaggi inviati dall'applicazione in merito al suo stato interno o a eventi che si verificano. Sono esempi di eventi registrati i codici di errore, gli identificatori di transazione e le azioni dell'utente. 

 **Risultato desiderato:** 
+  L'applicazione trasmette parametri e registri che forniscono informazioni in merito alla sua integrità e al raggiungimento dei risultati aziendali. 
+  I parametri e i registri sono archiviati centralmente per tutte le applicazioni del carico di lavoro. 

 **Anti-pattern comuni:** 
+  L'applicazione non emette telemetria. Sei costretto a fare affidamento sui tuoi clienti per informarti quando c'è qualcosa che non va. 
+  Un cliente ha segnalato che la tua applicazione non risponde. Non disponi di una telemetria e non sei in grado di confermare l'effettiva esistenza del problema o definirlo senza utilizzare l'applicazione per comprendere l'attuale esperienza utente. 

 **Vantaggi dell'adozione di questa best practice:** 
+  Possibilità di conoscere lo stato di integrità dell'applicazione, l'esperienza utente e di sapere se i risultati aziendali sono stati raggiunti. 
+  Possibilità di reagire rapidamente alle modifiche dello stato di integrità dell'applicazione. 
+  Possibilità di sviluppare tendenze in merito allo stato di integrità dell'applicazione. 
+  Possibilità di prendere decisioni più informate sul miglioramento dell'applicazione. 
+  Possibilità di rilevare e risolvere più rapidamente eventuali problemi con l'applicazione. 

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

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

 Per implementare l'applicazione della telemetria sono necessari tre passaggi: identificare una posizione in cui archiviare la telemetria, identificare una telemetria che descriva lo stato dell'applicazione e dotare l'applicazione degli strumenti per trasmettere la telemetria. 

 **Esempio del cliente** 

AnyCompany Retail ha un'architettura basata sui microservizi. Nell'ambito dell'iter progettuale dell'architettura, l'azienda identifica una telemetria dell'applicazione utile per capire lo stato di ciascun microservizio. Ad esempio, il servizio legato al carrello dell'utente trasmette una telemetria relativa a eventi come l'aggiunta al carrello, l'abbandono del carrello e il tempo che è servito per aggiungere un articolo al carrello. Per tutti i microservizi è prevista la registrazione di errori, avvisi e informazioni sulle transazioni. La telemetria viene inviata a Amazon CloudWatch per l'archiviazione e l'analisi. 

 **Passaggi dell'implementazione** 

1.  Il primo passaggio consiste nell'identificare una posizione centrale in cui archiviare la telemetria per le applicazioni del carico di lavoro. Il punto scelto deve supportare sia la raccolta della telemetria che le capacità di analisi. Il rilevamento delle anomalie e gli approfondimenti automatici sono caratteristiche consigliate. 

   1.  [Amazon CloudWatch](https://aws.amazon.com/cloudwatch) può garantire la raccolta della telemetria, dashboard, analisi e funzionalità di generazione di eventi. 

1.  Per identificare la telemetria necessaria per le tue esigenze, inizia rispondendo a questa domanda: qual è lo stato della mia applicazione? L'applicazione deve emettere metriche e registri in grado di rispondere in modo collettivo a queste domande. Se non è possibile rispondere con la telemetria dell'applicazione esistente, si potrà lavorare con le figure che si occupano di business e di progettazione per creare un elenco di requisiti di telemetria. 

   1.  Nel corso dell'identificazione e dello sviluppo di una nuova telemetria per l'applicazione, è possibile chiedere una consulenza tecnica agli esperti del team Account AWS. 

1.  Una volta identificata la soluzione di telemetria da aggiungere, si potrà lavorare con le figure che si occupano della progettazione per dotare l'applicazione degli strumenti necessari. 

   1.  [AWS Distro for Open Telemetry](https://aws-otel.github.io/) fornisce API, librerie e agenti per la raccolta della telemetria dell'applicazione. [Questo esempio mostra come dotare un'applicazione JavaScript di parametri personalizzati](https://aws-otel.github.io/docs/getting-started/js-sdk/metric-manual-instr). 

   1.  Se vuoi conoscere i servizi di osservabilità offerti da AWS, partecipa al [One Observability Workshop](https://catalog.workshops.aws/observability/en-US) o richiedi assistenza al nostro team Account AWS. 

   1.  Per maggiori approfondimenti sulla telemetria dell'applicazione leggi l'articolo [Strumentazione dei sistemi distribuiti per la visibilità operativa](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) nella libreria di Amazon Builder, che spiega come Amazon esegua la strumentazione delle applicazioni e può servire come guida per lo sviluppo delle tue linee guida di strumentazione. 

 **Livello di impegno per il piano di implementazione:** alto La strumentazione dell'applicazione e la centralizzazione dell'archiviazione della telemetria possono richiedere investimenti significativi. 

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

 **Best practice correlate:** 

[OPS04-BP02 Implementazione e configurazione della telemetria del carico di lavoro](ops_telemetry_workload_telemetry.md) - La telemetria dell'applicazione è un componente della telemetria del carico di lavoro. Per conoscere l'integrità del carico di lavoro in generale è necessario conoscere l'integrità delle singole applicazioni che lo compongono. 

[OPS04-BP03 Implementazione della telemetria dell'attività degli utenti](ops_telemetry_customer_telemetry.md) - La telemetria dell'attività utente è spesso un sottoinsieme della telemetria dell'applicazione. L'attività utente, ad esempio eventi di aggiunta al carrello, flussi di clic o transazioni completate, fornisce informazioni dettagliate sull'esperienza utente. 

[OPS04-BP04 Implementazione della telemetria delle dipendenze](ops_telemetry_dependency_telemetry.md) - I controlli di dipendenza sono correlati alla telemetria dell'applicazione e possono essere inclusi nella propria applicazione. Se quest'ultima si appoggia a dipendenze esterne, ad esempio DNS o un database, può trasmettere parametri e registri riguardanti la reperibilità, i timeout e altri eventi. 

[OPS04-BP05 Implementazione della tracciabilità delle transazioni](ops_telemetry_dist_trace.md) - Il tracciamento delle transazioni in un carico di lavoro richiede che ogni applicazione trasmetta informazioni sulle modalità con cui elabora gli eventi condivisi. Il modo in cui le singole applicazioni gestiscono questi eventi viene trasmesso tramite la relativa telemetria dell'applicazione. 

[OPS08-BP02 Definizione delle metriche del carico di lavoro](ops_workload_health_design_workload_metrics.md) - I parametri del carico di lavoro sono gli indicatori chiave del suo stato di integrità. I parametri chiave dell'applicazione fanno parte dei parametri del carico di lavoro. 

 **Documenti correlati:** 
+  [AWS Builders Library: strumentazione di sistemi distribuiti per visibilità operativa](https://aws.amazon.com/builders-library/instrumenting-distributed-systems-for-operational-visibility/) 
+  [AWS Distro for OpenTelemetry](https://aws-otel.github.io/) 
+  [Whitepaper sull'eccellenza operativa AWS Well-Architected - progettazione della telemetria](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/design-telemetry.html) 
+  [Creazione di parametri da registro eventi mediante filtri](https://docs.aws.amazon.com/Amazon/latest/logs/MonitoringLogData.html) 
+  [Implementazione di registrazione e monitoraggio con Amazon CloudWatch](https://docs.aws.amazon.com/prescriptive-guidance/latest/implementing-logging-monitoring-cloudwatch/welcome.html) 
+  [Monitoraggio dell'integrità e delle prestazioni dell'applicazione con AWS Distro for OpenTelemetry](https://aws.amazon.com/blogs/opensource/monitoring-application-health-and-performance-with-aws-distro-for-opentelemetry/) 
+  [Novità – Come monitorare meglio i parametri personalizzati di un'applicazione con Amazon CloudWatch Agent](https://aws.amazon.com/blogs/devops/new-how-to-better-monitor-your-custom-application-metrics-using-amazon-cloudwatch-agent/) 
+  [Osservabilità in AWS](https://aws.amazon.com/products/management-and-governance/use-cases/monitoring-and-observability/) 
+  [Scenario: pubblicazione di parametri su CloudWatch](https://docs.aws.amazon.com/Amazon/latest/monitoring/PublishMetrics.html) 
+  [Inizia a creare - Come monitorare le applicazioni in modo efficace](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/) 
+  [Utilizzo di CloudWatch con un SDK AWS](https://docs.aws.amazon.com/Amazon/latest/monitoring/sdk-general-information-section.html) 

 **Video correlati:** 
+  [AWS re:Invent 2021 - L'osservabilità con l'open-source](https://www.youtube.com/watch?v=vAnIhIwE5hY) 
+  [Raccolta di metriche e registri da istanze Amazon EC2 con CloudWatch Agent](https://www.youtube.com/watch?v=vAnIhIwE5hY) 
+  [Come configurare facilmente il monitoraggio dell'applicazione per i carichi di lavoro AWS - AWS Online Tech Talks](https://www.youtube.com/watch?v=LKCth30RqnA) 
+  [Controllare l'osservabilità delle applicazioni serverless - AWS Online Tech Talks](https://www.youtube.com/watch?v=CtsiXhiAUq8) 
+  [Osservabilità open-source con AWS - AWS Virtual Workshop](https://www.youtube.com/watch?v=vAnIhIwE5hY) 

 **Esempi correlati:** 
+  [Risorse di esempio per registrazione e monitoraggio AWS](https://github.com/aws-samples/logging-monitoring-apg-guide-examples) 
+  [AWS Soluzione: Amazon CloudWatch Monitoring Framework](https://aws.amazon.com/solutions/implementations/amazon-cloudwatch-monitoring-framework/?did=sl_card&trk=sl_card) 
+  [AWS Soluzione: registrazione centralizzata](https://aws.amazon.com/solutions/implementations/centralized-logging/) 
+  [One Observability Workshop](https://catalog.workshops.aws/observability/en-US) 

 **Servizi correlati:** 
+ [ Amazon CloudWatch ](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html)

# OPS04-BP02 Implementazione e configurazione della telemetria del carico di lavoro
<a name="ops_telemetry_workload_telemetry"></a>

 Progetta e configura il carico di lavoro affinché fornisca informazioni sul suo stato interno e sullo stato corrente, ad esempio volume delle chiamate API, codici di stato HTTP ed eventi di scalabilità. Utilizza queste informazioni per determinare quando è necessaria una risposta. 

 Puoi avvalerti di un servizio come [Amazon CloudWatch](https://aws.amazon.com/cloudwatch/) per aggregare log e parametri da componenti del carico di lavoro (ad esempio, log API da [AWS CloudTrail](https://aws.amazon.com/cloudtrail/), [parametri AWS Lambda](https://docs.aws.amazon.com/lambda/latest/dg/lambda-monitoring.html), [Registri di flusso Amazon VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html)e [altri servizi](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/aws-services-sending-logs.html)). 

 **Anti-pattern comuni:** 
+  I tuoi clienti lamentano prestazioni scarse. Non sono presenti modifiche recenti all'applicazione, pertanto sospetti un problema con un componente del carico di lavoro. Non disponi della telemetria per analizzare e determinare quali componenti contribuiscono a rendere scarse le prestazioni. 
+  L'applicazione non è raggiungibile. In mancanza di telemetria, non puoi determinare se si tratta di un problema di rete. 

 **Vantaggi dell'adozione di questa best practice:** Comprendere cosa succede all'interno del carico di lavoro ti consente di rispondere, se necessario. 

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

## Guida all'implementazione
<a name="implementation-guidance"></a>
+  Implementazione della telemetria per registri e parametri: dota il carico di lavoro degli strumenti per fornire informazioni sullo stato interno, sullo stato e sul raggiungimento dei risultati aziendali. Utilizza queste informazioni per stabilire quando è necessaria una risposta. 
  +  [Migliorare la capacità di osservazione delle VM con Amazon CloudWatch - AWS Online Tech Talks](https://youtu.be/1Ck_me4azMw) 
  +  [Come funziona Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
  +  [Che cos'è Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 
  +  [Utilizzare i parametri Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
  +  [Che cos'è Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
    +  Implementazione della telemetria per registri e parametri: progetta e configura il carico di lavoro affinché fornisca informazioni sul suo stato interno e sullo stato corrente, ad esempio volume delle chiamate API, codici di stato HTTP ed eventi di scalabilità. 
      +  [Documentazione di riferimento su parametri e dimensioni di Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
      +  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
      +  [Che cos'è AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
      +  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 

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

 **Documenti correlati:** 
+  [AWS CloudTrail](https://aws.amazon.com/cloudtrail/) 
+  [Documentazione su Amazon CloudWatch](https://docs.aws.amazon.com/cloudwatch/index.html) 
+  [Documentazione di riferimento su parametri e dimensioni di Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CW_Support_For_AWS.html) 
+  [Come funziona Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_architecture.html) 
+  [Utilizzare i parametri Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/working_with_metrics.html) 
+  [Log di flusso VPC](https://docs.aws.amazon.com/vpc/latest/userguide/flow-logs.html) 
+  [Che cos'è AWS CloudTrail?](https://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-user-guide.html) 
+  [Che cos'è Amazon CloudWatch Logs?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/WhatIsCloudWatchLogs.html) 
+  [Che cos'è Amazon CloudWatch?](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/WhatIsCloudWatch.html) 

 **Video correlati:** 
+  [Application Performance Management on AWS (Gestione delle prestazioni delle applicazioni su AWS)](https://www.youtube.com/watch?v=5T4stR-HFas) 
+  [Migliorare la capacità di osservazione delle VM con Amazon CloudWatch](https://youtu.be/1Ck_me4azMw) 
+  [Migliorare la capacità di osservazione delle VM con Amazon CloudWatch - AWS Online Tech Talks](https://youtu.be/1Ck_me4azMw) 

# OPS04-BP03 Implementazione della telemetria dell'attività degli utenti
<a name="ops_telemetry_customer_telemetry"></a>

Implementa il codice dell'applicazione affinché fornisca informazioni sull'attività utente, Tra gli esempi di attività utente figurano i flussi di clic o le transazioni avviate, abbandonate e completate. Utilizza queste informazioni per comprendere come viene utilizzata l'applicazione, i modelli di utilizzo e per stabilire quando è necessaria una risposta. Acquisendo le attività reali degli utenti puoi sviluppare un'attività sintetica da utilizzare per monitorare e testare il tuo carico di lavoro in produzione.

 **Risultato desiderato:** 
+  Il tuo carico di lavoro emette telemetria sulle attività dell'utente in tutte le applicazioni. 
+  Sfrutti attività utente sintetiche per monitorare la tua applicazione durante le ore non di punta. 

 **Anti-pattern comuni:** 
+ Gli sviluppatori hanno distribuito una nuova funzionalità senza telemetria degli utenti. Non puoi stabilire se i clienti utilizzano la funzionalità senza contattarli. 
+ Dopo un'implementazione nell'applicazione di front-end, noti un aumento dell'utilizzo. Poiché non hai la telemetria dell'attività utente, è difficile identificare il problema esatto.
+  Nella tua applicazione si verifica un problema durante le ore non di punta. Non noti il problema fino alla mattina successiva, quando i tuoi utenti sono online, poiché non hai configurato l'attività utente sintetica. 

 **Vantaggi dell'adozione di questa best practice:** 
+  Comprendere modelli utente comuni o comportamenti inaspettati per ottimizzare le funzionalità dell'applicazione e raggiungere gli obiettivi aziendali. 
+  Monitorare l'applicazione dal punto di vista dei dipendenti per rilevare problemi con l'esperienza utente, come collegamenti interrotti o risposte lente ai clic. 
+  Identificare la causa principale dei problemi ripercorrendo i passaggi effettuati dall'utente coinvolto. 
+  Le attività sintetiche dell'utente possono offrire in anticipo segnali di degradazione delle performance durante le ore non di punta, consentendoti così di intraprendere azioni correttive prima che gli utenti reali siano coinvolti. 

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

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

 Progetta il codice dell'applicazione affinché fornisca informazioni sull'attività degli utenti, Utilizza queste informazioni per comprendere come viene utilizzata l'applicazione, i modelli di utilizzo e per stabilire quando è necessaria una risposta. Utilizza le attività utente sintetiche per fornire informazioni dettagliate sulle performance delle applicazioni durante le ore non di punta. 

 **Esempio del cliente** 

 AnyCompany Retail implementa la telemetria sull'attività utente a diversi livelli dell'applicazione. La telemetria del front-end traccia eventi di movimento e del puntatore, mentre i microservizi di backend emettono eventi di monitoraggio della telemetria, come aggiungere un articolo al carrello dell'utente ed eseguire il check-out. Insieme, offrono visibilità sull'esperienza dell'utente. AnyCompany Retail usa anche la telemetria utente sintetica per evidenziare i problemi quando ci sono meno utenti sul carico di lavoro. 

 **Passaggi dell'implementazione** 

1.  Fai in modo che la tua applicazione sia in grado di emettere la telemetria (metriche, eventi, log e tracce) sull'attività utente. Dopo l'implementazione, i componenti del front-end emettono la telemetria in automatico, mentre l'utente interagisce con l'interfaccia utente. Le applicazioni di backend emettono la telemetria su eventi e transazioni dell'utente. 

   1.  [Amazon CloudWatch RUM](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch-RUM.html) può fornire informazioni approfondite sull'esperienza utente per le applicazioni di front-end. 

   1.  Puoi usare [AWS Distro for Open Telemetry](https://aws-otel.github.io/) per implementare e acquisire dati di telemetria dalle tue applicazioni. 

   1.  [Amazon Pinpoint](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html) può analizzare il comportamento degli utenti tramite le campagne, fornendo informazioni approfondite sull'interazione degli utenti. 

   1.  I clienti con il piano di supporto Enterprise possono richiedere il [Workshop Creare una strategia di monitoraggio](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) al proprio Technical Account Manager. Questo workshop aiuta a sviluppare una strategia di visibilità per il tuo carico di lavoro. 

1.  Definisci l'attività utente sintetica per monitorare la tua applicazione. L'attività utente sintetica simula le azioni dell'utente per confermare che la tua applicazione sta funzionando correttamente. 

   1.  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) può simulare l'attività utente tramite i canary. 

 **Livello di impegno per il piano di implementazione:** alto Consentire alla tua applicazione di raccogliere i dati di telemetria sull'attività utente può richiedere un impegno di sviluppo significativo. 

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

 **Best practice correlate:** 
+  [OPS04-BP01 Implementazione della telemetria dell'applicazione](ops_telemetry_application_telemetry.md) - La telemetria delle applicazioni è necessaria per integrare la telemetria relativa all'attività utente. 
+  [OPS04-BP02 Implementazione e configurazione della telemetria del carico di lavoro](ops_telemetry_workload_telemetry.md) - Alcuni dati di telemetria dell'attività utente possono anche essere considerati come telemetria del carico di lavoro. 

 **Documenti correlati:** 
+ [Come monitorare le applicazioni in modo efficace](https://aws.amazon.com/startups/start-building/how-to-monitor-applications/)

 **Video correlati:** 
+ [AWS re:Invent 2020: Monitorare i servizi di produzione in Amazon ](https://www.youtube.com/watch?v=hnPcf_Czbvw)
+ [AWS re:Invent 2021 - Ottimizzare le applicazioni con gli approfondimenti degli utenti finali con Amazon CloudWatch RUM ](https://www.youtube.com/watch?v=NMaeujY9A9Y)
+ [ Testare e monitorare le API su AWS - AWS Online Tech Talks ](https://www.youtube.com/watch?v=VQM38CZyjFY)

 **Esempi correlati:** 
+ [ Amazon CloudWatch RUM Web Client ](https://github.com/aws-observability/aws-rum-web)
+ [AWS Distro for Open Telemetry ](https://aws-otel.github.io/)
+ [ Implementare il monitoraggio dell'utente reale dell'applicazione Amplify tramite Amazon CloudWatch RUM ](https://aws.amazon.com/blogs/mobile/implementing-real-user-monitoring-of-amplify-application-using-amazon-cloudwatch-rum/)
+ [One Observability Workshop](https://catalog.workshops.aws/observability/en-US/intro)

 **Servizi 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)
+ [ Amazon Pinpoint ](https://docs.aws.amazon.com/pinpoint/latest/developerguide/welcome.html)

# OPS04-BP04 Implementazione della telemetria delle dipendenze
<a name="ops_telemetry_dependency_telemetry"></a>

Progetta e configura il carico di lavoro affinché fornisca informazioni sullo stato delle risorse da cui dipende. Si tratta di risorse esterne rispetto al tuo carico di lavoro. Esempi di dipendenze esterne possono includere database esterni, DNS e connettività di rete. Usa queste informazioni per stabilire quando è richiesta una risposta e offri un contesto aggiuntivo sullo stato del carico di lavoro.

 **Risultato desiderato:** 
+  Il tuo carico di lavoro emetta dati di telemetria sullo stato delle dipendenze esterne. 
+  Ricevi una notifica quando le dipendenze non sono integre. 

 **Anti-pattern comuni:** 
+ Gli utenti non riescono a raggiungere il tuo sito. Non è possibile determinare se il motivo è un problema DNS senza eseguire manualmente un controllo per verificare se il provider DNS funziona. 
+ L'applicazione correlata al carrello non è in grado di completare le transazioni. Non sei in grado di determinare se si tratta di un problema con il provider di elaborazione della carta di credito senza contattarlo per verificarlo. 

 **Vantaggi dell'adozione di questa best practice:** 
+  Il monitoraggio delle dipendenze esterne offre notifiche in anticipo dei problemi. 
+  La conoscenza dello stato di integrità delle tue dipendenze ti supporta nella risoluzione dei problemi. 

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

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

 Collabora con le parti interessate per identificare le dipendenze esterne da cui dipende il tuo carico di lavoro. Le dipendenze esterne possono includere database esterni, API o connettività di rete tra il carico di lavoro e le risorse in altri ambienti. Sviluppa una strategia di monitoraggio per offrire informazioni sullo stato di integrità delle dipendenze e invia allarmi in modo proattivo nel caso si verifichi un cambiamento allo stato. 

 **Esempio del cliente** 

 Il carico di lavoro dell'e-commerce di AnyCompany Retail si affida a un database che si trova in un altro ambiente. Ogni notte, i dati vengono popolati nel database per l'uso con la piattaforma di e-commerce. La connettività di rete e il supporto al database sono di competenza di altri team. Il team di e-commerce ha configurato diversi allarmi canary per ricevere avvisi in caso di problemi di connettività della rete, se il database non è raggiungibile e quando il processo non viene completato. 

 **Passaggi dell'implementazione** 

1.  identifica le dipendenze esterne a cui si affida il tuo carico di lavoro. Implementa la telemetria per monitorare l'integrità o la reperibilità delle dipendenze. 

   1.  I clienti AWS possono usare [Dashboard AWS Health](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html) per monitorare l'integrità dei servizi AWS e ricevere notifiche sugli eventi correlati. 

   1.  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) può essere utilizzato per monitorare API, URL e contenuti del sito Web. 

1.  Configura gli allarmi per avvisare la tua organizzazione quando una dipendenza non è raggiungibile o è in uno stato non integro. 

   1.  I clienti con il piano di supporto Enterprise possono richiedere il [Workshop Creare una strategia di monitoraggio](https://aws.amazon.com/premiumsupport/technology-and-programs/proactive-services/) al proprio Technical Account Manager. Questo workshop aiuta a sviluppare una strategia di visibilità per il tuo carico di lavoro. 

1.  Identifica i contatti delle dipendenze per i casi in cui la dipendenza non è integra. Documenta come contattare il proprietario della dipendenza, gli accordi per l'assistenza e il processo di escalation. 

 **Livello di impegno per il piano di implementazione:** Medio. L'implementazione della telemetria delle dipendenze potrebbe richiedere lo sviluppo di soluzioni di monitoraggio personalizzate. 

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

 **Best practice correlate:** 
+  [OPS04-BP01 Implementazione della telemetria dell'applicazione](ops_telemetry_application_telemetry.md) - Puoi sviluppare il monitoraggio delle dipendenze nella telemetria delle applicazioni. 

 **Documenti correlati:** 
+ [ Monitora i tuoi endpoint interni privati 24 ore su 24, 7 giorni su 7 con CloudWatch Synthetics ](https://aws.amazon.com/blogs/mt/monitor-your-private-endpoints-using-cloudwatch-synthetics/)

 **Video correlati:** 
+ [AWS re:Invent 2018: Monitora ogni aspetto: Amazon CloudWatch in azione con BBC ](https://www.youtube.com/watch?v=uuBuc6OAcVY)
+ [AWS re:Invent 2022 - Sviluppare una strategia di visibilità ](https://www.youtube.com/watch?v=Ub3ATriFapQ)
+ [AWS re:Invent 2022 - Best practice di visibilità in Amazon ](https://www.youtube.com/watch?v=zZPzXEBW4P8)

 **Esempi correlati:** 
+ [One Observability Workshop](https://catalog.workshops.aws/observability/en-US/intro)
+ [ Well-Architected Labs - Monitoraggio delle dipendenze ](https://www.wellarchitectedlabs.com/operational-excellence/100_labs/100_dependency_monitoring/)

 **Servizi correlati:** 
+  [Amazon CloudWatch Synthetics](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries.html) 
+ [AWS Health](https://docs.aws.amazon.com/health/latest/ug/what-is-aws-health.html)

# OPS04-BP05 Implementazione della tracciabilità delle transazioni
<a name="ops_telemetry_dist_trace"></a>

Implementa il codice dell'applicazione e configura i componenti del carico di lavoro per l'emissione di eventi, che vengono attivati come conseguenza di singole operazioni logiche e quindi consolidati attraverso diversi limiti del carico di lavoro. Genera mappe per osservare il flusso delle tracce tra il carico di lavoro e i servizi. Ottieni informazioni dettagliate sulle relazioni tra componenti e identifica e analizza i problemi. Usa le informazioni raccolte per determinare quando è necessaria una risposta e come aiuto per identificare i fattori che contribuiscono a un problema. 

 **Risultato desiderato:** 
+  Raccolta di tracce delle transazioni nel carico di lavoro per ottenere informazioni dettagliate sulla relazione tra componenti. 
+  Generazione di mappe per comprendere meglio il flusso di transazioni ed eventi nel carico di lavoro. 

 **Anti-pattern comuni:** 
+  Implementazione di un'architettura di microservizi serverless che si estende su più account. I clienti riscontrano problemi di prestazioni intermittenti. Non riesci a identificare la funzione o il componente responsabile a causa della mancata tracciabilità delle transazioni. 
+ Presenza di un collo di bottiglia nel carico di lavoro. A causa della mancanza di tracciabilità delle transazioni, non riesci a determinare la relazione tra i componenti dell'applicazione e a identificare il collo di bottiglia.
+  L'identificatore usato per le tracce non è univoco a livello globale e causa una collisione delle tracce durante l'analisi del comportamento del carico di lavoro. 

 **Vantaggi dell'adozione di questa best practice:** 
+  La comprensione del flusso delle transazioni nel carico di lavoro fornisce informazioni dettagliate sul comportamento previsto delle transazioni. 
+  Puoi osservare le variazioni rispetto al comportamento previsto nel carico di lavoro e rispondere, se necessario. 
+  Puoi individuare le transazioni in base al rispettivo identificatore univoco, indipendentemente da dove sono state generate. 

 **Livello di rischio associato alla mancata adozione di questa best practice:** basso 

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

 Progetta l'applicazione e il carico di lavoro affinché forniscano informazioni sul flusso delle transazioni nei componenti del sistema, I dati da includere nelle transazioni sono un identificatore di transazione univoco a livello globale, la fase della transazione, il componente attivo e il tempo necessario per completare l'attività. Utilizza queste informazioni per determinare cosa è in corso, cosa è completato e i risultati delle attività completate. 

 **Esempio del cliente** 

 Presso AnyCompany Retail tutte le transazioni sono associate a un UUID univoco a livello globale. Questo UUID viene passato tra microservizi durante le transazioni. L'UUID viene usato per creare tracce delle transazioni man mano che gli utenti interagiscono con il carico di lavoro. Con le tracce viene generata una mappa della topologia del carico di lavoro, che viene usata per risolvere i problemi del carico di lavoro e migliorare le prestazioni. 

 **Passaggi dell'implementazione** 

1.  Esegui la strumentazione delle applicazioni nel carico di lavoro per emettere tracce delle transazioni. A questo scopo, puoi generare un identificatore univoco per ogni transazione e passarlo tra applicazioni. 

   1.  Puoi usare la strumentazione automatica in [AWS Distro per OpenTelemetry](https://aws-otel.github.io/) per implementare tracce nelle applicazioni esistenti senza modificarne il codice. 

1.  Genera mappe per la topologia delle applicazioni. Usa le mappe per migliorare le prestazioni, ottenere informazioni dettagliate e semplificare la risoluzione dei problemi. 

   1.  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) può generare mappe delle applicazioni nel carico di lavoro. 

 **Livello di impegno per il piano di implementazione:** medio. L'implementazione di tracce delle transazioni può richiedere un impegno moderato per lo sviluppo. 

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

 **Best practice correlate:** 
+  [OPS04-BP01 Implementazione della telemetria dell'applicazione](ops_telemetry_application_telemetry.md) – La telemetria delle applicazioni controlla la tracciabilità e la gestione delle transazioni e deve essere implementata per prima. 

 **Documenti correlati:** 
+ [ Individuazione dei problemi delle applicazioni e ricezione di notifiche con AWS X-Ray Insights ](https://aws.amazon.com/blogs/mt/discover-application-issues-get-notifications-aws-x-ray-insights/)
+ [ Wealthfront utilizza AWS X-Ray per l'analisi e il debug delle applicazioni distribuite ](https://aws.amazon.com/blogs/mt/wealthfront-utilizes-aws-x-ray-analyze-debug-distributed-applications/)
+ [ Nuova funzionalità per AWS Distro per OpenTelemetry: disponibilità a livello generale del supporto per le tracce ](https://aws.amazon.com/blogs/aws/new-for-aws-distro-for-opentelemetry-tracing-support-is-now-generally-available/)

 **Video correlati:** 
+ [AWS re:Invent 2018: Approfondimento di AWS X-Ray: monitoraggio di applicazioni moderne (DEV324) ](https://www.youtube.com/watch?v=5MQkX57eTh8)
+ [AWS re:Invent 2022: Creazione di applicazioni osservabili con OpenTelemetry (BOA310) ](https://www.youtube.com/watch?v=efk8XFJrW2c)
+ [AWS re:Invent 2022: Visibilità con il modello open source (COP301-R) ](https://www.youtube.com/watch?v=2IJPpdp9xU0)
+ [ Acquisizione di dati di traccia con AWS Distro per OpenTelemetry ](https://www.youtube.com/watch?v=837NtV0McOA)
+ [ Ottimizzazione delle prestazioni delle applicazioni con AWS X-Ray](https://www.youtube.com/watch?v=5lIdNrrO_o8)

 **Esempi correlati:** 
+ [AWS X-Ray Multi API Gateway Tracing Example ](https://github.com/aws-samples/aws-xray-multi-api-gateway-tracing-example)

 **Servizi correlati:** 
+  [AWS Distro per OpenTelemetry](https://aws-otel.github.io/) 
+  [AWS X-Ray](https://docs.aws.amazon.com/xray/latest/devguide/aws-xray.html) 