{"id":6492,"date":"2023-11-24T09:00:00","date_gmt":"2023-11-24T08:00:00","guid":{"rendered":"https:\/\/blog.besharp.it\/?p=6492"},"modified":"2023-11-24T10:30:14","modified_gmt":"2023-11-24T09:30:14","slug":"limportanza-delle-metriche-applicative-nel-monitoraggio-di-servizi-cloud","status":"publish","type":"post","link":"https:\/\/blog.besharp.it\/it\/limportanza-delle-metriche-applicative-nel-monitoraggio-di-servizi-cloud\/","title":{"rendered":"L\u2019importanza delle metriche applicative nel monitoraggio di servizi Cloud."},"content":{"rendered":"\n

Oggi pi\u00f9 che mai, l\u2019erogazione di servizi web \u00e8 parte sempre pi\u00f9 centrale di ogni progetto.<\/p>\n\n\n\n

I clienti si aspettano di fruire in modo fluido ed ininterrotto dei servizi messi a loro disposizione, indipendentemente dal momento della giornata o dal traffico gestito. <\/p>\n\n\n\n

Mantenere un’esperienza utente di buona qualit\u00e0 \u00e8 diventato quindi un elemento essenziale all\u2019interno di un mercato altamente competitivo, dove qualsiasi interruzione o rallentamento nell’erogazione dei servizi pu\u00f2 avere serie conseguenze, come la perdita di clienti, di opportunit\u00e0 di vendita o il peggioramento della reputazione aziendale. <\/p>\n\n\n\n

L’esperienza utente non riguarda solo la facilit\u00e0 d’uso di un’applicazione, ma anche la velocit\u00e0 di risposta e l’affidabilit\u00e0 percepita. In questo contesto, il monitoraggio dei sistemi e delle applicazioni a diretto contatto con il pubblico \u00e8 un aspetto critico per permettere alle aziende di reagire prontamente ad eventi avversi che potrebbero compromettere la disponibilit\u00e0 e fruibilit\u00e0 dei servizi che offrono.<\/p>\n\n\n\n

Esistono svariate soluzioni di monitoraggio che promettono di fornire un quadro completo sull\u2019operativit\u00e0 dei sistemi in modo semplice e senza richiedere particolari interventi.<\/p>\n\n\n\n

Tuttavia, l\u2019impiego di una soluzione generica \u00e8 solo parzialmente preferibile alla totale assenza di monitoraggio. Infatti, un monitoraggio approssimativo e generico pu\u00f2 dare la falsa sicurezza di avere tutto sotto controllo, pur essendo ciechi a situazioni che impattano l\u2019esperienza utente e che sono visibili dagli utenti. Utilizzare metriche \u201cdi default\u201d o pi\u00f9 in generale non adatte al monitoraggio del caso specifico, fornisce una visione parziale o distorta della realt\u00e0, che pu\u00f2 facilmente portare a mancate segnalazioni.<\/p>\n\n\n\n

Questo tipo di situazioni, in cui i clienti sperimentano rallentamenti o errori durante la fruizione dei servizi, sono deleterie per la retention e la reputazione aziendale; diventano ancora pi\u00f9 gravi se l\u2019organizzazione non \u00e8 a conoscenza della situazione, e di conseguenza non pu\u00f2 gestirla tempestivamente.<\/p>\n\n\n\n

Fortunatamente, la maggior parte delle soluzioni di monitoraggio possono essere personalizzate per monitorare metriche e KPI personalizzati, che siano veramente indicativi della salute dell\u2019applicazione. Questo tipo di configurazione \u00e8 generalmente time consuming e richiede un\u2019attenta analisi dei flusso utente e degli eventi applicativi per determinare quali grandezze sono realmente rappresentative del buon funzionamento del servizio erogato, tuttavia \u00e8 un\u2019attivit\u00e0 essenziale per avere un\u2019immagine veritiera dello stato di salute del servizio.<\/p>\n\n\n\n

Il sistema di monitoring ideale raccoglie e mette in relazione sia le metriche applicative, personalizzate e pertinenti al caso specifico, sia quelle infrastrutturali, in modo da avere un\u00a0quadro completo e veritiero di come stia funzionando l’applicazione. Vedremo come l’importanza delle metriche applicative non possa essere sottovalutata per avere una visione completa e accurata dello stato di salute di un workload.\u00a0<\/p>\n\n\n\n

Mentre estrarre metriche infrastrutturali \u00e8 solitamente assistito dal Cloud provider, non vi \u00e8 nulla di standard per quanto riguarda le metriche applicative.<\/p>\n\n\n\n

In questo articolo, parleremo dell\u2019importanza di monitorare metriche che riflettano il reale funzionamento di un’applicazione, vedremo come definire e raccogliere metriche generate dall\u2019applicazione che siano pertinenti al dominio e al contesto del servizio.<\/p>\n\n\n\n

Nella trattazione racconteremo inoltre alcuni esempi concreti di come le metriche applicative possono rivelare insidie altrimenti nascoste.<\/p>\n\n\n\n

Senza ulteriori indugi iniziamo ad approfondire i concetti fondamentali per arrivare alla definizione di un buon sistema di monitoring.<\/p>\n\n\n\n

Il monitoring delle applicazioni in Cloud<\/h2>\n\n\n\n

Un sistema di monitoring \u00e8 un insieme di strumenti e di processi progettati per raccogliere, analizzare e presentare dati rilevanti sull’applicazione e sull’infrastruttura cloud. <\/p>\n\n\n\n

I dati dovrebbero consentire agli amministratori e agli sviluppatori di profilare le performance della soluzione, identificare potenziali problemi e risolverli tempestivamente, garantendo un’esperienza utente priva di criticit\u00e0. Gli stessi dati possono essere sfruttati per capire pi\u00f9 profondamente le implicazioni delle scelte infrastrutturali e di architettura del software, e per apportare miglioramenti e ottimizzazioni.<\/p>\n\n\n\n

Un buon sistema di monitoring dovrebbe offrire visibilit\u00e0 in near real-time sull’operativit\u00e0 dell’applicazione e dell’infrastruttura, e dovrebbe essere facilmente integrabile sia con l\u2019applicazione che con eventuali strumenti di gestione preesistenti.<\/p>\n\n\n\n

Come precedentemente accennato, possiamo identificare due principali categorie di metriche: quelle infrastrutturali, e quelle applicative.<\/p>\n\n\n\n

Monitoring Infrastrutturale<\/h2>\n\n\n\n

Il monitoring pi\u00f9 diffuso e di immediata adozione \u00e8 quello di tipo infrastrutturale, che si concentra sull\u2019estrazione di metriche relative all’infrastruttura a sostegno degli applicativi. Include metriche come l’utilizzo della CPU, la larghezza di banda utilizzata, il throughput del disco, l\u2019utilizzo di RAM,  il numero di richieste HTTP o di connessioni in ingresso.<\/p>\n\n\n\n

Spesso, queste metriche possono essere fornite direttamente dal cloud provider, e non \u00e8 richiesta alcuna modifica applicativa per raccoglierle.<\/p>\n\n\n\n

Le metriche infrastrutturali possono fornire una visione dettagliata delle risorse fisiche e virtuali utilizzate dall’applicazione all’interno dell’ambiente Cloud,  sono essenziali per garantire che l’infrastruttura fornisca le risorse necessarie all\u2019applicazione e che quest’ultima operi in modo efficiente.<\/p>\n\n\n\n

Le principali metriche che i cloud provider mettono a disposizione sono:<\/p>\n\n\n\n