Container monitoring: come si fa e quali vantaggi porta

container-monitoring

Il monitoraggio dei container è il processo con cui si eseguono diagnosi in tempo reale sulle applicazioni containerizzate e i microservizi. Poiché i container sono di natura volatile o “effimera” rispetto alle applicazioni che girano su server virtuali o su server “bare metal”, il loro monitoraggio risulta più difficile, ma non impossibile. Tanto più che oggi si stanno diffondendo architetture basate su microservizi che necessitano di un’attività di monitoring analoga a quella prevista per gli ambienti tradizionali. Ne discende che un sistema per il monitoraggio dei container deve essere in grado di raccogliere metriche che analizzino e misurino se le performance delle applicazioni in esecuzione siano in linea con gli obiettivi di business attesi.

 

Monitoraggio dei container e observability

Affinché un sistema di monitoraggio container assolva correttamente il suo compito, deve prevedere il ricorso ad appositi agent in ogni nodo. Inoltre, deve consentire al team IT di poter visualizzare su una dashboard alcune metriche essenziali. Metriche, log e trace rappresentano, nel loro complesso, un concetto moderno di monitoring che oggi viene definito observability.

Metriche

Nel monitoraggio dei container, insieme alla quantità di dati da raccogliere, è fondamentale anche il tempo di rilevazione, cioè il periodo compreso tra quando si riscontra un problema, l’identificazione della causa e la sua risoluzione.

Log

La gestione di log consente la conservazione e l’aggregazione dei dati per registrare tutti gli eventi che hanno a che fare con la sicurezza dei sistemi. Motivo per cui non può mancare il log management all’interno delle attività di controllo dei container.

Trace

Tracciare tutto ciò che avviene a livello infrastrutturale e applicativo è la garanzia per avere una visibilità piena. Soprattutto se si vuole conoscere, oltre alle performance tecnologiche, qual è l’impatto sulla user experience, la tracciabilità diventa necessaria.

 

Come funziona il container monitoring

Per garantire il corretto funzionamento delle applicazioni all’interno dei container così da soddisfare gli obiettivi previsti, le metriche devono essere raccolte e analizzate in real-time.

Una soluzione di monitoraggio di piattaforme in container è, insomma, uno strumento di application performance management (APM) che offre ai team IT una vista immediata sul funzionamento dei servizi applicativi, perché i processi di sviluppo, rilascio e distribuzione possano avvenire molto rapidamente, secondo cicli operativi basati sulle logiche Agile e DevOps.

Rispetto alle più tradizionali soluzioni di Application Performance Monitoring, inoltre, fanno leva su una serie di caratteristiche come il supporto a tipologie di dati differenti, il facile accesso alle librerie utilizzate, cruscotti e sistemi di visualizzazione per la rapida esplorazione delle informazioni.

Con la containerizzazione, le operazioni di monitoraggio si complicano e devono essere condotte a più livelli, considerando sia le infrastrutture sottostanti (server bare-metal o macchine virtuali) sia il layer applicativo (l’ambiente di runtime e i microservizi). Le metriche analizzate (per i sistemi hardware e i container) riguardano in particolare l'utilizzo della memoria e della CPU, evidenziandone i limiti e suggerendo ai team IT quando diventa necessario scalare le risorse. Poiché sui container girano componenti che devono interagire e muoversi agilmente all’interno di un sistema di applicazioni distribuito, le performance di rete sono un punto da tenere sotto stretta osservazione e controllo.

 

I 2 vantaggi del container monitoring

Dopo aver parlato del funzionamento del monitoraggio dei container, vediamo quali sono i vantaggi che porta al business delle aziende, e non solo all’IT. Tali vantaggi si possono sintetizzare in due principali: la capacità di identificare le relazioni fra tutti gli oggetti e l’individuazione dei problemi in maniera proattiva per risolvere le criticità prima che causino malfunzionamenti o addirittura l’interruzione dei sistemi.

  1. Capacità di identificare le relazioni fra tutti gli oggetti

    Poter distinguere tra anomalie irrilevanti e problemi di prestazioni è fondamentale. Solo così è possibile risalire immediatamente alla causa, attivando le azioni di remediation più opportune. È bene sottolineare che per un buon controllo container non basta acquisire i dati inerenti di performance dei container, ma bisogna comprendere come questi impattano sugli utenti. In altri termini, è necessario acquisire informazioni relative alla “real user experience”, facendo in modo che il monitoraggio dei container sia funzionale agli obiettivi di business. Ciò significa che non si possono raccogliere solo i log, gli eventi e le metriche per capire cosa sta succedendo, ma gli strumenti di monitoraggio dei container devono riuscire a correlare tutte le informazioni anche attraverso l’utilizzo di tool di AIOps.

  2. Individuazione dei problemi in maniera proattiva

Per un utilizzo ottimale delle risorse aziendali, diventa importante conoscere il legame tra le prestazioni delle applicazioni e le relative prestazioni dell’infrastruttura su cui si appoggiano. Infatti, la corsa odierna all’adozione di container e microservizi va di pari passo con un orientamento che predilige ambienti in cloud più agili, che spesso sono hybrid e multi-cloud. L’utilizzo di queste soluzioni tecnologiche all’avanguardia, tuttavia, non può prescindere da un’analoga attenzione verso funzioni di monitoraggio che sono in grado di tenere sotto controllo l’intero stack. Per questo il container monitoring si avvale dell’intelligenza artificiale e del machine learning: per anticipare l’insorgenza dei problemi prima che si manifestino grazie specialmente, come anticipato prima, all’impiego di piattaforme AIOps.

monitoring per il finance