Vai al contenuto principale
BlogArchiviazioneS3 Object Storage: una soluzione scalabile per il cloud

S3 Object Storage: una soluzione scalabile per il Cloud

Soluzione di archiviazione dei file IT: S3-Compatibile Object Storage

L'archiviazione dei file è importante nel cloud come in qualsiasi altro spazio di lavoro IT. La comodità e la flessibilità del cloud offrono molti vantaggi. È possibile creare un'infrastruttura senza costi iniziali significativi e senza perdere spazio prezioso.

La buona notizia per gli amministratori è che la tolleranza agli errori è già integrata nell'ambiente di archiviazione cloud, ma dovranno comunque prendere alcune decisioni critiche. Una scelta nel viaggio nel cloud sarà quella di scegliere un formato di archiviazione dei file per le risorse cloud. Le opzioni disponibili sono:

  • Archiviazione a blocchi
  • Memorizzazione degli oggetti

L'archiviazione a blocchi basata sul cloud è molto simile all'archiviazione a blocchi sul desktop o nella sala server. Un dispositivo di archiviazione a blocchi divide i dati in blocchi di dimensioni fisse e scrive (o legge) i dati un blocco alla volta.

La memorizzazione a blocchi di rete è un'estensione della stessa tecnologia di memorizzazione a blocchi utilizzata da oltre 40 anni su dischi rigidi e altri dispositivi di memorizzazione. Lo storage a blocchi è ancora un'alternativa conveniente in scenari che richiedono una bassa latenza e in situazioni in cui i dati richiedono un accesso frequente. Tuttavia, lo storage a blocchi presenta anche alcuni svantaggi. Ad esempio, lo storage a blocchi è solitamente più costoso e non è in grado di scalare bene su grandi insiemi di dati. Per i dati non strutturati, i backup, gli archivi e altri scenari che non richiedono un accesso frequente, lo storage a oggetti si rivela spesso una scelta migliore. 

L'archiviazione a oggetti memorizza un singolo oggetto (ad esempio un file) tutto in una volta, invece di suddividerlo in blocchi. La posizione dei dati è determinata mediante una funzione di hash, che esclude la necessità di una tabella di ricerca o di altri componenti di mappatura che potrebbero costituire un collo di bottiglia. I sistemi di archiviazione a oggetti forniscono anche metadati ricchi ed estesi che supportano ricerche efficienti e consentono alcune funzionalità di gestione che non sono possibili con l'archiviazione a blocchi.

La maggior parte dei sistemi di storage a oggetti include funzioni di automazione e autogestione che consentono a un singolo amministratore di gestire più dati rispetto all'amministratore di un sistema di storage a blocchi. La maggiore efficienza porta a una riduzione del costo per GB. L'enfasi sull'automazione e sull'autogestione significa anche che lo storage a oggetti si adatta bene agli ambienti DevOps.

Il S3 API è un popolare API per le soluzioni di archiviazione a oggetti nel cloud. Amazon ha originariamente sviluppato S3, ma ora è disponibile per tutti i fornitori di storage. S3 archivia i dati in bucket referenziati da URL. Un bucket è una risorsa di archiviazione composta da un oggetto di dati e da metadati descrittivi. Una funzione opzionale chiamata bucket versioning consente di memorizzare più versioni dello stesso oggetto di dati in un singolo bucket, creando così una forma integrata di controllo delle versioni. 

Diverse soluzioni di archiviazione a oggetti basate sul cloud sono compatibili con S3, il che significa che se si adotta una soluzione compatibile con S3, si può facilmente migrare a un'altra soluzione compatibile con S3 o aggiungere altri servizi basati su S3 alla configurazione esistente. Molti importanti servizi di rete hanno già realizzato le loro interfacce per . S3 APIS3 è facile da integrare con Ceph, OpenStack, Kubernetes e altre tecnologie. 

Un modello di accesso RESTful, basato su HTTP, consente di creare facilmente applicazioni Web personalizzate che interfacciano un archivio dati compatibile con S3 con altre risorse su una rete locale o nel cloud. Le interfacce compatibili disponibili attraverso i principali strumenti di virtualizzazione e container facilitano l'integrazione dell'archiviazione a oggetti basata su S3 nelle soluzioni di orchestrazione automatizzata, essenziali per l'ambiente DevOps.

La latenza più elevata dello storage a oggetti significa che lo storage compatibile con S3 potrebbe non essere la scelta migliore per un database strutturato, ma per i dati non strutturati, i set di backup e scenari simili di storage a oggetti compatibili con S3, il suo basso costo e la sua scalabilità lo rendono spesso la soluzione ottimale.

L'archiviazione a oggetti è spesso utilizzata per ospitare librerie di file audio, video e fotografici. Poiché ogni file ha un proprio URL, è facile incorporare i file nei siti web o integrarli in soluzioni di streaming. Il basso costo per GB dell'archiviazione a oggetti la rende anche una buona scelta per il backup a lungo termine e gli scenari di archiviazione a freddo, dove sostituisce l'archiviazione di file su nastro come formato di archivio offsite economico e molto più facile da accedere rispetto a un nastro archiviato a freddo. 

Per quanto riguarda i siti web, un sito dinamico che richiede un sistema di gestione dei contenuti (CMS) o un linguaggio di elaborazione lato server come PHP è probabilmente migliore con lo storage a blocchi, ma per i siti web statici costruiti su file HTML fissi, lo storage a oggetti è un'opzione semplice ed economica.

Se state pensando di aggiungere lo storage a oggetti compatibile con S3 alla vostra infrastruttura cloud, potrete scegliere tra diversi prodotti e fornitori. AWS offre S3 nel contesto hyperscale; tuttavia, le aziende di medie e piccole dimensioni che non dispongono di un'infrastruttura imponente spesso scoprono che il cloud alternativo offre un costo totale di proprietà inferiore e migliori caratteristiche di rapporto costo/prestazioni. Il termine cloud alternativo si riferisce a una classe di fornitori di cloud che forniscono un catalogo di servizi di livello aziendale per le aziende che non dispongono di un team di esperti di cloud. L'accento è posto sul basso costo, sulla semplicità e su un servizio clienti più personalizzato.

Anche le aziende che già utilizzano fornitori hyperscale come AWS talvolta scelgono una soluzione cloud alternativa per un progetto specifico che potrebbe trarre vantaggio dalla semplicità e dal costo inferiore. In questo caso, un'architettura compatibile con S3 garantisce che le applicazioni e i servizi sviluppati intorno allo storage S3 nel cloud Amazon funzionino immediatamente nell'ambiente cloud alternativo.

Commenti (1)

  1. Author Photo

    Does this mean that we can use boto3-like python package to deploy objects (jpgs) to Linode block storage? Similar to what you can do with Backblaze? https://help.backblaze.com/hc/en-us/articles/360047629793-How-to-use-the-AWS-SDK-for-Python-with-B2-

    If so, that would be amazing!
    P.S.
    Per this liode post, that seems to be the case https://www.linode.com/community/questions/20332/how-do-i-upload-a-file-to-object-storage-using-python

Lascia una risposta

Il vostro indirizzo e-mail non sarà pubblicato. I campi obbligatori sono contrassegnati da *