OPS04-BP05 Implementazione del tracciamento distribuito - Pilastro dell'eccellenza operativa

OPS04-BP05 Implementazione del tracciamento distribuito

Il tracciamento distribuito offre un modo per monitorare e visualizzare le richieste mentre attraversano vari componenti di un sistema distribuito. Acquisendo i dati di tracciamento da più fonti e analizzandoli in una vista unificata, i team possono comprendere meglio il flusso delle richieste, in quali punti sono presenti colli di bottiglia e dove devono concentrare gli sforzi di ottimizzazione.

Risultato desiderato: una visione olistica del flusso delle richieste nel tuo sistema distribuito, che ti permette di ottenere un debug preciso, prestazioni ottimizzate e migliori esperienze utente.

Anti-pattern comuni:

  • Strumentazione incoerente: non tutti i servizi in un sistema distribuito sono dotati di strumentazione per il monitoraggio.

  • Ignorare la latenza: concentrarsi solo sugli errori e non considerare la latenza o il graduale deterioramento delle prestazioni.

Vantaggi dell'adozione di questa best practice:

  • Panoramica completa del sistema: visualizzazione dell'intero percorso delle richieste, dall'ingresso all'uscita.

  • Debug avanzato: identificazione rapida dei punti in cui si verificano guasti o problemi di prestazioni.

  • Esperienza utente migliorata: monitoraggio e ottimizzazione in base ai dati effettivi dell'utente, garantendo che il sistema soddisfi le esigenze del mondo reale.

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

Guida all'implementazione

Inizia identificando tutti gli elementi del carico di lavoro che richiedono strumentazione. Una volta presi in considerazione tutti i componenti, sfrutta strumenti come AWS X-Ray e OpenTelemetry per raccogliere dati di tracciamento da analizzare con strumenti come X-Ray e Amazon CloudWatch ServiceLens Map. Effettua revisioni periodiche insieme agli sviluppatori e integra queste discussioni con strumenti come Amazon DevOps Guru, X-Ray Analytics e X-Ray Insights per ottenere esiti più approfonditi. Imposta avvisi basati sui dati di tracciamento per notificare quando i risultati sono a rischio, come definito nel piano di monitoraggio del carico di lavoro.

Passaggi dell'implementazione

Per implementare il tracciamento distribuito in modo efficace:

  1. Adotta AWS X-Ray: implementa X-Ray nella tua applicazione per ottenere informazioni dettagliate sul suo comportamento, comprenderne le prestazioni e individuare i punti critici. Utilizza X-Ray Insights per l'analisi automatica dei tracciamenti.

  2. Dota i tuoi servizi di strumenti: verifica che ogni servizio, dalle funzioni AWS Lambda alle istanze EC2, siano in grado di inviare dati del tracciamento. Più servizi doti di strumentazione, più chiara sarà la visione end-to-end.

  3. Inserisci il monitoraggio degli utenti reali tramite CloudWatch e il monitoraggio sintetico: integra il monitoraggio degli utenti reali (RUM) e quello sintetico con X-Ray. Ciò ti consente di acquisire esperienze utenti del mondo reale e simulare le interazioni degli utenti per identificare potenziali problemi.

  4. Usa l'agente CloudWatch: l'agente può inviare tracce da X-Ray o da OpenTelemetry, permettendoti di raccogliere informazioni più approfondite.

  5. Utilizza Amazon DevOps Guru: DevOps Guru sfrutta i dati provenienti da X-Ray, CloudWatch, AWS Config e AWS CloudTrail per fornire consigli fruibili.

  6. Analizza le tracce: esamina regolarmente i dati di tracciamento per individuare schemi, anomalie o colli di bottiglia che possono influire sulle prestazioni dell'applicazione.

  7. Imposta avvisi: configura allarmi in CloudWatch in caso di modelli insoliti o latenze estese, così da agevolare una risoluzione proattiva dei problemi.

  8. Miglioramento continuo: riesamina la tua strategia di tracciamento man mano che aggiungi o modifichi servizi per acquisire tutti i punti dati pertinenti.

Livello di impegno per il piano di implementazione: medio

Risorse

Best practice correlate:

Documenti correlati:

Video correlati:

Esempi correlati: