Cos'è Blob storage e perché è importante monitorarlo?
Azure Blob Storage è un tipo di archiviazione a oggetti basata sul cloud. I blob (acronimo di Binary Large Object) consentono ai team IT di archiviare grandi quantità di dati non strutturati su Microsoft Azure. I dati non strutturati sono informazioni che non seguono uno schema o un modello organizzativo predefinito: in parole semplici, si tratta di dati non organizzati in formati strutturati come quelli di un database relazionale.
Nel contesto della trasformazione digitale, le tecnologie moderne generano continuamente dati attraverso una molteplicità di canali – dalle e-mail ai documenti aziendali, dai sondaggi online ai contenuti pubblicati sui social media. Queste informazioni influenzano profondamente il modo in cui le aziende operano e comunicano. Tuttavia, poiché gran parte di questi dati è non strutturata, molte organizzazioni si trovano ad affrontare la sfida di doverli archiviare e gestire in modo efficiente, soprattutto quando i volumi crescono rapidamente.
Come organizzare e conservare questi dati? Blob storage rappresenta una risposta concreta a questa crescente esigenza. Ed ecco perché il suo monitoraggio è fondamentale.
Blob storage e l'archiviazione non strutturata dei Big Data
Azure Blob Storage è una soluzione di archiviazione a oggetti progettata per scalare senza problemi con volumi di dati non strutturati in continua crescita e carichi di lavoro ad alto traffico. Offre un throughput elevato e una bassa latenza, garantendo un accesso efficiente ai dati.
Azure Blob Storage archivia i blob in una struttura "data lake" priva di gerarchia. Tra i casi d'uso più comuni rientrano i file multimediali, i backup e il disaster recovery: file che possono occupare molto spazio e che, pur non richiedendo un accesso frequente, devono poter essere recuperati rapidamente per garantire il corretto funzionamento di servizi e operazioni correlati.
Il monitoraggio di Blob storage è quindi un'attività fondamentale. Quando si utilizzano i blob per archiviare Big Data non strutturati, è essenziale tracciarne l'utilizzo e ricevere notifiche in caso di anomalie, così da prevenire interruzioni nei servizi e nelle applicazioni che dipendono da essi.
Architettura di Azure Blob Storage
Azure Blob Storage si compone di tre livelli principali: l'account di archiviazione dell'utente, i container e i blob.
Ogni utente di Azure dispone di un proprio account di archiviazione e di un URI (Universal Resource Identifier) unico per procedere all'archiviazione dei dati. Ogni account di archiviazione può contenere un numero infinito di container.
I container aiutano a organizzare i blob per archiviare i dati in modo più logico e ordinato. Ad esempio, possiamo immaginare un container dedicato ai file video, un altro per i file audio e così via.
Ogni container può memorizzare un numero infinito di blob. I blob sono raccolte di dati binari non strutturati: dati che non devono seguire un formato specifico e non hanno metadati associati.

Cosa sono i blob container?
I blob container di Azure hanno una struttura simile a quella delle cartelle in Azure Blob Storage e sono utilizzati per archiviare e organizzare un numero infinito di oggetti di dati, o blob, in uno spazio dei nomi con una struttura gerarchica. In parole più semplici, i blob forniscono un metodo per archiviare dati non strutturati, mentre i blob container forniscono una "forma" gerarchica.
I blob sono raggruppati in container, che organizzano un insieme di blob con una metodologia simile a quella con cui una directory del file system organizza i file. Si può pensare a un blob container come a un cassetto attraverso il quale si possono gestire i file.
Ad esempio, un blob container potrebbe essere utilizzato per i documenti, un altro per i file, un altro ancora per i video e così via. L'aspetto affascinante è che un account di archiviazione può potenzialmente contenere infiniti container e un singolo container, a sua volta, infiniti blob. Per quanto riguarda il nome del container, deve essere conforme a un nome di dominio valido, perché va a formare parte dell'URI che viene utilizzato per indirizzare il container stesso e i suoi blob.
Non bisogna confondere i blob container con quelli di file: i primi, come abbiamo visto, sono utilizzati per la memorizzazione di blob e dati non strutturati, mentre i secondi sono utilizzati per la memorizzazione strutturata di file in Azure File Storage.
Tipi di blob
In Azure esistono tre tipi di archiviazione blob: blocks blob, append blob e page blob.
I blocks blob sono utilizzati per archiviare testo, file multimediali, documenti e dati binari e sono costituiti da blocchi di dati identificati da un ID di blocco, che possono essere gestiti singolarmente, raggiungendo uno storage massimo di circa 190,7 TiB. Mentre un blob block può includere fino a 50.000 blocchi, i nuovi blocchi rimangono non allocati finché non vengono impegnati o scartati. Il numero massimo di blocchi non impegnati è di 100.000.
Gli append blob sono composti da blocchi (come gli stessi blocks blob), ma sono ottimizzati per le operazioni di append: si tratta di operazioni che aggiungono o collegano elementi o record di dati alla fine di un set di dati, di un file, di una tabella di database o di un elenco esistente e sono molto delicate, soprattutto quando riguardano, ad esempio, lo streaming di dati. Hanno implicazioni importanti per l'efficienza, la scalabilità e l'affidabilità dell'archiviazione dei dati in ambienti distribuiti e ad alto volume.
Gli append blob sono utilizzati, ad esempio, per memorizzare i dati delle macchine virtuali. Ogni append blob può avere dimensioni diverse (fino a un massimo di 4 MiB) e può includere fino a 50.000 blocchi, portando la sua dimensione massima a poco più di 195 GiB (4 MiB x 50.000). Un append blob non rivela i suoi ID di blocco.
Infine, i page blob sono raccolte di pagine da 512 byte ottimizzate per operazioni di lettura e scrittura casuali. Sono responsabili dell'archiviazione dei file sul VHD (disco rigido virtuale) e fungono da dischi per le macchine virtuali di Azure. I blob di pagina possono memorizzare file ad accesso casuale fino a una dimensione di 8 TiB.
Online access tier e archive access tier di Azure Blob
Poiché la quantità di dati archiviati nel cloud è destinata a crescere costantemente, diventa sempre più importante organizzare lo storage in base a criteri quali la frequenza di accesso e i requisiti di conservazione.
In Azure Storage è possibile utilizzare diversi livelli di accesso per i dati blob a seconda del caso d'uso principale dei dati archiviati. Ciò consente di gestire e archiviare i dati nel modo più conveniente:
Hot tier: un livello online per i dati a cui si accede e si modifica frequentemente. Ha un costo di archiviazione più elevato ma il costo di accesso più basso. Questo livello è ideale per i dati in uso e a cui si deve accedere regolarmente, come la distribuzione di contenuti, l'analisi dei big data e i dati telemetrici.
Cool e Cold tier: questi due livelli sono progettati per i dati a cui si accede meno frequentemente, ma che devono essere immediatamente disponibili. Offrono costi di archiviazione inferiori, ma costi di accesso più elevati rispetto all'Hot tier. Entrambi i livelli hanno proprietà simili, con la principale differenza del periodo di conservazione: nel Cool tier i dati devono essere conservati per almeno 30 giorni, mentre nel Cold tier devono essere conservati per almeno 90 giorni.
Archive tier: un'opzione offline per i dati a cui si accede raramente, come i backup a lungo termine, gli archivi e i dati di conformità. Questo livello è adatto a qualsiasi tipo di dati che devono essere archiviati per un periodo prolungato, con un periodo minimo di archiviazione di 180 giorni.
Monitoraggio di Blob storage: Come farlo correttamente?
Azure Blob Storage è una soluzione popolare per l'archiviazione di grandi volumi di dati non strutturati, essenziali per il funzionamento delle applicazioni, in particolare per le aziende che forniscono servizi 24 ore su 24.
Pertanto, è essenziale per le organizzazioni ottimizzare le prestazioni e la disponibilità delle applicazioni collegate ai blob e garantirne il corretto funzionamento, ottimizzare la capacità dei blob collegati a servizi critici, proteggere l'ambiente di archiviazione e gestire i costi associati agli account di archiviazione Azure.
Il monitoraggio di Azure Blob Storage risponde a queste esigenze essenziali, rendendolo un aspetto cruciale del monitoraggio dello storage di Azure, a sua volta un'area fondamentale del monitoraggio di Azure Cloud.
Vediamo ora come massimizzare i vantaggi del monitoraggio di Azure Blob Storage e come scegliere lo strumento di monitoraggio migliore a questo scopo.
Best practice e metriche per il monitoraggio di Azure Blob Storage
Per ottimizzare i blob di Azure e le applicazioni connesse in termini di disponibilità, prestazioni, capacità, sicurezza ed efficienza dei costi, è essenziale seguire queste best practice:
- Tieni sotto controllo le prestazioni: traccia regolarmente le principali metriche delle prestazioni per identificare e risolvere tempestivamente i problemi. Metriche come "Transaction Count", "Ingress" e "Egress" aiutano a individuare rapidamente i colli di bottiglia e a localizzare i componenti dell'infrastruttura che potrebbero necessitare di un'ottimizzazione. Le metriche "Success E2E Latency" e "Success Server Latency" sono fondamentali per rilevare problemi e conflitti con le risorse lato client che potrebbero influire sulla velocità di trasmissione dei dati. Inoltre, la metrica "Availability" consente di identificare le richieste di storage non riuscite, che potrebbero indicare timeout del server o problemi all'interno dell'infrastruttura di Azure storage nelle varie regioni.
- Analizza la capacità di storage: valuta la capacità di account, container e blob per soddisfare la domanda e garantire un servizio efficiente per un'esperienza utente ottimale. La metrica "Used capacity" consente di confermare che lo storage sia allocato in modo adeguato per i servizi mission-critical, mentre le metriche "Blob Container Count" e "Blob Count" forniscono informazioni sul numero di container e oggetti blob archiviati, nonché sulla capacità utilizzata da ciascun container. Inoltre, le metriche "Blob Capacity" e "Blob Provisioned Size" aiutano a comprendere l'allocazione dello storage per ciascun servizio Blob.
- Mantieni la sicurezza degli account: rafforza la sicurezza dell'account monitorando le attività e il traffico sospetti grazie alle metriche "Ingress", "Egress" e "Transaction Count". La metrica "Transaction Count" fornisce anche una visione completa del comportamento degli utenti. Esaminando i flussi di transazioni, è possibile rilevare differenze di utilizzo significative, che possono indicare richieste non autorizzate o fughe di dati.
- Identifica le opportunità di risparmio: utilizza le metriche "Used Capacity" e "Transaction Count" per identificare gli account di storage con un utilizzo minimo o nullo, che potrebbero essere ottimizzati per risparmiare sui costi. Poiché i costi di trasferimento dei dati variano a seconda del tipo (ad esempio, all'interno della stessa Azure Availability Zone, interregionale o intercontinentale), le metriche "Ingress" e "Egress" possono aiutare a individuare le aree in cui concentrare gli sforzi di ottimizzazione dei costi.
Scegliere lo strumento giusto per il monitoraggio di Azure Blob Storage
Questa guida mostra come il monitoraggio di Azure Blob Storage sia essenziale per mantenere le prestazioni, la disponibilità e l'efficienza delle soluzioni di cloud storage. Di seguito, ecco una lista dei principali strumenti per effettuarne il monitoraggio.
Microsoft fornisce diversi strumenti, come Azure Monitor, Azure Storage Analytics e Azure Application Insights.
Azure Monitor è lo strumento più completo per il monitoraggio delle risorse di Azure, compreso Blob Storage. Fornisce una piattaforma centrale per la raccolta, l'analisi e l'utilizzo di metriche e log, oltre a dashboard e notifiche dettagliate.
Azure Storage Analytics fornisce informazioni dettagliate sull'utilizzo e sulle prestazioni di Blob Storage raccogliendo metriche e log. Con questo strumento è possibile analizzare le tendenze di utilizzo, tracciare le richieste e identificare i problemi all'interno dell'account di archiviazione.
Infine, Azure Application Insights aiuta a monitorare le applicazioni web che interagiscono con Blob Storage fornendo dati avanzati di monitoraggio e diagnostica, consentendo di eseguire e visualizzare query di analisi.
Azure Monitor, combinato con Azure Storage Analytics e Azure Log Analytics, offre opzioni di monitoraggio complete e flessibili. Con questi strumenti è possibile:
- Impostare dashboard e avvisi in tempo reale per monitorare le metriche chiave.
- Raccogliere e analizzare metriche e registri dettagliati per ottenere approfondimenti.
- Monitorare e ottimizzare i costi e gestire gli aspetti della sicurezza.
L'utilizzo della suite Azure consente di gestire con precisione tutti gli aspetti del monitoraggio degli account di archiviazione e dei blob Azure. Se si utilizzano servizi di diversi cloud provider, diventa però poco pratico affidarsi a più strumenti di monitoraggio, per vari servizi e su diverse piattaforme. È più sensato consolidare i servizi Azure, AWS e GCP in un'unica soluzione.
I software di monitoraggio del cloud di terze parti, come Checkmk, offrono una soluzione completa per questa e altre esigenze:
- Uno strumento unico per monitorare gli account di archiviazione di Azure, Azure Blob storage e tutte le tecnologie cloud-native, compresi database gestiti, funzioni e microservizi.
- Funzioni avanzate e flessibilità: strumenti di analisi specializzati e dashboard personalizzabili per approfondimenti.
- Monitoraggio consolidato: un'unica soluzione per il monitoraggio completo e distribuito dei cloud Azure, GCP e AWS, nonché degli ambienti on-premise. Monitoraggio di più sedi, ambienti e sistemi da un'unica istanza centrale.
- Meccanismi avanzati di notifica e avviso: opzioni di notifica multiple, integrazione con le piattaforme di comunicazione e avvisi intelligenti per ridurre al minimo i falsi allarmi.