Observability
by design

Un’ispezione chirurgica nel cuore dei canali digitali:
l'importanza delle prestazioni applicative

Approccio Observability Driven
applicato allo Sviluppo

COS'È L'OSSERVABILITÀ?

L’osservabilità è la disciplina che permette di rispondere a domande sul proprio sistema, conoscendone input e relativi output esterni. Come tutte le altre caratteristiche di un sistema (velocità, stabilità e scalabilità), anche l'osservabilità può essere continuamente estesa e migliorata con successivi raffinamenti, avendo cura di presidiarla costantemente, in particolare dopo ogni cambiamento o modifica.

L’osservabilità è necessaria per ogni stakeholder: dalle metriche più tecnologiche di IT Operations e sviluppo, ai KPI di Business che permettono di avere una visione olistica del livello di soddisfazione dell’utente finale.

COS'È IL MONITORAGGIO?

L’osservabilità permette quindi di essere reattivi in caso di anomalie, fornendo ogni tipo di risposta e informazione durante le attività di trouble-shooting. Il suo complementare è il monitoraggio che aiuta invece a prevenire gli incident, inviando proattivamente rapide segnalazioni e, spesso, prima che avvenga impatto di business sugli utilizzatori finali.

Purtroppo però, la definizione di una nuova progettualità applicativa spesso considera solo i requisiti relativi alle funzionalità del software, tralasciando e demandando a fasi successive (al post rilascio o al verificarsi di un’anomalia) l’introduzione delle pratiche di osservabilità. Se lo sviluppo è guidato dall’osservabilità a partire dalla fase di progettazione, ponendosi domande alle quali bisogna saper rispondere quando il sistema sarà in operatività, si rende il sistema osservabile fin da subito e con il minimo effort.

OBSERVABILITY BY DESIGN

Per includere il modello observability by design nel ciclo di vita del sistema osservato è fondamentale non tralasciare temi come:
disegnare casi d’uso e scenari implementativi direttamente all’interno dell’architettura
• accompagnare tutti all’adozione della piattaforma di osservabilità sia in termini tecnologici che di processo (ITIL)
• stabilire quali strumenti saranno impiegati per ognuno dei pilastri dell’osservabilità quali eventi, metriche e tracciature
• trovare il giusto compromesso tra la quantità di informazioni estratte e il rallentamento delle applicazioni stesse (overhead)

Dopo aver definito i punti cardine e i requisiti di base dell'osservabilità, è possibile a questo punto creare una soluzione di monitoraggio del sistema che sia robusta ed efficace.

OBSERVABILITY DRIVEN - LA SOLUZIONE DI BLUE REPLY

Negli ultimi anni Blue Reply è stata al centro di numerose iniziative di modernizzazione architetturale ed infrastrutturale che fanno forte uso delle tecnologie cloud-native. In questi cantieri è risultato sempre vincente predisporre, sia da un punto di vista infrastrutturale che di business, l'osservabilità come cantiere critico all’interno del progetto.

Le tecnologie e le metodologie di ultima generazione (container e microservizi, multi-cloud, sviluppo cloud native e DevOps) sono degli immensi produttori di informazioni, tutte assolutamente necessarie per comprendere a fondo lo stato di salute delle applicazioni e la soddisfazione di utilizzo degli utenti finali.

Nei progetti portati avanti negli ultimi anni, spesso la collaborazione avviene in primis con application owner e team applicativi affinché ognuno esprima l’insieme di requisiti non funzionali e declini al meglio le peculiarità del tipo di business all’interno dei nuovi indicatori di performance.

L'APPROCCIO PASSA ATTRAVERSO L'INCLUSIONE

Per garantire coerenza e consistenza dei dati raccolti l’approccio Blue Reply è quello di preferire sempre l’inclusione, a livello di framework, mediante librerie o punti comuni all’interno del flusso di elaborazione, l’acquisizione di alcune informazioni generali e la strutturazione dei dati stessi nei log, anziché lasciarle alla discrezione del singolo sviluppatore.

Tramite l'utilizzo degli strumenti precedentemente descritti, quali eventi, metriche, tracciature e sistemi di alerting, è così possibile il debug dei guasti, la profilazione del codice, l'analisi delle dipendenze e l'anticipazione dei futuri fault, valutando anche, ad ogni rilascio, possibili regressioni applicative di performance in ambiente di Produzione.

I benefici ottenuti

La metodologia Observability by design permette ai team di ottenere la piena visibilità dello stato del sistema, permettendo di individuare problemi prestazionali e potenziali disservizi già in fase di sviluppo. Inoltre, misurando le prestazioni tra le diverse versioni rilasciate, Blue Reply fornisce ai suoi Clienti strumenti per misurare i KPI e gli impatti di ogni rilascio, prima che avvenga il deploy in ambienti produttivi. In conclusione, la combinazione tra osservabilità e maggiore qualità dei rilasci ha comportato MTTD (Mean Time to Detect) e MTTR (Mean Time to Resolve) ridotti, la diminuzione di durata e quantità dei disservizi e una maggiore stabilità del sistema.