OPS04-BP05 Implementazione della tracciabilità delle transazioni
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
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
-
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.
-
Puoi usare la strumentazione automatica in AWS Distro per OpenTelemetry
per implementare tracce nelle applicazioni esistenti senza modificarne il codice.
-
-
Genera mappe per la topologia delle applicazioni. Usa le mappe per migliorare le prestazioni, ottenere informazioni dettagliate e semplificare la risoluzione dei problemi.
-
AWS X-Ray 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
Best practice correlate:
-
OPS04-BP01 Implementazione della telemetria dell'applicazione – La telemetria delle applicazioni controlla la tracciabilità e la gestione delle transazioni e deve essere implementata per prima.
Documenti correlati:
Video correlati:
-
AWS re:Invent 2018: Approfondimento di AWS X-Ray: monitoraggio di applicazioni moderne (DEV324)
-
AWS re:Invent 2022: Creazione di applicazioni osservabili con OpenTelemetry (BOA310)
-
AWS re:Invent 2022: Visibilità con il modello open source (COP301-R)
-
Acquisizione di dati di traccia con AWS Distro per OpenTelemetry
-
Ottimizzazione delle prestazioni delle applicazioni con AWS X-Ray
Esempi correlati:
Servizi correlati: