Skip to Content

Che cos'è lo storage container-native?

Quando la maggior parte delle persone sente la parola "contenitore", tende a pensare allo stoccaggio di alimenti o alle scatole di metallo su una nave da carico. Anche questo non è un modo negativo di pensare ai containers nel mondo del software. Containers semplificano l'esecuzione delle applicazioni in diversi ambienti suddividendo il codice software in pacchetti portatili.

Man mano che la containerizzazione diventa lo standard per il deployment e la gestione delle applicazioni, aumenta la necessità di soluzioni di storage in linea con i principi e la tecnologia dei containers.

Entra nello storage container-native, che consente alle organizzazioni di gestire le risorse di storage in modo più efficace man mano che i workload containerizzati crescono.

Questo articolo esplora cos'è lo storage container-native, i suoi attributi, vantaggi e casi d'uso chiave, le principali soluzioni di storage container-native e le considerazioni per la scelta dello storage container-native. 

Che cos'è lo storage container-native?

Lo storage container-native si riferisce a soluzioni di storage progettate e ottimizzate specificamente per gli ambienti containerizzati.

Il passaggio all'esecuzione di applicazioni stateful (cioè quelle che mantengono i dati o lo stato tra transazioni o interazioni, come database, code di messaggi o file system), rispetto alle applicazioni stateless, ha determinato la richiesta di soluzioni di storage in grado di gestire dati persistenti.

Le applicazioni stateful sono progettate per essere eseguite su macchine virtuali o server fisici di lunga durata in cui lo stato può persistere. Containers per progettazione, sono concepiti per essere effimeri e stateless, il che li rende meno adatti per le applicazioni stateful.

È qui che entrano in gioco piattaforme di orchestrazione dei containers come Kubernetes, che forniscono funzionalità come i volumi persistenti (PV) e gli StatefulSet che consentono ai containers di avere uno storage persistente e identificatori di rete stabili.

Pertanto, il passaggio alle applicazioni stateful ha aumentato il valore di avere soluzioni di storage che possono integrarsi perfettamente con piattaforme di orchestrazione dei container come Kubernetes.

Le caratteristiche principali dello storage container-native includono:

  • Provisioning dinamico: Lo storage container-native consente il provisioning dinamico delle risorse di storage in base alle esigenze delle applicazioni containerizzate. Ciò consente un utilizzo efficiente delle risorse e riduce il sovraccarico manuale della gestione dello storage.
  • Integrazione con le piattaforme di orchestrazione: Come accennato in precedenza, le soluzioni di storage container-native possono integrarsi perfettamente con piattaforme di orchestrazione dei container come Kubernetes. Sfruttano le funzionalità e i vantaggi forniti da queste piattaforme, come la scalabilità automatizzata, l'alta disponibilità e il deployment trasparente.
  • Supporto dell'architettura dei microservizi: Lo storage container-native è adatto alle architetture a microservizi, dove le applicazioni sono costituite da servizi indipendenti di piccole dimensioni. Consente a ogni microservizio di avere il proprio storage, garantendo isolamento e flessibilità.
  • Portabilità e coerenza: Le soluzioni di storage container-native mirano a fornire servizi di storage coerenti in vari ambienti cloud e on-premise. Ciò migliora la portabilità delle applicazioni containerizzate, consentendo loro di funzionare in modo trasparente tra le diverse infrastrutture.

Vantaggi dello storage container-native

Ecco i vantaggi principali dello storage container-native:

Scalabilità migliorata
Lo storage container-native consente l'allocazione e la deallocation on-the-fly dello storage in base alle mutevoli esigenze delle applicazioni containerizzate. Ciò supporta una scalabilità efficiente, garantendo che le risorse di storage possano adattarsi perfettamente alle esigenze in continua evoluzione dei workload containerizzati in crescita.

Performance migliorate
Le soluzioni di storage container-native sono progettate e ottimizzate specificamente per gli ambienti containerizzati. Questa specializzazione garantisce che i servizi di storage siano ottimizzati per le caratteristiche e i requisiti delle applicazioni containerizzate, con conseguente miglioramento delle performance rispetto ai sistemi di storage tradizionali.

Utilizzo efficiente delle risorse
Lo storage container-native riduce al minimo i costi generali di gestione delle risorse fornendo servizi di storage strettamente allineati con le esigenze dei containers. Questa efficienza si traduce in migliori performance e reattività complessive del sistema.

Gestione efficace dei dati
Lo storage container-native spesso include funzionalità come snapshot e clonazione, consentendo una gestione efficiente dei dati. Queste funzionalità consentono di creare copie point-in-time dei dati, che possono essere cruciali per la data protection, i test e i processi di sviluppo.

Replica dati
Molte soluzioni di storage container-native offrono funzionalità di replica dei dati per aumentare la durata e la disponibilità dei dati. Ciò è particolarmente importante per garantire la resilienza delle applicazioni stateful in esecuzione nei containers.

Conservazione dei dati
Lo storage container-native garantisce che i dati persistano oltre la durata dei singoli containers. Quando i containers vengono sostituiti o scalati, l'infrastruttura di storage sottostante garantisce che i dati rimangano intatti, consentendo alle applicazioni stateful di mantenere la loro coerenza.

Flessibilità e portabilità
Le soluzioni di storage container-native spesso offrono flessibilità in termini di deployment tra diversi cloud provider o ambienti on-premise. Questa flessibilità è preziosa per le organizzazioni che adottano strategie multi-cloud o hybrid cloud, consentendo loro di spostare i workload containerizzati in modo trasparente tra diverse infrastrutture.

Prova Portworx

Prova Portworx

Accelera l'adozione di applicazioni cloud-native. Entra nel lab virtuale e prova la piattaforma leader secondo GigaOm Research per lo storage e la data protection di Kubernetes.

Provalo subito

Casi d'uso dello storage container-native

Oltre alle applicazioni stateful già menzionate, ecco alcuni altri casi d'uso chiave in cui lo storage container-native si rivela vantaggioso:

Database
Le organizzazioni che eseguono database containerizzati, come MongoDB , MySQL o PostgreSQL, possono trarre vantaggio dallo storage container-native. Questi database spesso richiedono uno storage persistente per i propri file di dati e lo storage nativo per i container garantisce che i dati siano conservati anche se il container del database viene ridistribuito o spostato in un host diverso. In questo modo è più facile gestire e scalare i workload dei database in un ambiente containerizzato.

Workload di Big Data
Le applicazioni di Big Data come Apache Hadoop o Apache Spark spesso si occupano di enormi dataset che devono essere archiviati ed elaborati in modo efficiente. Le soluzioni di storage container-native consentono a queste applicazioni di avere uno storage scalabile e persistente che può essere facilmente gestito e orchestrato insieme ai workload containerizzati. Questo semplifica il deployment e la scalabilità dei cluster di Big Data.

Architetture di microservizi
Le aziende che adottano architetture microservizi spesso implementano numerosi servizi containerizzati che devono comunicare e condividere i dati. Lo storage container-native fornisce una soluzione di storage unificata che può essere condivisa tra più microservizi, facilitando la condivisione dei dati e la comunicazione tra i containers. Ciò è particolarmente utile in scenari in cui i microservizi hanno bisogno di accedere a dati di configurazione o dataset condivisi.

Calcolo a performance elevate
Le organizzazioni scientifiche e di ricerca che eseguono workload di calcolo a performance elevate (HPC) in containers richiedono soluzioni di storage veloci e affidabili. Lo storage container-native può essere utilizzato per fornire storage a bassa latenza e velocità di trasmissione elevate per le applicazioni HPC, garantendo che l'infrastruttura di storage sia in grado di stare al passo con le esigenze di elaborazione dei workload containerizzati.

Deployment multi-cloud e Hybrid Cloud
Le organizzazioni con strategie multi-cloud o hybrid cloud possono sfruttare lo storage container-native per garantire uno storage coerente tra diversi cloud provider o ambienti on-premise. Questa portabilità consente ai containers di spostarsi in modo trasparente tra diversi ambienti di infrastruttura senza preoccuparsi di incoerenze dei dati o problemi di compatibilità dello storage.

Le migliori soluzioni di storage container-native

Queste sono le soluzioni di storage container-native più utilizzate:

Kubernetes con Rook
Il progetto Rook della Cloud Native Computing Foundation fornisce storage container-native per i cluster Kubernetes. Rook supporta vari backend di storage, tra cui Ceph, EdgeFS e NFS, consentendo alle organizzazioni di scegliere la soluzione di storage giusta per le loro esigenze specifiche.

Container storage OpenShift
OpenShift Container Storage è una soluzione progettata per fornire storage container-native per i cluster Red Hat OpenShift. Si integra con Kubernetes e offre funzionalità come il provisioning dinamico, lo snapshotting e la crittografia, rendendolo adatto a vari workload containerizzati.

Portworx by Pure Storage
Portworx ® è una piattaforma di storage container-native che fornisce data services per le applicazioni containerizzate. È progettato per funzionare perfettamente con orchestratori di container come Kubernetes ed è utilizzato dalle organizzazioni per gestire e scalare le applicazioni stateful con requisiti di storage persistenti.

Considerazioni sulla scelta dello storage container-native

La scelta della giusta soluzione di storage container-native è fondamentale per il successo delle applicazioni containerizzate. Ecco i fattori chiave da considerare quando si valutano le opzioni:

Compatibilità con le piattaforme di orchestrazione dei containers
Assicurati che la soluzione di storage container-native sia compatibile con la piattaforma di orchestrazione dei container che utilizzi, come Kubernetes, Docker Swarm o OpenShift. La soluzione di storage deve integrarsi perfettamente con le funzionalità di gestione dello storage della piattaforma di orchestrazione e fornire supporto nativo per gli ambienti containerizzati.

Scalabilità
Valuta la scalabilità della soluzione di storage per soddisfare le crescenti esigenze delle tue applicazioni containerizzate. Considera fattori come la capacità di eseguire il provisioning dinamico dello storage, gestire un elevato numero di containers e scalare orizzontalmente per soddisfare l'aumento delle esigenze di storage. La soluzione deve supportare i requisiti di scalabilità delle applicazioni e dei workload.

Performance
Valuta le caratteristiche prestazionali della soluzione di storage container-native, tra cui velocità di lettura e scrittura, latenza e IOPS. Valuta se la soluzione fornisce funzionalità come caching, bilanciamento del carico e ottimizzazioni per workload di storage specifici, come database o elaborazione di Big Data.

Funzionalità di gestione dei dati
Cerca funzionalità di gestione dei dati essenziali, come funzionalità di snapshot, backup e ripristino. Queste funzionalità sono cruciali per garantire l'integrità dei dati, facilitare il disaster recovery e mantenere la conformità alle normative sulla data protection. Una soluzione di storage solida dovrebbe fornire meccanismi per la coerenza e la durata dei dati.

Provisioning e automazione dello storage
Valuta la facilità con cui la soluzione di storage può essere fornita e automatizzata all'interno del tuo ambiente containerizzato. Le funzionalità di provisioning dinamico e automazione contribuiscono all'agilità e all'efficienza della gestione delle risorse di storage per i containers. La soluzione deve supportare il provisioning dello storage in base ai requisiti delle applicazioni e integrarsi con gli strumenti di orchestrazione dei container per un'automazione fluida.

Supporto dello storage persistente per le applicazioni stateful
Considera il supporto per lo storage persistente e l'efficacia con cui la soluzione di storage gestisce i requisiti delle applicazioni stateful. Controlla se la soluzione fornisce funzionalità come classi di storage, provisioning dinamico dei volumi e persistenza dei dati durante il riavvio dei container. Dovrebbe consentire alle applicazioni stateful, come i database, di archiviare e recuperare i dati in modo affidabile.

Compatibilità multi-cloud e Hybrid Cloud
Valuta se la soluzione di storage container-native supporta deployment multi-cloud o hybrid cloud. Questo è importante per le organizzazioni con esigenze di infrastruttura diverse. La possibilità di spostare in modo trasparente i containers e lo storage associato in diversi ambienti cloud aumenta la flessibilità ed evita il blocco dei vendor.

Sicurezza e conformità
Assicurati che la soluzione di storage soddisfi gli standard di sicurezza e conformità rilevanti per la tua organizzazione. Cerca funzionalità come la crittografia inattivi, i controlli degli accessi e l'integrazione con i sistemi di gestione delle identità e degli accessi. La conformità alle normative di settore, come il GDPR o l'HIPAA, è cruciale per la data protection e la governance.

Supporto per community e vendor
Considera il livello di supporto della community e il supporto dei vendor per la soluzione di storage container-native. Un solido supporto della community e dei vendor contribuisce allo sviluppo, alla manutenzione e alla risoluzione dei problemi continui della soluzione di storage. Questo supporto è essenziale per risolvere i problemi e rimanere aggiornati con nuove funzionalità e miglioramenti.

Costo
Valuta il costo totale di proprietà per la soluzione di storage container-native, tenendo conto dei costi di licenza, dei requisiti hardware e dei costi operativi continui. Valuta se la soluzione è in linea con i vincoli di budget e fornisce valore per le funzionalità e la scalabilità che offre.

Perché scegliere Pure per lo storage container-native

Il mondo del data storage è in continua evoluzione e l'unico modo per stare al passo è adottare un'infrastruttura di data storage progettata per l'innovazione e la sostenibilità.

Portworx di Pure Storage è una soluzione completamente integrata per lo storage persistente, la data protection, il disaster recovery, la sicurezza dei dati, le migrazioni tra cloud e dati e la gestione automatizzata della capacità per le applicazioni in esecuzione su Kubernetes.

Portworx offre varie funzionalità, tra cui:

  • Portworx Enterprise: Una soluzione di storage software-defined cloud-native per Kubernetes
  • Backup di Portworx: Una suite Kubernetes data protection Kubernetes-aware
  • Portworx Data Services: Una piattaforma di database as-a-Service (DBPaaS) per il deployment self-service dei data services moderni più comuni
08/2024
AlloyDB Omni with Pure Storage and OpenStack
A reference architecture for AlloyDB Omni on Kubernetes with Portworx® and OpenStack.
Reference architecture
31 pagine
CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.