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 attraverso un software di monitoraggio del cloud.
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.
1. Metriche di utilizzo delle risorse
In un ambiente cloud, il monitoraggio dell'utilizzo delle risorse è fondamentale per ottenere efficienza operativa e prestazioni ottimizzate. Le metriche chiave includono l'utilizzo della CPU, della memoria e dello storage, che indicano l'efficienza con cui l'applicazione cloud utilizza le risorse su cui viene eseguita. Raccogliendo e analizzando questi dati sulle prestazioni, gli amministratori possono allocare in modo efficace le risorse ed evitare il sovradimensionamento o l'esaurimento delle risorse, entrambi fattori che possono compromettere le prestazioni del sistema. Le metriche sull'utilizzo delle risorse vanno spesso di pari passo con quelle sullo stato di salute della rete, poiché sono fondamentali per il trasferimento dei dati e la ricezione delle richieste esterne.
2. Metriche sullo stato di salute della rete
La seconda categoria essenziale riguarda lo stato di salute della rete, e comprende latenza, throughput e tassi di errore. Poiché stiamo parlando di applicazioni e risorse cloud, lo stato di salute della rete è fondamentale per il trasferimento dei dati e la ricezione di richieste esterne. Se una rete è congestionata o le sue connessioni sono instabili, le prestazioni globali del cloud possono risentirne notevolmente. Mantenere condizioni di rete ottimali è fondamentale per garantire un trasferimento efficiente dei dati all'interno e all'esterno dell'infrastruttura cloud, motivo per cui è essenziale monitorare in modo proattivo queste metriche.
3. Disponibilità e uptime
Negli scenari peggiori, possono verificarsi interruzioni e interruzioni complete del servizio. Un monitoraggio completo deve includere il controllo dell'uptime e della disponibilità di ogni applicazione o risorsa cloud, un passo che può sembrare ovvio ma che spesso viene dato per scontato. La maggior parte degli strumenti di monitoraggio delle prestazioni cloud o dei sistemi di gestione delle prestazioni delle applicazioni supportano il ping regolare delle applicazioni per garantire che rimangano raggiungibili e attive.
4. Latenza end-to-end e tempo di risposta delle applicazioni
Altrettanto rilevanti per le prestazioni della rete sono tutte le metriche relative alla latenza end-to-end e al tempo di risposta delle applicazioni. Queste metriche forniscono visibilità in tempo reale sul tempo necessario affinché una richiesta dell'utente riceva una risposta. In genere, ma non esclusivamente, informano gli amministratori cloud sullo stato di salute della rete, anche se le scarse prestazioni possono derivare anche da problemi all'interno dell'applicazione stessa.
5. Metriche relative all’auto-scaling e alle code
Quando si utilizza un sistema di auto-scaling, come spesso accade con i provider cloud, è importante controllare le metriche relative alla sua efficienza, ad esempio il numero di istanze aggiunte o rimosse da un sistema. Qualora siano presenti delle code, anche le metriche relative alle code dovrebbero essere prese in considerazione nelle attività di monitoraggio.
FAQ
Che cos'è il monitoraggio degli utenti reali?
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.
Che cos'è il monitoraggio sintetico?
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.