L’evoluzione dei modelli IT e delle architetture applicative ha trasformato anche il modo con cui le aziende gestiscono e memorizzano i propri dati. L’object storage è una delle manifestazioni più evidenti di questa evoluzione.
Negli ultimi dieci/quindici anni, gli ecosistemi IT hanno assistito a una trasformazione radicale nella natura e nel volume dei dati. Se tradizionalmente le applicazioni enterprise producevano dati strutturati - record di database, transazioni finanziarie - oggi la maggior parte delle informazioni generate è di tipo non strutturato, come video da sistemi di sorveglianza, immagini medicali e file di log generati da sistemi IT complessi.
A differenza dei dati strutturati, quelli non strutturati sono eterogenei e variano enormemente per dimensione, formato, frequenza di accesso e requisiti di retention.
I sistemi di storage tradizionali, come i file system gerarchici e architetture SAN/NAS, presentano limiti strutturali che li rendono non ideali in questi scenari: ad esempio, i file system subiscono un degrado di performance quando il numero di file supera una certa soglia, mentre le architetture SAN e NAS presentano complessità operative quando si tratta di scalare verso petabyte e oltre, nonché costi elevati.
Inoltre, le architetture tradizionali faticano a integrare nativamente funzionalità diventate essenziali nell'era del cloud: gestione automatizzata del ciclo di vita dei dati, replica geografica, accesso via API standard, integrazione con pipeline di data analytics e machine learning e molto altro.
La combinazione di questi fattori (e alcuni altri) ha spinto l'industria verso un paradigma completamente diverso, che si è imposto come lo standard de facto per la moderna gestione dei (big) dati: l'object storage, o storage a oggetti.
L'object storage rappresenta un cambio di paradigma poiché, invece di organizzare i dati in gerarchie di directory o in blocchi di dimensioni fisse, questo approccio tratta ogni elemento come un oggetto indipendente, dotato di tre componenti:
Il disaccoppiamento tra la logica di accesso, basata su identificatore e organizzazione fisica dei dati, è il principio architetturale che abilita le caratteristiche distintive dell'object storage e ne ha decretato il successo globale. L'identificatore, infatti, permette di recuperare l'oggetto attraverso API RESTful, senza necessità di navigare una complessa struttura gerarchica.
Altro salto qualitativo rispetto al passato è legato alla gestione dei metadati: mentre in un file system questi sono piuttosto limitati, qui ogni oggetto può avere metadati arbitrari definiti dall'utente, dai tag per categorizzazione a informazioni sul ciclo di vita, dagli attributi di business agli indicatori di compliance. Visto che i metadati sono indicizzabili, ciò permette query sofisticate sull'intero dataset senza dover accedere ai contenuti e abilita, di conseguenza, use case di analytics che sarebbero impraticabili con approcci tradizionali.
Un ulteriore elemento distintivo è l’immutabilità. Nella maggior parte delle implementazioni di object storage, gli oggetti sono gestiti secondo un modello write-once: eventuali modifiche generano una nuova versione invece di modificare quella esistente. Questo approccio semplifica la gestione della consistenza in ambienti distribuiti e risponde in modo naturale ai requisiti di audit, compliance e data protection richiesti da molte organizzazioni.
L'object storage è una soluzione ideale in qualsiasi scenario in cui sia necessario gestire volumi significativi di dati non strutturati con requisiti di scalabilità, durabilità e accessibilità distribuita. La tecnologia si adatta molto bene a contesti dove la crescita dei dati è imprevedibile o esponenziale, e dove i pattern di accesso variano significativamente nel tempo.
Il backup è uno degli use case più consolidati dell’object storage. L’elevata durabilità dei dati, i costi per terabyte più competitivi rispetto alle soluzioni SAN/NAS e la possibilità di scalare senza limiti o degrado prestazionale lo rendono la scelta ideale per conservare backup completi, snapshot di macchine virtuali e archivi di database. I principali vendor di backup enterprise supportano infatti nativamente object storage come target di destinazione, permettendo di configurare policy di retention granulari.
La scalabilità e l'accesso via API rendono l'object storage è la tecnologia ideale per i moderni Data Lake. I metadati, inoltre, giocano un ruolo determinante poiché facilitano la catalogazione e l’interrogazione dei dati senza bisogno di doverli strutturare a priori.
Qualsiasi applicazione moderna che serva grandi quantità di contenuti, come immagini ad alta risoluzione, video in streaming e documenti, beneficia dell'object storage. Piattaforme di e-commerce, Content Delivery Network (CDN) e servizi di media streaming utilizzano infatti i bucket come fonte di dati scalabile e accessibile globalmente tramite HTTP.
Grazie alle sue caratteristiche architetturali, l’object storage si presta a molteplici implementazioni e offre benefici concreti.
Il principale vantaggio dell’object storage risiede nella sua architettura orizzontale. In un sistema a oggetti, la capacità non viene aumentata potenziando un singolo array, ma estendendo il cluster con nuovi nodi. Questo modello elimina i colli di bottiglia tipici delle architetture tradizionali: ogni nodo aggiunge capacità e banda disponibile per la distribuzione e il recupero degli oggetti, consentendo al sistema di crescere in modo lineare e senza interruzioni.
L’object storage abbassa il Total Cost of Ownership perché elimina molte delle complessità tipiche delle architetture SAN/NAS. La scalabilità orizzontale permette di aggiungere capacità solo quando necessario, l’hardware richiesto è generalmente basato su nodi commodity, quindi meno costoso rispetto alle appliance proprietarie dei sistemi a blocchi o file.
Inoltre, la gestione operativa è più semplice perché non esistono volumi da ridimensionare, file system da espandere o cluster da riconfigurare; il bilanciamento e la distribuzione dei dati sono infatti automatizzati.
Uno dei vantaggi più rilevanti dell’object storage è la sua accessibilità attraverso API RESTful, che consentono alle applicazioni di leggere e scrivere oggetti senza dover montare file system o configurare volumi. Questo modello semplifica l’integrazione con sistemi eterogenei e abilita un accesso uniforme ai dati, indipendentemente dal fatto che risiedano on-premise, in cloud o in ambienti edge.