Introduzione ai servizi principali di Azure Storage

  • 04/08/2020
  • 11 minuti da leggere
    • t
    • D
    • m
    • r
    • r
    • +23

La piattaforma Azure Storage è la soluzione di cloud storage di Microsoft per i moderni scenari di archiviazione dati. I servizi di storage di base offrono un object store massicciamente scalabile per gli oggetti di dati, storage su disco per le macchine virtuali Azure (VM), un servizio di file system per il cloud, uno store di messaggistica per la messaggistica affidabile e uno store NoSQL. I servizi sono:

  • Durevoli e altamente disponibili. La ridondanza assicura che i vostri dati siano al sicuro in caso di guasti hardware transitori. Si può anche scegliere di replicare i dati tra i data center o le regioni geografiche per un’ulteriore protezione da catastrofi locali o disastri naturali. I dati replicati in questo modo rimangono altamente disponibili in caso di un’interruzione imprevista.
  • Sicuro. Tutti i dati scritti su un account di storage Azure sono criptati dal servizio. Azure Storage ti fornisce un controllo a grana fine su chi ha accesso ai tuoi dati.
  • Scalabile. Azure Storage è progettato per essere massicciamente scalabile per soddisfare le esigenze di archiviazione dei dati e delle prestazioni delle applicazioni di oggi.
  • Gestito. Azure gestisce la manutenzione dell’hardware, gli aggiornamenti e i problemi critici per voi.
  • Accessibile. I dati in Azure Storage sono accessibili da qualsiasi parte del mondo tramite HTTP o HTTPS. Microsoft fornisce librerie client per Azure Storage in una varietà di linguaggi, tra cui .NET, Java, Node.js, Python, PHP, Ruby, Go e altri, così come una matura API REST. Azure Storage supporta lo scripting in Azure PowerShell o Azure CLI. E il portale Azure e Azure Storage Explorer offrono facili soluzioni visive per lavorare con i tuoi dati.

Servizi di storage di base

La piattaforma Azure Storage include i seguenti servizi dati:

  • Azure Blobs: Un negozio di oggetti massicciamente scalabile per dati di testo e binari. Include anche il supporto per l’analisi dei big data attraverso Data Lake Storage Gen2.
  • Azure Files: Condivisioni di file gestite per implementazioni cloud o on-premises.
  • Azure Queues: Un negozio di messaggistica per la messaggistica affidabile tra i componenti dell’applicazione.
  • Azure Tables: Uno store NoSQL per la memorizzazione senza schemi di dati strutturati.
  • Azure Disks: Volumi di archiviazione a livello di blocco per Azure VMs.

Ogni servizio è accessibile attraverso un account di storage. Per iniziare, vedi Creare un account di storage.

Scenari di esempio

La seguente tabella mette a confronto File, Blobs, Dischi, Code e Tabelle e mostra scenari di esempio per ciascuno.

Caratteristica Descrizione Quando usare
Azure Files Offre condivisioni di file cloud completamente gestite a cui è possibile accedere da qualsiasi luogo tramite il protocollo standard del settore Server Message Block (SMB).
È possibile montare le condivisioni di file Azure dal cloud o dalle implementazioni on-premises di Windows, Linux e macOS.
Vuoi “sollevare e spostare” un’applicazione nel cloud che già utilizza le API native del file system per condividere i dati tra esso e altre applicazioni in esecuzione in Azure.
Vuoi sostituire o integrare i file server on-premises o i dispositivi NAS.
Vuoi memorizzare strumenti di sviluppo e debug che devono essere accessibili da molte macchine virtuali.
Azure Blobs Consente l’archiviazione di dati non strutturati e l’accesso su larga scala in blob di blocchi.
Supporta anche Azure Data Lake Storage Gen2 per soluzioni di analisi di grandi dati aziendali.
Vuoi che la tua applicazione supporti scenari di streaming e accesso casuale.
Vuoi essere in grado di accedere ai dati dell’applicazione da qualsiasi luogo.
Vuoi costruire un lago di dati aziendali su Azure ed eseguire analisi di grandi dati.
Azure Disks Consente ai dati di essere memorizzati in modo persistente e accessibili da un disco rigido virtuale collegato. Si desidera “sollevare e spostare” le applicazioni che utilizzano API di file system nativo per leggere e scrivere dati su dischi persistenti.
Si desidera memorizzare i dati che non è necessario accedere dall’esterno della macchina virtuale a cui è collegato il disco.
Azure Queues Consente la coda asincrona dei messaggi tra i componenti dell’applicazione. Si desidera disaccoppiare i componenti dell’applicazione e utilizzare la messaggistica asincrona per comunicare tra di loro.
Per una guida su quando utilizzare la memorizzazione delle code rispetto alle code del Service Bus, vedere le code di memorizzazione e le code del Service Bus – confronto e contrasto.
Tabelle Azure Consentono di memorizzare dati NoSQL strutturati nel cloud, fornendo un archivio di chiavi/attributi con un design senza schemi. Si desidera memorizzare set di dati flessibili come i dati utente per le applicazioni web, rubriche, informazioni sui dispositivi o altri tipi di metadati richiesti dal servizio.
Per una guida su quando usare il Table storage rispetto all’Azure Cosmos DB Table API, vedere Sviluppare con Azure Cosmos DB Table API e Azure Table storage.

Blob storage

Azure Blob storage è la soluzione di object storage di Microsoft per il cloud. Lo storage Blob è ottimizzato per l’archiviazione di enormi quantità di dati non strutturati, come testo o dati binari.

Lo storage Blob è ideale per:

  • servire immagini o documenti direttamente a un browser.
  • conservare file per un accesso distribuito.
  • trasmettere video e audio.
  • Memorizzazione dei dati per il backup e il ripristino, il disaster recovery e l’archiviazione.
  • Memorizzazione dei dati per l’analisi da parte di un servizio on-premises o Azure-hosted.

Gli oggetti nello storage Blob possono essere accessibili da qualsiasi parte del mondo via HTTP o HTTPS. Gli utenti o le applicazioni client possono accedere ai blob tramite URL, Azure Storage REST API, Azure PowerShell, Azure CLI o una libreria client Azure Storage. Le librerie client di storage sono disponibili per diversi linguaggi, tra cui .NET, Java, Node.js, Python, PHP e Ruby.

Per ulteriori informazioni sul Blob storage, vedere Introduzione al Blob storage.

Azure Files

Azure Files consente di impostare condivisioni di file di rete altamente disponibili a cui si può accedere utilizzando il protocollo standard Server Message Block (SMB). Ciò significa che più VM possono condividere gli stessi file con accesso sia in lettura che in scrittura. È anche possibile leggere i file utilizzando l’interfaccia REST o le librerie client di archiviazione.

Una cosa che distingue Azure Files dai file su una condivisione di file aziendale è che è possibile accedere ai file da qualsiasi parte del mondo utilizzando un URL che punta al file e include un token SAS (shared access signature). È possibile generare token SAS; essi consentono un accesso specifico ad una risorsa privata per un determinato periodo di tempo.

Le condivisioni di file possono essere utilizzate per molti scenari comuni:

  • Molte applicazioni on-premises utilizzano le condivisioni di file. Questa caratteristica rende più facile la migrazione di quelle applicazioni che condividono dati su Azure. Se si monta il file share sulla stessa lettera di unità utilizzata dall’applicazione on-premises, la parte dell’applicazione che accede al file share dovrebbe funzionare con modifiche minime, se non nulle.

  • I file di configurazione possono essere memorizzati su un file share e accessibili da più VM. Gli strumenti e le utilità usati da più sviluppatori in un gruppo possono essere memorizzati su una condivisione di file, assicurando che tutti possano trovarli e che usino la stessa versione.

  • I log delle risorse, le metriche e i crash dump sono solo tre esempi di dati che possono essere scritti su una condivisione di file ed elaborati o analizzati in seguito.

Per maggiori informazioni su Azure Files, vedere Introduzione ad Azure Files.

Alcune funzionalità SMB non sono applicabili al cloud. Per maggiori informazioni, vedi Caratteristiche non supportate dal servizio Azure File.

Stoccaggio della coda

Il servizio Azure Queue è usato per memorizzare e recuperare i messaggi. I messaggi della coda possono avere una dimensione massima di 64 KB e una coda può contenere milioni di messaggi. Le code sono generalmente usate per memorizzare liste di messaggi da elaborare in modo asincrono.

Per esempio, diciamo che volete che i vostri clienti siano in grado di caricare delle foto, e volete creare delle miniature per ogni foto. Potreste chiedere al vostro cliente di aspettare che voi creiate le miniature mentre caricate le immagini. Un’alternativa sarebbe quella di usare una coda. Quando il cliente finisce il suo caricamento, scrive un messaggio alla coda. Poi fate in modo che una Azure Function recuperi il messaggio dalla coda e crei le miniature. Ognuna delle parti di questa elaborazione può essere scalata separatamente, dandoti più controllo quando la sintonizzi per il tuo utilizzo.

Per maggiori informazioni su Azure Queues, vedi Introduzione alle code.

Table storage

Azure Table storage è ora parte di Azure Cosmos DB. Per vedere la documentazione di Azure Table storage, vedi Azure Table Storage Overview. Oltre al servizio esistente di Azure Table storage, c’è una nuova offerta di Azure Cosmos DB Table API che fornisce tabelle ottimizzate per il throughput, distribuzione globale e indici secondari automatici. Per saperne di più e provare la nuova esperienza premium, vedi Azure Cosmos DB Table API.

Per maggiori informazioni sullo storage delle tabelle, vedi Panoramica dello storage delle tabelle di Azure.

Stoccaggio dei dischi

Un disco gestito Azure è un disco rigido virtuale (VHD). Puoi pensarlo come un disco fisico in un server on-premises, ma virtualizzato. I dischi gestiti da Azure sono memorizzati come page blobs, che sono un oggetto di archiviazione IO casuale in Azure. Chiamiamo un disco gestito “gestito” perché è un’astrazione rispetto ai page blob, ai blob container e agli account di storage Azure. Con i dischi gestiti, tutto quello che devi fare è fornire il disco, e Azure si occupa del resto.

Per maggiori informazioni sui dischi gestiti, vedi Introduzione ai dischi gestiti Azure.

Tipi di account di storage

Azure Storage offre diversi tipi di account di storage. Ogni tipo supporta caratteristiche diverse e ha un proprio modello di prezzo. Per ulteriori informazioni sui tipi di account di archiviazione, vedi Panoramica degli account di archiviazione Azure.

Accesso sicuro agli account di archiviazione

Ogni richiesta ad Azure Storage deve essere autorizzata. Azure Storage supporta i seguenti metodi di autorizzazione:

  • Integrazione di Azure Active Directory (Azure AD) per dati blob e code. Azure Storage supporta l’autenticazione e l’autorizzazione con Azure AD per i servizi Blob e Queue tramite Azure role-based access control (Azure RBAC). Si consiglia di autorizzare le richieste con Azure AD per una maggiore sicurezza e facilità d’uso. Per ulteriori informazioni, vedi Autorizzare l’accesso a Azure blobs e code usando Azure Active Directory.
  • Autorizzazione Azure AD su SMB per Azure Files. Azure Files supporta l’autorizzazione basata sull’identità su SMB (Server Message Block) attraverso Azure Active Directory Domain Services (Azure AD DS) o Active Directory Domain Services on-premises (anteprima). Le tue macchine virtuali Windows unite al dominio possono accedere alle condivisioni di file di Azure utilizzando le credenziali di Azure AD. Per ulteriori informazioni, vedere Panoramica del supporto di autenticazione basata sull’identità di Azure Files per l’accesso SMB e Pianificazione di una distribuzione di Azure Files.
  • Autorizzazione con chiave condivisa. I servizi Azure Storage Blob, Files, Queue e Table supportano l’autorizzazione con Shared Key. Un client che usa l’autorizzazione Shared Key passa un’intestazione con ogni richiesta che è firmata usando la chiave di accesso dell’account di storage. Per maggiori informazioni, vedi Autorizzare con Shared Key.
  • Autorizzazione usando firme di accesso condivise (SAS). Una firma di accesso condivisa (SAS) è una stringa contenente un token di sicurezza che può essere aggiunto all’URI di una risorsa di archiviazione. Il token di sicurezza incapsula vincoli come i permessi e l’intervallo di accesso. Per maggiori informazioni, vedere Utilizzo di firme di accesso condivise (SAS).
  • Accesso anonimo a contenitori e blob. Un contenitore e i suoi blob possono essere disponibili pubblicamente. Quando si specifica che un contenitore o un blob è pubblico, chiunque può leggerlo in modo anonimo; non è richiesta alcuna autenticazione. Per maggiori informazioni, vedi Gestire l’accesso in lettura anonima a contenitori e blob.

Crittografia

Ci sono due tipi di crittografia di base disponibili per i servizi di storage di base. Per ulteriori informazioni sulla sicurezza e la crittografia, consultare la guida alla sicurezza di Azure Storage.

Crittografia a riposo

La crittografia di Azure Storage protegge e salvaguarda i dati per soddisfare gli impegni di sicurezza e conformità dell’organizzazione. Azure Storage cripta automaticamente tutti i dati prima di persistere nell’account di storage e li decripta prima di recuperarli. I processi di crittografia, decrittografia e gestione delle chiavi sono trasparenti per gli utenti. I clienti possono anche scegliere di gestire le proprie chiavi utilizzando Azure Key Vault. Per ulteriori informazioni, vedere Crittografia di Azure Storage per i dati a riposo.

Crittografia lato client

Le librerie client di Azure Storage forniscono metodi per crittografare i dati dalla libreria client prima di inviarli attraverso il filo e decrittografare la risposta. I dati crittografati tramite la crittografia lato client sono anche crittografati a riposo da Azure Storage. Per maggiori informazioni sulla crittografia lato client, vedi Crittografia lato client con .NET per Azure Storage.

Ridondanza

Per garantire che i tuoi dati siano durevoli, Azure Storage memorizza più copie dei tuoi dati. Quando imposti il tuo account di storage, selezioni un’opzione di ridondanza. Per maggiori informazioni, vedi Ridondanza di Azure Storage.

Trasferire dati da e verso Azure Storage

Hai diverse opzioni per spostare i dati in o da Azure Storage. L’opzione che scegli dipende dalle dimensioni del tuo set di dati e dalla larghezza di banda della tua rete. Per maggiori informazioni, vedi Scegliere una soluzione Azure per il trasferimento dei dati.

Prezzi

Quando prendi decisioni su come i tuoi dati sono archiviati e accessibili, dovresti anche considerare i costi coinvolti. Per maggiori informazioni, vedi Azure Storage pricing.

Apipe di archiviazione, librerie e strumenti

È possibile accedere alle risorse in un account di archiviazione da qualsiasi linguaggio che possa effettuare richieste HTTP/HTTPS. Inoltre, i servizi di base di Azure Storage offrono librerie di programmazione per diversi linguaggi popolari. Queste librerie semplificano molti aspetti del lavoro con Azure Storage gestendo dettagli come l’invocazione sincrona e asincrona, il batching delle operazioni, la gestione delle eccezioni, i tentativi automatici, il comportamento operativo e così via. Le librerie sono attualmente disponibili per le seguenti lingue e piattaforme, con altre in cantiere:

Azure Storage data API e riferimenti alle librerie

  • Azure Storage REST API
  • Azure Storage client library per .NET
  • Azure Storage client library per Java/Android
  • Azure Storage client library per Node.js
  • Azure Storage client library per Python
  • Azure Storage client library per PHP
  • Azure Storage client library per Ruby
  • Azure Storage client library per C++

Azure Storage management API e riferimenti alle librerie

  • Storage Resource Provider REST API
  • Storage Resource Provider Client Library per .NET
  • Storage Service Management REST API (Classic)

Azure Storage data movement API e riferimenti alle librerie

  • Storage Import/Export Service REST API
  • Storage Data Movement Client Library per .NET

Strumenti e utilità

  • Azure PowerShell Cmdlets for Storage
  • Azure CLI Cmdlets for Storage
  • AzCopy Command-Line Utility
  • Azure Storage Explorer è un’applicazione standalone gratuita di Microsoft che consente di lavorare visivamente con i dati di Azure Storage su Windows, macOS e Linux.
  • Modelli di Azure Resource Manager per Azure Storage

Per iniziare a lavorare con i servizi principali di Azure Storage, vedi Creare un account di storage.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *