OPS04-BP04 Implementazione della telemetria delle dipendenze - Principio dell'eccellenza operativa

OPS04-BP04 Implementazione della telemetria delle dipendenze

La telemetria delle dipendenze è essenziale per monitorare lo stato e le prestazioni dei servizi e dei componenti esterni su cui si basa il carico di lavoro. Fornisce preziosi approfondimenti su reperibilità, timeout e altri eventi critici correlati alle dipendenze come DNS, database o API di terze parti. Dotando l'applicazione di strumenti per generare metriche, log e tracce relative a queste dipendenze, acquisisci una comprensione più chiara dei potenziali colli di bottiglia, problemi di prestazioni o errori che potrebbero influire sul carico di lavoro.

Risultato desiderato: le dipendenze su cui si basa il carico di lavoro funzionano come previsto, consentendo di gestire i problemi in modo proattivo e garantendo prestazioni ottimali del carico di lavoro.

Anti-pattern comuni:

  • Scarsa attenzione alle dipendenze esterne: il focus è rivolto esclusivamente alle metriche interne dell'applicazione, trascurando quelle legate alle dipendenze esterne.

  • Mancanza di monitoraggio proattivo: si attende che si verifichino problemi anziché monitorare costantemente lo stato e le prestazioni delle dipendenze.

  • Monitoraggio isolato in comparti: si utilizzano strumenti di monitoraggio multipli ed eterogenei che possono portare a visioni dello stato delle dipendenze frammentate e incoerenti.

Vantaggi dell'adozione di questa best practice:

  • Maggiore affidabilità del carico di lavoro: viene garantito che le dipendenze esterne siano costantemente disponibili e funzionino in modo ottimale.

  • Rilevamento e risoluzione dei problemi più rapidi: identificazione e risoluzione proattiva dei problemi relativi alle dipendenze prima che influiscano sul carico di lavoro.

  • Visione completa: acquisizione di una visione olistica dei componenti interni ed esterni che influenzano lo stato del carico di lavoro.

  • Scalabilità del carico di lavoro migliorata: grazie alla comprensione dei limiti di scalabilità e delle caratteristiche prestazionali delle dipendenze esterne.

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

Guida all'implementazione

Implementa la telemetria delle dipendenze iniziando con l'identificazione dei servizi, dell'infrastruttura e dei processi da cui dipende il carico di lavoro. Esegui una valutazione quantitativa delle condizioni ottimali nelle quali tali dipendenze funzionano come previsto e poi determina quali dati sono necessari per misurarle. Con queste informazioni, puoi creare dashboard e avvisi che forniscono approfondimenti ai tuoi team operativi sullo stato di tali dipendenze. Usa gli strumenti AWS per scoprire e quantificare gli impatti quando le dipendenze non riescono a fornire le prestazioni necessarie. Rivedi costantemente la tua strategia per tenere conto dei cambiamenti relativi a priorità, obiettivi e alle informazioni dettagliate acquisite.

Passaggi dell'implementazione

Per implementare efficacemente la telemetria delle dipendenze:

  1. Identifica le dipendenze esterne: collabora con le parti interessate per individuare le dipendenze esterne sulle quali si basa il carico di lavoro. Le dipendenze esterne possono comprendere servizi come database esterni, API di terze parti, percorsi di connettività di rete verso altri ambienti e servizi DNS. Il primo passo verso un'efficace telemetria delle dipendenze è acquisire una comprensione totale di quali esse siano.

  2. Sviluppa una strategia di monitoraggio: una volta acquisito un quadro chiaro delle dipendenze esterne, progetta una strategia di monitoraggio ad hoc per esse. Trovare la strategia giusta implica comprendere le criticità di tutte le dipendenze, il loro comportamento previsto e gli eventuali accordi od obiettivi sul livello di servizio associato (SLA o SLT). Imposta avvisi proattivi che ti informino riguardo a cambiamenti di stato o deviazioni delle prestazioni.

  3. Usa il monitoraggio della rete: utilizza il monitoraggio di Internet e il monitoraggio della rete che forniscono approfondimenti completi sulle condizioni globali di Internet e della rete. Questi strumenti consentono di comprendere e rispondere alle interruzioni, ai malfunzionamenti o al degrado delle prestazioni che influiscono sulle dipendenze esterne.

  4. Non perdere alcun aggiornamento con AWS Health Dashboard: fornisce avvisi e indicazioni per la correzione qualora AWS sia interessato da eventi che potrebbero influire sui servizi.

    1. Monitora gli eventi AWS Health con le regole Amazon EventBridge o integra a livello di programmazione l'API AWS Health per automatizzare le azioni quando ricevi eventi AWS Health. Possono essere azioni generali, come l'invio di tutti i messaggi pianificati sugli eventi del ciclo di vita a un'interfaccia di chat, oppure azioni specifiche, come l'avvio di un flusso di lavoro in uno strumento di gestione dei servizi IT.

    2. Se usi AWS Organizations, aggrega gli eventi AWS Health tra gli account.

  5. Strumenta l'applicazione con AWS X-Ray: AWS X-Ray fornisce approfondimenti sulle prestazioni delle applicazioni e delle relative dipendenze sottostanti. La tracciatura delle richieste dall'inizio alla fine ti permette di identificare colli di bottiglia o guasti nei servizi o nei componenti esterni su cui si basa l'applicazione.

  6. Usa Amazon DevOps Guru: questo servizio basato sul machine learning identifica i problemi operativi, prevede quando potrebbero verificarsi problemi critici e consiglia azioni specifiche da intraprendere. Fornisce un supporto prezioso per acquisire approfondimenti sulle dipendenze e assicurarsi che queste non siano la fonte di problemi operativi.

  7. Monitora regolarmente: monitora le metriche e i log relativi alle dipendenze esterne in maniera costante. Imposta avvisi per comportamenti imprevisti o prestazioni ridotte.

  8. Convalida dopo le modifiche: ogni volta che una dipendenza esterna è interessata da un aggiornamento o una modifica, convalidane le prestazioni e verifica che queste siano in linea con i requisiti dell'applicazione.

Livello di impegno per il piano di implementazione: medio

Risorse

Best practice correlate:

Documenti correlati:

Video correlati:

Esempi correlati: