Azure Blob Storage vs File Storage

Microsoft offre diverse opzioni per archiviare dati sul cloud. Ogni opzione ha il suo scopo unico per servire diverse esigenze aziendali. Una delle capacità significative che Microsoft Azure fornisce è l’agilità di migrare a diverse opzioni di archiviazione, se necessario.

Ci sono varie opzioni disponibili nell’account Azure Storage per l’archiviazione dei dati degli utenti.

  • Blob Storage
  • File Storage
  • Table Storage
  • Queue Storage
  • Disk

Questo blog cerca di differenziare tra Azure Blob Storage e File Storage che è disponibile in Azure Storage Account.

Introduzione

Blob Storage

Azure Blob Storage è una soluzione di storage a oggetti per il cloud. Blob Storage permette di memorizzare una quantità enorme di dati non strutturati. I dati non strutturati non hanno bisogno di essere del modello di dati specifico.

File Storage

Azure Files offre condivisioni di file completamente gestite nel cloud che sono accessibili tramite lo standard industriale SMB. Le condivisioni Azure File possono essere montate contemporaneamente da implementazioni cloud o on-premises di Windows, Linux e macOS. Può essere memorizzato nella cache sui server Windows con Azure File Sync per un accesso più veloce.

Quando usare

Blob Storage

Azure Blob Storage è stato progettato per soddisfare esigenze specifiche. Se il vostro caso d’uso aziendale ha bisogno di memorizzare dati non strutturati come audio, video, immagini, ecc. allora dovreste probabilmente scegliere questa opzione. Gli oggetti che vengono memorizzati in Blob non hanno necessariamente un’estensione.

I seguenti punti descrivono gli scenari dei casi d’uso:

  • Servire immagini o documenti direttamente a un browser
  • Memorizzare file per l’accesso distribuito
  • Trasmettere video e audio
  • Scrivere su file di log
  • Memorizzare dati per backup, ripristino, disaster recovery e archiviazione
  • Memorizzazione dei dati per l’analisi da parte di un servizio on-premises o Azure-hosted

File Storage

File Storage può essere usato se il tuo caso d’uso aziendale ha bisogno di trattare principalmente con estensioni di file standard come *.docx, *.png e *.bak, allora dovresti probabilmente scegliere questa opzione di archiviazione.

I seguenti punti descrivono gli scenari dei casi d’uso:

  • Sostituire o integrare i file server on-premises
  • Applicazioni “Lift and shift”
  • Semplificare lo sviluppo del cloud

Scaricare gratuitamente questo blog come documento PDF per la lettura offline.

Scenario in tempo reale

Considera uno scenario, in un ambiente di sviluppo dove ogni sviluppatore ha bisogno di accedere a IDE e strumenti senza usare internet per scaricarli. In questa situazione, Azure Blob Storage soddisferebbe il bisogno e utilizzando il quale è possibile memorizzare solo gli strumenti di sviluppo poi dare un link al team per accedere alla posizione Blob.

Per implementare un File server nella vostra organizzazione, si dovrebbe scegliere l’opzione Azure Files. Un file server viene utilizzato per condividere i file tra i vari dipartimenti dell’organizzazione. Quando si tratta di condivisione di file, l’utente finale non dovrebbe essere autorizzato ad accedere alle copie del file dal suo URI e deve essere mappato localmente nei computer. Questo è quando Azure File Storage si adatta alle tue esigenze.

Caricamento di file di grandi dimensioni

L’approccio comune utilizzato per caricare un file di grandi dimensioni è quello di dividerlo in pezzi. La divisione non è solo la funzione per caricare i file, ma i pezzi devono essere uniti in un file una volta che il caricamento è completo.

Per il compito di cui sopra, quale opzione sarebbe una buona soluzione? Azure Blob o File Storage?

La risposta è Azure Blob Storage. Anche se questo scenario ha a che fare con i file, Azure Blob Storage è una buona scelta grazie alle sue capacità off the shelf.

Azure Blob Storage contiene tre tipi di blob: Block, Page e Append. Un blocco è una singola unità in un Blob. Un Blob può contenere molti blocchi ma non più di 50.000 blocchi per Blob. Questo significa che puoi dividere un Blob in 50.000 blocchi da caricare nello storage Azure Blobs. La dimensione minima di un blocco è 64KB e la massima è 100 MB. Se guardi (per esempio la libreria .NET), uno degli oggetti è BlockBlob che fa parte della classe CloudBlockBlob. Questa classe ti offre tonnellate di cose per lavorare con un Block Blob.

Per esempio, la proprietà StreamWriteSizeInBytes ti permette di impostare una dimensione del blocco Blob che può essere buona per gestire una velocità di rete instabile. Ogni blocco Blob ha anche dei metadati che permettono di controllare individualmente. Per esempio, se volete assicurarvi che tutti i Blob a blocchi siano impegnati con successo in un dato Blob, potete usare Content-MD5.

Azure File Storage non ha questa capacità out-of-the-box. Se hai bisogno di dividere File, devi trovare un metodo indiretto come la classe FileStream o usare fornitori terzi.

Opzioni di monitoraggio disponibili per Blob Storage e File storage

Azure Portal

Una volta configurato lo Storage Account desiderato all’opzione Diagnostics nella sezione Monitoring, potrai definire il tipo di dati metrici che desideri monitorare e la politica di conservazione dei dati.

Un set predefinito di metriche viene visualizzato in grafici sul blade dello Storage Account, così come i blade dei singoli servizi (Blobs e Files). Una volta abilitate le metriche per un servizio, potrebbe essere necessaria fino a un’ora prima che i dati appaiano nei grafici. È possibile selezionare Modifica su qualsiasi grafico delle metriche per configurare le metriche da visualizzare nel grafico.

Opzione di monitoraggio dello storage del portale Azure

Serverless360 (Prodotto Off the Shelf)

È possibile monitorare sia i blob di storage che i file di storage in un monitor di stato o di soglia. Status Monitor genera un report in momenti specifici della giornata che rappresenta lo stato delle entità rispetto ai valori desiderati. Threshold Monitor genera un rapporto quando alcune proprietà violano i valori desiderati per un periodo specificato. Prevalentemente, Serverless360 monitora i blob e i file in base alle loro proprietà piuttosto che alle loro metriche, a differenza di Azure Portal.

Tipo di entità Proprietà che possono essere monitorate
Storage Blob Stato di locazione, Blob Count, Blob Size (Bytes), Block Blob Count, Block Size (Bytes), Page Blob Count, Page Blob Size (Bytes), Append Blob Count, Append Blob Size (Bytes)
Storage File Usage (Bytes)

L’immagine sottostante mostra la configurazione Blob nel Monitor di Stato dell’applicazione Serverless360.

Sl360 blob status monitor

Di seguito il dettaglio dell’errore generato se l’errore persiste per il periodo desiderato.

Dettagli dell'errore blob di Sl360

Scalabilità

È significativo conoscere la quota e i limiti di Azure Storage per scegliere la giusta opzione. Il livello più alto di rappresentazione della capacità in Azure Blob Storage è Containers, mentre per i file è Shares.

Risorsa Azure Blobs Target
Dimensione massima del singolo contenitore Blob 500 TB
Numero massimo di blocchi in un blocco Blob o append Blob 50,000 blocchi
Dimensione massima di un blocco in un blocco Blob 100 MB
Dimensione massima di un blocco Blob 50.000 X 100 MB (circa 4,75 TB)
Dimensione massima di un blocco in un’append Blob 4 MB
Dimensione massima di un’append Blob 50.000 x 4 MB (circa 195 GB)
Dimensione massima di una pagina Blob 8 TB
Numero massimo di criteri di accesso memorizzati per contenitore Blob 5
Risorsa File Azzurro Target
Dimensione massima di una condivisione File 5 TB
Dimensione massima dimensione di un file in una condivisione 1 TB
Numero massimo di file in una condivisione Nessun limite
Max IOPS per condivisione 1000 IOPS
Numero massimo di criteri di accesso memorizzati per quota file 5
Tasso massimo di richieste per account di archiviazione 20,000 richieste al secondo per file di qualsiasi dimensione valida
Target throughput per singola condivisione di file Fino a 60 MB al secondo
Massimo di handle aperti per ogni file 2000 handle aperti
Numero massimo di istantanee di condivisione 200 istantanee di condivisione

Security

Azure Storage Blob e Files Storage Service Encryption come vengono sotto il livello di Azure Storage Account. Quando l’applicazione scrive/legge un nuovo Blob/File, questi vengono crittografati utilizzando l’algoritmo AES (Advanced Encryption Standard) a 256 bit. Se si chiama tramite REST API, sia Azure Blobs che Azure Files sono supportati abilitando Secure Required Transfer.

Sia Azure Blobs che Azure Files hanno bisogno di Shared Access Signature (SAS) per ottenere l’accesso delegato a Blobs e Files. Oltre all’autorizzazione, entrambi sono supportati con Azure AD e token di accesso condiviso.

Azure Blobs permette di ottenere la crittografia dalla classe BlobEncryptionPolicy con Azure Key Vault. I file di Azure utilizzano la crittografia integrata nel protocollo SMB 3.0. Inoltre, sia Azure Blobs che Azure Files supportano la regola CORS (Cross-Origin Resource Sharing). CORS ti permette di descrivere la whitelist per la richiesta di intestazione HTTP.

Per quanto riguarda la sicurezza della rete, hai più controllo del traffico di rete in entrata sia per Azure Blobs che per Azure Files. Permette solo un intervallo IP specificato e reti virtuali per accedervi.

Recupero in caso di disastri

Il backup dei dati è significativo per qualsiasi impresa dove i dati sono considerati come il sangue della loro organizzazione. Sfortunatamente, Azure recover e back-up non hanno automazione per il backup dei dati direttamente da Blob e File Storage. Per gestire, i dati possono essere scaricati nella vostra infrastruttura on-premises o creare un nuovo account di storage in un’altra regione per memorizzare i vostri dati.

Azure Blobs: Utilizzare Copy Blob per copiare asincronicamente il Blob nell’account di archiviazione di destinazione.

Azure Files: Utilizzare Copy File per copiare in modo asincrono la condivisione di file sull’account di archiviazione di destinazione.

Prezzi

I prezzi qui descritti sono basati sulla documentazione Microsoft

Prezzi per lo storage dei dati

Di seguito i prezzi per lo storage dei dati in Azure File e Blob Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Prima 50 terabyte (TB) / mese $0.18 per GB $0.022 per GB $0.01 per GB $0.00099 per GB
Il prossimo 450 TB / mese $0.18 per GB $0.0212 per GB $0.01 per GB $0.00099 per GB
Oltre 500 TB / Mese $0.18 per GB $0.0203 per GB $0.01 per GB $0.00099 per GB
File Storage STANDARD
GB/mese $0.06 per GB usato
Snapshots GB/mese $0.06 per GB usato

Prezzi per operazioni e trasferimento dati

Di seguito i prezzi per operazioni e trasferimento dati in Azure File e Blob Storage

Blob Storage PREMIUM HOT COOL ARCHIVE
Operazioni di scrittura (per 10,000)1 $0.021 $0.05 $0.10 $0.11
Lista e creazione operazioni contenitore (per 10.000)2 $0.06 $0.05 $0.05 $0.05
Operazioni di lettura (per 10.000)3
Archivio lettura ad alta priorità (per 10.000)5
$0,0017 $0,004 $0,01 $5.50
$30
Tutte le altre operazioni (per 10.000), tranne la cancellazione, che è gratuita $0,0017 $0,004 $0,004 $0.004
Data Retrieval (per GB)4
Archivio ad alta priorità Retrieval (per GB)5
Free Free $0.01 $0.022
$0.06
Data Write (per GB)4 Free Free $0.0025 Libero
File Storage STANDARD
Mettere, creare operazioni contenitore (per 10.000) $0.015
Operazioni di lista (per 10.000) $0,015
Tutte le altre operazioni tranne Elimina, che è gratis (per 10.000) $0.0015
Trasferimento dati geo-replica (per GiB) N/A

Wrap Up

Nella rivoluzione della trasformazione digitale, le applicazioni vengono modernizzate ed è necessario un modello su larga scala non solo nel livello delle applicazioni ma anche nel livello dei dati che non credo che Azure Files possa adattarsi. Azure Files sarebbe ancora buono se l’applicazione è servita per un pubblico specifico.

Forse, ci sono aspetti individuali da considerare prima di concludere la migliore opzione tra Azure Blob Storage e Files. Prendendo in considerazione le funzionalità comuni, preferirei Azure Blob Storage piuttosto che Files.

Autore: Nadeem Ahamed

Nadeem è un Technical Product Marketer per Serverless360. È appassionato di blogging su tecnologie all’avanguardia. Crede che i blog siano il modo migliore per condividere la conoscenza tra la comunità e la sua passione per la scrittura non finirà mai fino all’ultimo giorno di vita. Crede sempre nella frase “Looks so Good on the Outside, It’ll Make You Feel Good Inside”.View all posts by Nadeem Ahamed