OPS04-BP01 Implementazione della telemetria dell'applicazione - Framework AWS Well-Architected

OPS04-BP01 Implementazione della telemetria dell'applicazione

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: Alto

Guida all'implementazione

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.

Prendiamo, a titolo di esempio, un'azienda di e-commerce con un'architettura basata su 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

Il primo passaggio consiste nell'identificare una posizione centrale in cui archiviare la telemetria per le applicazioni del carico di lavoro. In assenza di una piattaforma esistente, Amazon CloudWatch può garantire la raccolta della telemetria, dashboard, analisi e funzionalità di generazione di eventi.

Per stabilire il tipo di telemetria necessaria, è utile iniziare ponendosi queste domande:

  • La mia applicazione è integra?

  • La mia applicazione sta raggiungendo i risultati aziendali attesi?

    L'applicazione deve emettere parametri 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 soluzioni di telemetria in grado di farlo. 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.

    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. La soluzione AWS Distro for Open Telemetry fornisce API, librerie e agenti per la raccolta della telemetria dell'applicazione. Questo esempio mostra come dotare un'applicazione JavaScript di parametri personalizzati.

    Se desiderano comprendere i servizi di osservabilità offerti da AWS, i clienti possono seguire il workshop dal titolo One Observability Workshop in autonomia o richiedere supporto e indicazioni al team Account AWS. Il workshop illustra le soluzioni per l'osservabilità offerte da AWS, con esempi pratici del loro utilizzo.

    Per maggiori approfondimenti riguardo alla telemetria dell'applicazione, leggi l'articolo Strumentazione di sistemi distribuiti per visibilità operativa nella Amazon Builder's Library. L'articolo spiega in che modo Amazon dota le applicazioni degli strumenti necessari e può servire come riferimento per sviluppare proprie linee guida sulla strumentazione.

Livello di impegno per il piano di implementazione: Medio

Risorse

Best practice correlate:

OPS04-BP02 Implementazione e configurazione della telemetria del carico di lavoro - 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 - 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 - 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 - 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 dei parametri del carico di lavoro - 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:

Video correlati:

Esempi correlati: