Monitoraggio del cloud per applicazioni ad alte prestazioni
Che cos'è il monitoraggio del cloud?
Il monitoraggio del cloud è l'insieme dei metodi per osservare, esaminare e gestire i flussi di lavoro operativi in un'infrastruttura IT basata sul cloud. In linea di principio non differisce dal monitoraggio di hardware e software on-premise, ma in pratica presenta alcune sfide e differenze distinte che devono essere prese in considerazione al momento della configurazione.
Le offerte cloud sono in gran parte suddivise tra i tre principali fornitori Amazon Web Services (AWS), Microsoft Azure e Google. A volte, nella stessa infrastruttura viene utilizzato più di un servizio cloud. La maggior parte degli strumenti di monitoraggio del cloud supporta più di uno dei fornitori di cloud esistenti.
Al giorno d'oggi, la grande maggioranza delle infrastrutture è basata sul cloud o ibrida, con servizi e dispositivi sia on-premise che nel cloud. Il monitoraggio dei dispositivi e dei servizi nel cloud insieme a quelli classici, fisici, è una sfida complessa da affrontare per gli amministratori IT e gli strumenti di monitoraggio del cloud. Ma per mantenere alta l'efficienza e prevenire i problemi, è necessario tenere sotto controllo l'intera infrastruttura, ovunque si trovi. Considerando l'ampia gamma di applicazioni che possono essere eseguite sul cloud e le loro piccole differenze tra i vari fornitori di cloud, è facile capire come il monitoraggio del cloud possa diventare complesso.
Vedremo come e cosa monitorare più avanti in questa guida. Innanzitutto, concentriamoci sul motivo per cui il monitoraggio del cloud è importante.
Perché il monitoraggio del cloud è importante?
Come suggerisce il buon senso, se non si sa che qualcosa esiste e come funziona, non si può sapere quando quel qualcosa è malfunzionante, sotto stress o sta per rompersi. Il monitoraggio, compreso quello del cloud, ti tiene informati in ogni momento su ogni componente della tua infrastruttura, sia fisica che virtuale.
È inutile dire che se la tua azienda dipende dai cloud per funzionare, tale tipo di monitoraggio è una necessità piuttosto che una scelta. È semplicemente saggio essere a conoscenza di quante più metriche e informazioni possibili provenienti dal tuo cloud, in modo da poter prevenire o risolvere i problemi, pianificare i miglioramenti e ottimizzarlo. Considerate anche tutti i servizi che possono essere eseguiti in un cloud: server, macchine virtuali, database, reti virtuali, storage e altro ancora. Ognuno di questi richiede una gamma diversa di metriche da tenere sotto controllo, tutte importanti per ottenere un quadro generale.
Il monitoraggio del cloud comprende tutti questi componenti. Come nel caso del monitoraggio locale, ogni singola parte di una rete può causare problemi e, poiché nessuna è completamente isolata dalle altre, può rompere altre parti o far crollare l'intera rete. Le reti cloud sono versioni logiche di quelle fisiche e sono soggette a problemi simili. Pertanto, il monitoraggio del cloud è un'estensione del monitoraggio locale che deve essere implementato per garantire che gli ambienti cloud funzionino in modo efficiente e senza problemi. In genere, si tratta di un ambiente ibrido in cui i componenti on-premise e quelli basati sul cloud lavorano insieme.
Come funziona il monitoraggio del cloud
Il monitoraggio del cloud inizia con lo strumento giusto. In questo caso ci sono alcune opzioni. Una è quella di utilizzare gli strumenti forniti dal fornitore di cloud di tua scelta. Microsoft Azure utilizza Azure Monitor, uno strumento di monitoraggio del cloud per raccogliere, analizzare e agire sui dati di telemetria degli ambienti basati su Azure. Amazon Web Services (AWS) ha CloudWatch come soluzione interna per monitorare le risorse e le applicazioni sui cloud AWS. Per il monitoraggio di Google Cloud Platform (GCP), Cloud Monitoring è disponibile direttamente da Google.
Queste soluzioni sono impostate per analizzare i dati provenienti principalmente dagli ambienti cloud, ma non esclusivamente. AWS CloudWatch può ad esempio monitorare anche i server on-premises. Sebbene queste soluzioni software di monitoraggio del cloud siano perfettamente in grado di monitorare i rispettivi cloud, non possono essere estese per monitorare i cloud di altri fornitori. Se l'infrastruttura è mista e utilizza più di un ambiente cloud, è necessario utilizzare più di uno strumento di monitoraggio del cloud per monitorare tutto. Questo aumenta la ridondanza, presenta problemi di compatibilità e comporta un leggero aggravio di risorse rispetto a una soluzione di monitoraggio unificata.
Più ragionevolmente, si potrebbe scegliere un unico strumento di monitoraggio del cloud che non sia specifico per il fornitore. Al di là dei confini dei diversi fornitori di cloud, questa classe di strumenti può monitorare più di un cloud oltre agli host on-premise. Questa scelta riunisce tutte le metriche, indipendentemente dal cloud da cui provengono, e fornisce una visione uniforme, soprattutto completa, della tua infrastruttura. Questo tipo di strumento di monitoraggio del cloud è in grado di monitorare sia i cloud privati che dispongono di hardware dedicato, sia i cloud pubblici, come AWS, Azure e GCP. È un sistema "monitor-it-all".
In termini pratici e indipendentemente dallo strumento di monitoraggio utilizzato, il monitoraggio del cloud viene effettuato sia con l'installazione di un agente, come avverrebbe su una rete locale, sia attraverso l'uso di API esposte dall'ambiente cloud. Alla fine, i risultati sono simili, ma si differenziano per il tipo e la quantità di metriche che l'agente o l'API offrono per il polling.
Parlando di metriche, il monitoraggio del cloud è più vicino a qualsiasi sistema di monitoraggio classico di quanto si possa immaginare. Dopotutto, le nuvole sono hardware reale che gira da un'altra parte o una virtualizzazione dell'hardware. In entrambi i casi, il loro funzionamento non differisce sostanzialmente da quello dei sistemi fisici in esecuzione a livello locale. Vedremo meglio le metriche esatte raccolte con il software di monitoraggio del cloud quando discuteremo i vari sottotipi di monitoraggio del cloud. Per ora, è sufficiente dire che uno strumento di monitoraggio del cloud all'avanguardia, come Checkmk, è in grado di installare agenti sul cloud e di utilizzare le API di ogni fornitore di cloud che supporta, rendendo la raccolta delle metriche un compito semplice.
Cloud privati e pubblici nel monitoraggio
In un cloud privato, tutte le risorse hardware e software sono dedicate a una singola azienda, internamente o tramite un fornitore terzo. Come nel caso dell'hosting web, un cloud privato offre un livello superiore di gestione, controllo e sicurezza. I cloud pubblici, come AWS, Azure e GCP, offrono le loro risorse a più clienti contemporaneamente. L'hardware non è dedicato alla tua organizzazione. I cloud pubblici forniscono risorse in base alle necessità e al piano sottoscritto.
Per quanto riguarda il monitoraggio del cloud, esistono alcune differenze tra cloud pubblici e privati. I cloud privati hanno un chiaro vantaggio in termini di controllo. È più facile personalizzare l'ambiente cloud in base alle proprie esigenze, c'è maggiore privacy e controllo sulla gestione delle risorse cloud e l'installazione di agenti specifici per il monitoraggio è più semplice. Di conseguenza, un cloud privato consente anche un monitoraggio molto più approfondito. Un cloud privato può sembrare la scelta migliore in assoluto, ma comporta costi più elevati rispetto ai cloud pubblici, il che spesso li rende una scelta non così ovvia.
I cloud pubblici, invece, sono complessivamente più economici, hanno un livello di manutenzione molto più basso, godono di una scalabilità quasi illimitata e sfruttano una maggiore ridondanza. Il fatto di non essere limitati a un set fisso di hardware significa che, in caso di guasto, c'è un backup pronto. La maggior parte delle aziende sceglie i cloud pubblici per questi motivi e accetta un minor controllo dell'ambiente e una minore personalizzazione. Il monitoraggio di un cloud pubblico può essere limitante, a seconda della facilità di installazione dei propri agenti di monitoraggio e della vastità dell'insieme di metriche esposte dalle API del fornitore di cloud.
Alla fine, come per molti altri aspetti dell'informatica, la scelta tra cloud pubblico e privato è una questione di compromesso per l'organizzazione. Entrambi possono essere monitorati, ma con livelli diversi di flessibilità e facilità.
Differenze tra monitoraggio cloud e SaaS
Il monitoraggio nel cloud presenta un'altra differenza che non si applica al monitoraggio on-premise. In quest'ultimo caso, il software di monitoraggio è solitamente ospitato su un server che fa parte della rete locale. La necessità di installarlo, configurarlo, aggiornarlo e mantenerlo è compito del team IT.
Nel monitoraggio cloud, c'è la possibilità di installare lo strumento di monitoraggio scelto anche nel cloud. L'onere di installarlo, aggiornarlo e farlo funzionare è solitamente delegato all'amministratore del cloud. Il monitoraggio cloud viene quindi offerto come software as a service (SaaS) e viene eseguito insieme a qualsiasi altro servizio presente nel cloud. Utilizza le risorse del cloud e può comportare costi di servizio più elevati.
Il monitoraggio SaaS viene utilizzato anche per indicare il processo di monitoraggio delle prestazioni e dell'utilizzo delle applicazioni SaaS. In questo senso, il termine si differenzia non in base al luogo in cui il software di monitoraggio è ospitato, ma in base a ciò che monitora. Il monitoraggio del cloud può essere un termine che indica il monitoraggio dell'infrastruttura del cloud, mentre il monitoraggio SaaS si concentra sulle applicazioni che vengono eseguite sul cloud. Il monitoraggio SaaS ha un sinonimo nel monitoraggio delle applicazioni cloud. Come per molti termini dell'IT, entrambi i significati sono validi e la differenza è solo legata al contesto.
Tipi di monitoraggio del cloud: Cosa deve essere monitorato in un'infrastruttura cloud?
L'infrastruttura cloud è grande e complessa, ma non necessariamente diversa dalle infrastrutture on-premise. Qualsiasi infrastruttura virtuale segue generalmente le stesse regole di quella fisica, il che si riflette anche nel suo monitoraggio. Entrambe condividono molte somiglianze e alcune differenze. Ad esempio, le metriche abituali, come l'utilizzo della CPU e della memoria, l'utilizzo della rete, lo spazio di archiviazione, il throughput della rete, il lag e lo stato di ogni servizio devono essere inclusi in una strategia di monitoraggio completa nel monitoraggio del cloud così come nel monitoraggio della rete locale e dei server.
Una differenza fondamentale è la maggiore scalabilità dei cloud, poiché uno dei principali vantaggi dell'infrastruttura cloud è che può scalare molto rapidamente e facilmente. A differenza di quelle on-premise, quando una rete cloud raggiunge la capacità, si ridimensiona automaticamente per consentire l'aumento dell'utilizzo delle risorse senza intoppi. Pertanto, tutte le metriche relative alla capacità hanno un'importanza minore nel monitoraggio del cloud rispetto al normale monitoraggio di una rete o di un server. La loro importanza è più che altro quella di tenere traccia dei costi associati al loro utilizzo, piuttosto che preoccuparsi di raggiungere la capacità.
Il monitoraggio del cloud è ricco di parti mobili. È meglio vedere cosa deve essere monitorato a seconda del caso d'uso e del tipo di servizio che si intende tenere sotto controllo.
Monitoraggio dei server basati sul cloud
Che un server sia in esecuzione nel cloud o on-premise, le metriche da monitorare sono più o meno le stesse. Sebbene il monitoraggio dei server cloud riguardi un server virtuale, esso si comporta comunque come un server e le metriche esposte non sono completamente diverse.
L'utilizzo di CPU, memoria e disco è il minimo indispensabile per capire come il server gestisce il carico di lavoro e se è necessario scalarlo in tempi brevi. Il monitoraggio del traffico di rete di un server cloud è essenziale per identificare i colli di bottiglia e i potenziali problemi di rete. Un buon indicatore di questi ultimi sono i lunghi tempi di risposta e l'elevato tasso di errore del server in questione. Questi sono chiari segnali che indicano che non tutto funziona bene nell'ambiente cloud e che il server deve essere controllato. Infine, il monitoraggio del tempo di attività e dello stato di un server indica se il server è attivo e risponde.
Qualsiasi software di monitoraggio del cloud è in grado di raccogliere queste metriche e di aiutarvi nel monitoraggio dei server cloud.
Monitoraggio delle reti virtuali
Le reti virtuali sono reti definite dal software che sono un componente principale degli ambienti cloud. Consentono a sedi fisicamente distanti di operare sulle stesse risorse senza utilizzare una VPN e di delegare l'effettiva configurazione e manutenzione dell'hardware al fornitore di cloud scelto. In pratica, si tratta di un'emulazione, ma è comunque fondamentale per le aziende che si affidano a infrastrutture cloud o ibride. Il monitoraggio delle reti virtuali è il ramo del monitoraggio del cloud che ha il compito di mantenere queste reti sane ed efficienti.
Monitorare il cloud significa quindi anche tenere il polso delle reti virtuali che lo compongono. Come per il monitoraggio dei server cloud, gli elementi da monitorare non differiscono molto dalle controparti fisiche. La latenza di rete, il throughput, i tassi di errore e lo stato di salute di ciascuno dei dispositivi virtuali che compongono i nodi di rete sono le metriche di base da tenere d'occhio, che sono le stesse di una rete reale.
Le reti virtuali hanno il vantaggio di essere molto più flessibili e scalabili di una rete fisica classica. Essendo definite nel software, come altri servizi cloud, queste reti possono essere rapidamente modificate, ampliate o ridotte. Il monitoraggio delle reti virtuali deve essere in grado di seguire queste modifiche senza dover riconfigurare il monitoraggio stesso.
Monitoraggio dei database cloud
I database sono un elemento chiave di ogni infrastruttura. Contengono i dati che alimentano la maggior parte delle altre funzionalità. I database esistono anche nel cloud e devono essere monitorati come qualsiasi altro servizio.
Il monitoraggio dei database nel cloud è il ramo del monitoraggio del cloud che si occupa di controllare i database presenti sulle reti cloud. AWS RDS, Azure SQL e GCP Cloud SQL sono database cloud comuni, ma non sono gli unici. In generale, qualsiasi soluzione di monitoraggio del cloud dovrebbe essere in grado di monitorare almeno questi database e, come nel caso di Checkmk, possibilmente di più.
Le metriche chiave da monitorare per i database sono l'utilizzo complessivo delle risorse del database cloud, le transazioni al secondo e il rapporto di hit della cache, oltre ai file di dati e di log. I database cloud non sono diversi e anche queste metriche devono essere raccolte per un corretto monitoraggio dei database cloud.
Monitoraggio dello storage cloud
Lo storage è una necessità sia in sede che nel cloud. Tutti i fornitori di cloud offrono una serie di opzioni per archiviare file e applicazioni. Si va dalla semplice archiviazione per il backup dei documenti a livelli di utilizzo personalizzati per le esigenze aziendali. La presenza in un ambiente cloud significa che questo spazio di archiviazione può essere facilmente ampliato in caso di necessità, a differenza di quanto avviene nei locali in cui le unità fisiche devono essere acquistate e installate prima di poter essere utilizzate.
Indipendentemente da ciò che viene memorizzato nel cloud, è possibile monitorarlo. Lo storage nel cloud è alla base di molti altri servizi, come l'hosting di siti web, i dati delle applicazioni, i database e altro ancora. Il monitoraggio è chiaramente vantaggioso e una buona pratica per assicurarsi che nessuno dei tuoi servizi esaurisca lo spazio e che non ci siano colli di bottiglia nelle prestazioni a causa dell'inefficienza dello storage. Il monitoraggio della sicurezza del cloud si interseca con il monitoraggio dello storage del cloud, poiché la sicurezza dei dati ospitati sul cloud è di primaria importanza per la sicurezza generale.
Il monitoraggio del cloud storage è il ramo del monitoraggio del cloud che monitora le varie offerte di cloud storage presenti sul mercato. Queste includono AWS S3 (Simple Storage Service), AWS EBS (Elastic Block Store) e AWS ECS (Elastic Container Service) come parte del monitoraggio del cloud AWS. Azure ha una serie di offerte diverse relative allo storage, come Blob, Disk, Queue, File e Table Storage. Lo storage di GCP si chiama semplicemente Cloud Storage. Ci sono chiaramente piccole differenze, soprattutto in relazione all'uso previsto dello spazio di archiviazione, ma più i file ospitati sono vitali, più è importante utilizzare una soluzione di monitoraggio del cloud per monitorarli.
Monitoraggio dei siti web
L'hosting di siti web è facilmente realizzabile nel cloud. Mentre l'hosting dedicato esiste ormai da decenni, tutti i principali fornitori di cloud hanno iniziato solo relativamente di recente a offrire anche l'hosting di un sito web sui loro servizi cloud. Ha senso che il sito web della tua azienda si trovi sullo stesso cloud degli altri servizi interni o esterni, perché in questo modo è molto più facile monitorarli. Sia che tu abbia bisogno di un server web completamente operativo per un'applicazione web, sia che tu abbia semplicemente bisogno di un sito web statico, è possibile averlo sul fornitore cloud di tua scelta.
Da un punto di vista organizzativo e di monitoraggio, è più gestibile avere tutto sul cloud, sia che si tratti di un sito web, di database, di reti e di qualsiasi altro file utilizzato internamente o in altro modo. Grazie ai vantaggi di scalabilità del cloud, un sito web ospitato può rispondere a un picco di visite in modo molto più flessibile rispetto alla maggior parte dei normali servizi di web hosting.
Come per tutte le cose vitali per la tua azienda, anche il monitoraggio della salute del tuo sito web è essenziale. Fortunatamente, qualsiasi strumento di monitoraggio del cloud è in grado di monitorare le metriche critiche per un sito web, come l'utilizzo della larghezza di banda e dello spazio su disco.
Monitoraggio delle macchine virtuali
Le macchine virtuali (VM) sono comunemente utilizzate nelle infrastrutture e gli ambienti cloud non fanno eccezione. Grazie alla facilità con cui possono essere create nel cloud, sono spesso utilizzate dalle aziende per avere ambienti nuovi per i dipendenti o per i test.
Il monitoraggio delle macchine virtuali si occupa di tenere traccia della salute e dell'efficienza delle macchine virtuali, e una macchina virtuale nel cloud non è diversa. È necessario raccogliere la solita serie di metriche come l'utilizzo della CPU, l'utilizzo della memoria, la latenza di I/O, il tempo di attività delle macchine virtuali, l'utilizzo della rete e del disco per conoscere le prestazioni delle macchine virtuali.
Nel cloud, è più facile avere più macchine virtuali in esecuzione in ogni momento. Il software di monitoraggio del cloud deve essere in grado di seguire la creazione e la cancellazione delle macchine virtuali sul cloud, di sapere quando iniziare il monitoraggio di una nuova macchina virtuale e quando abbandonare il monitoraggio di una che si è appena spenta. Data la quantità e la natura dinamica delle macchine virtuali che possono essere create rapidamente in un ambiente cloud, il loro monitoraggio è un compito più difficile rispetto a quello in sede (in linea di massima, le eccezioni sono comuni). Tenere traccia di queste macchine virtuali effimere, che possono essere lanciate e abbandonate in pochi secondi, in tempo reale, è una sfida complessa per gli strumenti di monitoraggio e gli amministratori del cloud.

Monitoraggio delle prestazioni del cloud
Tutti i diversi processi e carichi di lavoro del cloud devono funzionare in modo efficiente e con prestazioni ottimali: questo è l'obiettivo del monitoraggio delle prestazioni del cloud. Come per il monitoraggio del cloud in generale, questo può essere effettuato con strumenti dedicati di ciascun fornitore di cloud o con strumenti di monitoraggio del cloud di terze parti.
Per il monitoraggio delle prestazioni del cloud, Amazon CloudWatch, Google Cloud Monitoring e Azure Monitor possono fornire le informazioni necessarie per monitorare le prestazioni di tutti gli aspetti dei rispettivi ambienti cloud. Se hai bisogno solo di un singolo cloud e le tue esigenze di monitoraggio hardware e software on-premise sono già coperte, questa può essere un'opzione ragionevole.
In alternativa, per avere una maggiore personalizzazione e flessibilità, una soluzione di monitoraggio cloud dedicata è un'opzione più valida. A differenza degli strumenti di monitoraggio integrati, una soluzione software separata che permetta di coprire tutte le esigenze di monitoraggio, sia nel cloud che a livello locale, può far risparmiare risorse, fornire una migliore interoperabilità e, in generale, essere più flessibile per i casi d'uso specifici.
Qualunque sia la scelta, il monitoraggio delle prestazioni del cloud consiste nel controllare le metriche sensibili alle prestazioni di tutti i servizi offerti dal cloud. Per le applicazioni, potrebbe trattarsi dell'utilizzo della CPU; per lo storage e i database, dell'utilizzo del disco; per le reti virtuali, dell'utilizzo del traffico e della latenza e così via. Ciascuno dei servizi cloud specifici ha le proprie metriche di performance. La raccolta di queste metriche non solo fornisce una visione delle prestazioni dell'ambiente cloud, ma anche la necessità di aggiornarlo o ottimizzarlo.
Per avere un'impostazione significativa del monitoraggio delle prestazioni del cloud, le metriche devono essere monitorate continuamente e gli avvisi devono essere inviati quando una di esse raggiunge una soglia predefinita. Non si tratta di uno sforzo passivo, ma di uno sforzo attivo per garantire che l'infrastruttura funzioni senza problemi. Il software di monitoraggio del cloud deve essere reattivo per eseguire un monitoraggio ottimale delle prestazioni del cloud.
Monitoraggio della sicurezza del cloud
Il monitoraggio della sicurezza del cloud raggruppa una serie di processi che consentono di esaminare, gestire e osservare il flusso di lavoro e la sicurezza degli ambienti cloud. A causa della sensibilità dei dati ospitati nel cloud e dell'importanza operativa dei servizi cloud, la sicurezza deve essere una preoccupazione primaria per qualsiasi team IT.
Anche se i fornitori di cloud hanno speso molte risorse per garantire che le violazioni dei dati e le vulnerabilità siano ridotte al minimo, ovviamente non si tratta mai di un'impresa priva di rischi. Gli strumenti di monitoraggio del cloud, tuttavia, controllano anche la sicurezza degli ambienti cloud, nonché le loro prestazioni e la loro efficienza.
In termini pratici, questo significa molti controlli. Il monitoraggio attivo dei tentativi di connessione alla ricerca di possibili intrusioni implica il controllo del volume di traffico su tutte le reti cloud per verificare la presenza di picchi di utilizzo insoliti e il monitoraggio della durata delle sessioni, che potrebbe indicare un'attività dannosa. Anche i criteri e le autorizzazioni degli utenti devono essere controllati regolarmente, così come le configurazioni dei certificati e il rinnovo di quelli scaduti. Si può arrivare fino alla verifica del checksum dei backup e dei file di archiviazione nel cloud rispetto alla versione locale, per assicurarsi che nulla sia stato manomesso o corrotto.
Il monitoraggio della sicurezza del cloud non riguarda esclusivamente la sicurezza dei dati nel cloud. È anche importante seguire le normative di conformità, che richiedono l'implementazione di strumenti di osservazione sotto forma di software di monitoraggio del cloud per rispettare tali normative. Gli audit interni ed esterni si concentrano spesso sulla sicurezza. Pertanto, il monitoraggio nel cloud deve necessariamente includere controlli di sicurezza per essere conforme a tali audit. Di solito, il monitoraggio dei server cloud e il monitoraggio delle reti cloud sono le aree principali su cui concentrarsi per la sicurezza, senza trascurare la necessità di garantire la sicurezza dell'archiviazione cloud e dei relativi dati.
Best practice per il monitoraggio del cloud
Il modo migliore per creare una buona strategia di monitoraggio del cloud è valutare inizialmente l'infrastruttura. Determinate se è suddivisa tra diversi cloud provider, se ha servizi on-premise, quali tipi di cloud sono coinvolti e, in generale, come è formata tutta l'infrastruttura. In questo modo è possibile pianificare una strategia che, spesso, prevede uno strumento di monitoraggio del cloud centralizzato in grado di monitorare il tutto.
La ragione per avere un'unica soluzione di monitoraggio che possa comprendere almeno i principali fornitori di cloud (AWS, Azure e GCP) è che è più facile da implementare e mantenere e che rappresenta un unico punto di controllo per l'intera infrastruttura. È molto più facile valutare chi deve avere accesso al dashboard di monitoraggio quando esiste un'unica soluzione invece di più pezzi, ognuno dei quali monitora una parte dell'infrastruttura.
Una volta che la soluzione di monitoraggio del cloud è stata installata e configurata, è importante stabilire le metriche da raccogliere a seconda dei servizi eseguiti sul cloud. Forse l'infrastruttura riguarda soprattutto le app in esecuzione su servizi come AWS Lambda o Azure Functions, o forse è necessario un ampio uso di database, come AWS DynamoDB o GCP Cloud SQL. Nel primo caso, si potrebbe voler monitorare l'utilizzo di CPU e memoria e assicurarsi che il numero di microservizi rientri nell'intervallo previsto per l'applicazione. Nel secondo caso, sono più importanti metriche come il numero di accessi, le prestazioni delle query e l'integrità dei dati.
Adatta le metriche al modo in cui utilizzi il tuo cloud e imposta gli allarmi relativi per ricevere un avviso non appena qualcosa supera la soglia del normale funzionamento. Il monitoraggio del cloud coinvolge una grande quantità di elementi che hanno usi diversi e possibili problemi. Pertanto, il monitoraggio deve essere personalizzato in base a ciò che si sta utilizzando.
Inoltre, i vari fornitori di cloud applicano piani di costo diversi a seconda dell'utilizzo e della quantità. Le soluzioni di monitoraggio del cloud sono spesso in grado di monitorare l'utilizzo corrente delle risorse della rispettiva piattaforma cloud e quindi di tenere sotto controllo i costi sostenuti.

Sfide del monitoraggio del cloud
Il monitoraggio del cloud presenta una serie di sfide proprie rispetto al monitoraggio on-premise. Queste sono intrinseche alla natura degli ambienti cloud e devono essere affrontate, o almeno considerate, quando si imposta una soluzione di monitoraggio cloud.
I cloud sono ambienti dinamici ed elastici e le risorse vanno e vengono su richiesta e automaticamente. Il monitoraggio di un sistema in continua evoluzione e che può cambiare da un momento all'altro, se non da un secondo all'altro, significa che una soluzione software deve essere in grado di tenere traccia di qualsiasi tipo di cambiamento in tempo reale. Impostare il monitoraggio una volta e poi dimenticarsene non è un'opzione possibile quando si esegue il monitoraggio nel cloud o nel cloud ibrido. È necessario tenere presente che le reti possono cambiare, i server possono essere spenti e che i microservizi nascono e scompaiono in un batter d'occhio. Sia gli amministratori che il software di monitoraggio devono essere pronti ad affrontare i cambiamenti in qualsiasi momento e senza necessariamente attivare un avviso o una notifica.
Un ambiente cloud può anche essere distribuito su più sedi separate da una grande distanza geografica. È prevedibile un aumento della latenza per la ricezione delle informazioni. Il monitoraggio della rete cloud deve tenere conto della possibile riduzione delle prestazioni in questi sistemi distribuiti. Per ovviare a questo problema, i fornitori di cloud offrono diverse ubicazioni/regioni per i loro data center, in modo da mitigare la distanza tra le tue reti e le loro. Tuttavia, in alcuni ambienti ibridi, in cui sono presenti sia servizi on-premises che cloud, è prevedibile una latenza più elevata a causa della distanza ancora esistente tra le risorse cloud e quelle locali. Una soluzione di monitoraggio del cloud deve essere in grado di monitorare entrambi i lati di queste reti.
Soprattutto quando si recuperano i dati di monitoraggio tramite l'API del cloud provider, è possibile che si debbano affrontare alcune restrizioni. Come per qualsiasi API, è possibile eseguire il polling solo di ciò che è esposto, e nel monitoraggio ciò significa che è possibile raccogliere solo le metriche disponibili. In sede, avete accesso completo ai dispositivi e alle applicazioni, il che potrebbe non essere esattamente vero per un ambiente che non è completamente sotto il tuo controllo.
Gli ambienti cloud possono richiedere maggiori misure di sicurezza e conformità, soprattutto per garantire la protezione dei dati. Il monitoraggio della sicurezza nel cloud può diventare più difficile da eseguire, in quanto potrebbe non esserci lo stesso livello di controllo sulle risorse come nel caso degli ambienti on-premise.
Infine, i costi non possono essere ignorati quando si utilizza un ambiente cloud. Esistono diversi livelli di utilizzo e ogni servizio viene fatturato in modo diverso. Tuttavia, il monitoraggio del cloud può comportare ulteriori costi che devono essere calcolati e monitorati per garantire che rimangano accettabili.
Come scegliere uno strumento di monitoraggio del cloud?
Con la vasta gamma di servizi e offerte cloud disponibili, la scelta di uno strumento di monitoraggio del cloud non è semplice. Come già detto, la prima scelta da fare è quella di selezionare un software in grado di monitorare tutti i cloud su cui si baserà la tua infrastruttura. Più ambienti cloud sono necessari, meno scelte si possono fare. I servizi cloud meno comuni potrebbero non essere supportati da tutti gli strumenti di monitoraggio e anche all'interno dei tre grandi, AWS, Azure e GCP, non tutti i servizi e le risorse sono inclusi nel monitoraggio. Fortunatamente, almeno i tre principali servizi di monitoraggio del cloud sono generalmente ben supportati dalle soluzioni di monitoraggio del cloud, quindi questo non dovrebbe rappresentare una limitazione eccessiva.
È altamente auspicabile avere uno strumento facile da impostare e configurare. Gli ambienti cloud sono già abbastanza complessi, quindi non è consigliabile aggiungere complessità. Allo stesso modo, uno strumento dotato di un'interfaccia utente moderna, con numerose dashboard per la visualizzazione dei dati, vi darà un vantaggio nel monitoraggio nel cloud. Checkmk soddisfa questi requisiti.
L'automazione nel monitoraggio è importante per ridurre gli errori umani e facilitare il monitoraggio. Negli ambienti cloud, ciò significa la scoperta automatica di servizi nuovi e obsoleti che possono essere aggiunti o rimossi automaticamente dal monitoraggio. Checkmk scopre automaticamente i servizi e aggiunge e rimuove gli host in tempo reale, in modo che i cambiamenti nell'ambiente cloud si riflettano immediatamente sul monitoraggio.
Caratteristiche da ricercare in un software di monitoraggio del cloud
La soluzione di monitoraggio giusta deve essere in grado di soddisfare i requisiti del cloud: sia che si intenda utilizzare il monitoraggio del cloud AWS, sia che si intenda utilizzare il monitoraggio del cloud Azure, sia che si intenda utilizzare il monitoraggio del cloud GCP, è necessario uno strumento in grado di supportare l'interfacciamento con questi fornitori. Esistono anche altri fornitori che dovrebbero essere supportati se si intende utilizzare uno di essi.
Allo stesso modo, una buona soluzione di monitoraggio del cloud deve essere in grado di monitorare tutti i servizi e le risorse necessarie per il tua caso d'uso. Alcune soluzioni gratuite o economiche hanno un limite di servizi che potrebbe essere troppo restrittivo per le tue esigenze. Le versioni premium di questi strumenti di solito eliminano tali limiti, ma è comunque bene verificare se si intende utilizzare un numero insolitamente elevato di servizi nel cloud da richiedere uno strumento potente o un preventivo personalizzato. È possibile che sia necessario acquistare capacità aggiuntive per lo strumento di monitoraggio del cloud scelto.
Lo strumento di monitoraggio del cloud scelto deve essere compatibile con il cloud e non solo adattato ad esso. Deve essere in grado di interfacciarsi con gli ambienti cloud e con le reti e gli host on-premise e deve supportare i servizi cloud necessari.
Conclusione
L'utilizzo del cloud comporta una maggiore scalabilità, personalizzazione e flessibilità. In termini di monitoraggio, ciò richiede una soluzione di monitoraggio capace. Il flusso di servizi e host che vengono avviati e interrotti ogni minuto è molto più grande di quello che avviene in sede. I normali strumenti di monitoraggio non sono sufficienti, a meno che non siano stati sviluppati per il monitoraggio del cloud.
Il monitoraggio della sicurezza del cloud e il monitoraggio delle prestazioni del cloud implicano anche l'adattamento del software di monitoraggio a un ambiente che non è completamente gestito dall'organizzazione. L'utilizzo di ambienti cloud ibridi aggiunge alcuni vantaggi, ma significa anche affrontare nuove difficoltà di monitoraggio rispetto a quelle già gestite sulle reti fisiche. Per monitorare tutto questo, è necessario uno strumento di monitoraggio all'avanguardia come Checkmk Cloud Edition.
Con Checkmk è possibile monitorare tutte le tecnologie cloud-native, come database gestiti, funzioni e microservizi su tutti i principali fornitori di cloud, come AWS, Azure e Google Cloud Platform. Con dashboard dedicate per visualizzare facilmente tutti i cloud, il monitoraggio di tutte le risorse e i componenti diventa una questione semplice. Checkmk è in grado di gestire queste infrastrutture effimere.
FAQ
SaaS, PaaS e IaaS sono modelli di servizi informatici diversi. Le PaaS (Platform as a Service) sono piattaforme complete per lo sviluppo, la distribuzione e la gestione di applicazioni e servizi nel cloud. SaaS (Software as a Service) fornisce l'accesso solo al software che esegue un servizio, senza che i clienti debbano installare o mantenere alcunché. IaaS (Infrastructure as a Service) è un intero sistema che consente non solo di distribuire e sviluppare applicazioni, ma anche di gestire risorse aziendali come reti, server, database, storage e altro ancora.
Il termine monitoraggio del cloud ibrido descrive il monitoraggio delle infrastrutture ibride. Queste sono costituite da reti, host e servizi sia on-premises che cloud. Non importa quanto l'infrastruttura sia locale o nel cloud, né se si utilizza più di un servizio cloud; un'infrastruttura ibrida è definita semplicemente dalla presenza di parti in entrambi gli ambienti.
Una soluzione di monitoraggio cloud può essere utilizzata dal cloud, ma lascia al reparto IT il compito di installarla e configurarla. Un'infrastruttura cloud di monitoraggio SaaS è già presente su un determinato cloud e deve solo essere accessibile e configurata per essere utilizzata. Elimina la necessità di installare e aggiornare, lasciando la manutenzione al fornitore. A sua volta, perde un po' di flessibilità.
Il monitoraggio dei load balancer è il processo di monitoraggio dei load balancer. Questi, spesso abbreviati in LB, sono software o dispositivi, sia fisici che virtuali, che distribuiscono il traffico di rete in entrata su più risorse. Gli LB assicurano un'elevata disponibilità di applicazioni o servizi e prevengono il sovraccarico. Il monitoraggio dei load balancer è quindi necessario per sfruttarne l'utilità ed evitarne i guasti, che potrebbero facilmente causare congestioni di rete.
Hyperscaler è un termine informatico che deriva dalla capacità di iperscalare un'architettura software in base all'aumento della domanda. Non esiste una definizione universalmente accettata di hyperscaler, ma tutti i principali sistemi di cloud provider, come AWS, Azure, GCP, IBM Cloud e così via, rientrano nella definizione di hyperscaler.