Che cos'è il monitoraggio delle prestazioni del cloud?
Il monitoraggio delle prestazioni è la pratica di osservare le metriche prodotte da applicazioni e risorse per garantire che i servizi siano disponibili, affidabili e funzionino al meglio delle loro capacità. Il monitoraggio delle prestazioni nel cloud è il tipo di monitoraggio delle prestazioni che si occupa specificamente delle prestazioni delle applicazioni e delle risorse nel cloud. È quindi un elemento importante del monitoraggio del cloud.
Gli strumenti di monitoraggio delle prestazioni del cloud raccolgono varie metriche indicative delle prestazioni di una determinata applicazione o servizio. L'ideale sarebbe operare il più vicino possibile al tempo reale, con un aggiornamento costante di queste metriche per prevenire qualsiasi decadimento delle prestazioni prima che possa causare interruzioni.
Il monitoraggio delle prestazioni nel cloud comprende anche il tracciamento distribuito. Questo è fondamentale in un'architettura a microservizi per monitorare le richieste o le transazioni elaborate da un'applicazione in esecuzione nel cloud, raccogliendo statistiche vitali sulle prestazioni dell'applicazione. Le prestazioni delle applicazioni cloud possono spesso essere migliorate grazie a queste tracce, il che le rende uno strumento importante per il monitoraggio delle prestazioni cloud.
Infine, i log dei servizi e delle risorse possono informare gli amministratori del cloud sulle prestazioni del sistema, sugli errori riscontrati e sui dettagli generali di debug che possono aiutare gli sviluppatori a migliorare le loro applicazioni. Gli strumenti di monitoraggio delle prestazioni del cloud di solito includono il controllo dei log per fornire una visione completa delle risorse e dei servizi del cloud.
Insieme, metriche, tracce e registri contribuiscono a informare gli amministratori sullo stato delle loro applicazioni e risorse cloud. Nessuno di questi elementi dovrebbe essere ignorato e, idealmente, tutti dovrebbero essere monitorati.
Monitoraggio delle prestazioni delle applicazioni
Il monitoraggio delle prestazioni del cloud è spesso considerato come un semplice monitoraggio delle prestazioni delle applicazioni. È una parte dell'Application Performance Management (APM) e consiste nel monitoraggio delle prestazioni complessive delle applicazioni software. L'APM in generale comprende il monitoraggio della disponibilità, dei problemi di usabilità e di tutto ciò che può avere un impatto sull'esperienza dell'utente finale, non solo sulle prestazioni grezze. L'APM comprende funzioni quali, ad esempio:
- monitoraggio dell'esperienza digitale (monitoraggio dell'esperienza utente end-to-end)
- Individuazione, tracciamento e diagnostica delle applicazioni
- Analisi delle applicazioni
L'APM va quindi oltre il puro monitoraggio delle prestazioni delle applicazioni cloud ed è un sistema che consente non solo di ottimizzare le prestazioni delle applicazioni, ma anche di scoprire i punti dolenti degli utenti finali, migliorare la loro esperienza, eseguire la diagnostica delle applicazioni e scoprire le cause alla radice dei problemi in modo più efficiente rispetto al solo monitoraggio delle prestazioni. Le soluzioni APM aiutano gli amministratori IT a ottenere la panoramica più completa delle metriche di performance delle applicazioni business-critical e possono contribuire a migliorare e aggiornare il software vitale per l'infrastruttura di un'organizzazione.
Il monitoraggio delle prestazioni del cloud è contenuto nell'APM e va oltre la semplice gestione delle prestazioni del cloud. In questa sede ci concentreremo specificamente solo sul monitoraggio delle prestazioni del cloud, ma era importante chiarire che cos'è l'APM, in quanto è un termine che viene spesso abbinato al monitoraggio delle prestazioni.
Cloud computing ad alte prestazioni
High performance computing (HPC) è un termine che descrive l'elaborazione di carichi di lavoro ad alto volume che richiedono grandi potenze di calcolo o la gestione di grandi insiemi di dati. Tali carichi di lavoro vengono sempre più migrati nel cloud e il calcolo ad alte prestazioni nel cloud è uno dei principali utenti dei servizi cloud. Grazie alla scalabilità e alla potenza predefinita di molti server virtuali offerti dai fornitori di cloud, oggi è possibile per qualsiasi organizzazione eseguire carichi di lavoro HPC sul cloud. In precedenza, tali carichi di lavoro richiedevano una grande quantità di risorse che non erano economicamente e/o tecnicamente fattibili per le piccole aziende.
Sia che si abbia bisogno di un'elaborazione ad alta capacità, sia che si debba sostenere brevi raffiche di utilizzo elevato della CPU, sia che si stiano gestendo grandi insiemi di dati, il cloud computing ad alte prestazioni è la tua soluzione. Il monitoraggio delle prestazioni del cloud è fondamentale da implementare con i carichi di lavoro HPC, in quanto le prestazioni del calcolo ad alte prestazioni sono fondamentali per l'esecuzione delle attività dell'applicazione e non possono essere tollerate interruzioni o cadute. Tenere traccia delle metriche chiave in un'applicazione che genera grandi carichi di CPU o volumi di dati è una necessità ancora più impellente per gli amministratori del cloud rispetto alle applicazioni meno avide di energia.
Gli strumenti di monitoraggio delle prestazioni del cloud sono in grado di gestire le applicazioni HPC ad alta richiesta così come quelle meno esose di risorse. Il calcolo ad alte prestazioni su cloud è un requisito sempre più importante per le aziende di oggi e deve necessariamente rientrare nella gestione delle prestazioni del cloud per garantire che tutti i carichi di lavoro HPC funzionino al massimo delle loro prestazioni.
Quali metriche controllare nel monitoraggio delle prestazioni del cloud?
Migliorare le prestazioni del cloud attraverso il monitoraggio è un'impresa complessa che comprende l'analisi di molte metriche, a seconda del tipo di servizio e delle risorse utilizzate. Alcuni sono più pesanti per la CPU, altri si basano maggiormente su una rete efficiente e molti altri ancora devono essere il più reattivi possibile ed evitare qualsiasi tipo di ritardo o rallentamento.
La gestione delle prestazioni del cloud include ovviamente il monitoraggio, che si basa principalmente su una serie di metriche da controllare. Queste metriche assumono nomi diversi a seconda del cloud provider e dell'esatta risorsa o servizio monitorato. L'identificazione delle metriche dovrebbe essere comunque banale, dato che la maggior parte dei loro nomi sono autoesplicativi.
La prima categoria di metriche riguarda l'utilizzo delle risorse. Controllare l'utilizzo della CPU, della memoria e dello storage su cui gira l'applicazione è di fondamentale importanza per il monitoraggio delle prestazioni del cloud e per la gestione delle prestazioni delle applicazioni in generale. Queste metriche sono spesso abbinate alla categoria successiva, che comprende la latenza di rete, il throughput e gli errori. Trattandosi di applicazioni e risorse cloud, la salute della rete è fondamentale per trasferire dati e ricevere richieste esterne. Se una rete è congestionata o le sue connessioni sono deboli, le prestazioni globali del cloud possono risentirne notevolmente.
Nei casi peggiori, possono verificarsi interruzioni e interruzioni complete del servizio. Controllare i tempi di attività e la disponibilità di qualsiasi applicazione o risorsa cloud è un'operazione a volte ovvia, ma che può sorprendentemente finire per essere data per scontata. La maggior parte degli strumenti di monitoraggio delle prestazioni del cloud o dei sistemi di gestione delle prestazioni delle applicazioni supporta il ping regolare delle applicazioni per garantire che siano raggiungibili e funzionanti.
Per quanto riguarda le prestazioni di rete, sono rilevanti anche tutte le metriche che hanno a che fare con la latenza end-to-end e il tempo di risposta delle applicazioni. Di solito, ma non solo, questi dati informano gli amministratori del cloud sullo stato di salute della rete, ma possono anche essere dovuti alle scarse prestazioni dell'applicazione stessa.
Se si utilizza un sistema di autoscaling, come spesso accade con i cloud provider, assicurarsi di controllare le metriche relative alla sua efficienza, come il numero di istanze aggiunte o rimosse da un sistema. Se le code sono applicabili al tuo caso, anche le metriche relative alle code devono essere prese in considerazione nel tuo monitoraggio.
Dal punto di vista delle prestazioni, queste sono le metriche più importanti da tenere d'occhio. Non sono le uniche e, a seconda dell'infrastruttura e delle risorse cloud utilizzate, possono essere monitorate decine di altre metriche. Il monitoraggio delle prestazioni del cloud è un argomento complesso e gli strumenti che lo eseguono, come Checkmk, includono molti controlli per comprendere i più ampi set di metriche. Per avere una panoramica il più possibile completa dell'infrastruttura cloud e delle sue prestazioni, è necessario implementare uno strumento in grado di fornire il maggior numero possibile di metriche. Checkmk si propone di fare proprio questo. Supportando diversi cloud provider (AWS, Azure e GCP), Checkmk è in grado di eseguire per te il monitoraggio delle prestazioni del cloud, da scenari moderati fino a quelli HPC.
FAQ
Il monitoraggio degli utenti reali (RUM) è una forma passiva di monitoraggio che registra tutte le interazioni degli utenti con un sito web o un'applicazione basata su server o cloud. Le informazioni raccolte vengono utilizzate per determinare l'effettiva qualità del livello di servizio fornito agli utenti finali, per individuare errori e ritardi e per verificare se le modifiche apportate hanno migliorato o meno l'esperienza dell'utente.
Il monitoraggio sintetico è una pratica di monitoraggio delle prestazioni delle applicazioni che utilizza script per simulare i percorsi e le azioni che un utente reale potrebbe compiere su un sito web o in un'applicazione. In base a scenari predefiniti, come la posizione geografica o il tipo di dispositivo, il monitoraggio sintetico emula ciò che un utente finale farebbe e sperimenterebbe, fornendo informazioni cruciali su come l'applicazione o il sito web funzionano e rispondono agli input.