Best Practice

Observability: ottenere la trasparenza dei sistemi by design

Reply condivide le sue best practice riguardo alla cultura dell’observability, offrendo un approccio olistico per il monitoraggio dei sistemi che include l’integrazione di piattaforme di observability e la creazione di team esperti in tema di observability.

Sistemi distribuiti e crescente imprevedibilità rendono necessaria l’observability

Mentre sistemi distribuiti, container e micro-servizi diventano sempre più comuni nelle aziende evolute, aumenta anche il bisogno di osservare il comportamento dell’intero sistema. Gli approcci di monitoraggio tradizionali non producono il livello di introspezione necessario a ridurre il mean time per rilevare, riparare e correggere le anomalie; inoltre, rimangono con focus limitato, non considerando come la User Experience possa essere influenzata da questi fatti.

Picture

Da un approccio ”black box” a un approccio ”white box”

Il principale cambiamento nei modelli di observability più innovativi è un approccio strutturato al monitoraggio. Prima il sistema veniva considerato come una “black box”, con un contenuto interno inaccessibile. Il monitoraggio era quindi incentrato su segnali ed effetti chiari che potevano essere raccolti e valutati dall’esterno della scatola. Ora l’obiettivo è rendere questa scatola completamente trasparente: una “white box” che consenta di vedere all’interno del sistema.

I tre punti principali dell'observability

Tre tipi essenziali di dati fondamentali per l’observability devono essere raccolti con strumenti capaci di recuperare, correlare e mostrare i dati in modo significativo, usando una piattaforma facilmente configurabile e utilizzabile da tutti gli stakeholder.

Log

Record marcati temporalmente e immutabili degli eventi discreti avvenuti nel tempo in un ambiente software.

Metriche

Rappresentazioni numeriche dei vari aspetti riguardanti lo stato del sistema.

Tracce

Rappresentazioni di eventi e delle loro relazioni causali nel flusso end-to-end di una richiesta in un sistema distribuito.

I fattori chiave da considerare

Picture

Una observability Platform


Per creare un solido approccio di observability è indispensabile scegliere una piattaforma di observability efficace, capace di acquisire e processare dati grezzi ed eterogenei di fonti differenti, convertirli in uno (o più) dei tre punti principali dell’observability e fornire informazioni utili a tutti gli stakeholder sotto forma di dashboard e avvisi su un singolo strumento. Chiamiamo questa piattaforma l’“unica fonte di verità”.

Picture

Integrazione con DevOps


Così come in DevOps, un approccio di observability olistico implica la considerazione dell’observability in tutte le fasi di progettazione: durante l’analisi e la progettazione di una nuova applicazione, l’implementazione e il testing, il monitoraggio delle prestazioni. Includendo l’observability in modo pervasivo nell’intero ciclo di vita del software è possibile individuare in modo anticipato dove focalizzare le ricerche.

Picture

Il fattore umano


Un approccio di observability olistico richiede inoltre un team di observability dedicato, la cui struttura può variare in base alle risorse e all’organizzazione dell’azienda. In linea generale, questi team supportano l’installazione della piattaforma di observability, valutano il sistema, raccolgono feedback, aggiornano e valutano l’adozione delle linee guida e dei principi di observability.

Il ruolo della “Site Reliability Engineering” (SRE)

Gli ingegneri dell’affidabilità mirano a realizzare sistemi affidabili e scalabili automatizzando i task di amministrazione in misura sufficiente da focalizzarsi sulle priorità, per esempio identificare guasti o modi di migliorare l’infrastruttura. SRE e Observability lavorano insieme per ridurre lo sforzo umano, gli errori umani e la latenza umana.

Hanno ruoli complementari, in quanto i team di SRE indicano quali siano gli elementi rilevanti da osservare e i team di observability garantiscono che essi siano resi osservabili e che i dati siano resi disponibili a tutti gli stakeholder, coordinandosi inoltre con i team di business & DevOps affinché l’observability sia inclusa nelle fasi di sviluppo.

Picture

L’esperienza di Reply con l’observability

Le competenze di Reply, basate su una consolidata esperienza sul campo in vari settori industriali, ci permettono di offrire spunti distintivi nelle progettualità dei clienti, sia nella scelta delle soluzioni tecnologiche affidabili (ovvero piattaforme di observability) più adatte, sia nel supporto nella progettazione e nell’implementazione di soluzioni di observability.