Nuove metriche di archiviazione degli oggetti

Nuove metriche di archiviazione degli oggettiFortezza Volante di Nele-Diel

Comando di archiviazione oggetti S3 Mail.ru Archiviazione nel cloud tradotto un articolo su quali criteri sono importanti nella scelta di un oggetto di archiviazione. Quello che segue è il testo dal punto di vista dell'autore.

Quando si parla di object storage, le persone in genere pensano solo a una cosa: il prezzo per TB/GB. Naturalmente, questa metrica è importante, ma rende l'approccio unilaterale e equipara l'archiviazione di oggetti a uno strumento di archiviazione di archivi. Inoltre, questo approccio riduce l'importanza dello storage di oggetti per lo stack tecnologico aziendale.

Quando si sceglie l'archiviazione degli oggetti, è necessario prestare attenzione a cinque caratteristiche:

  • prestazione;
  • scalabilità;
  • Compatibile con S3;
  • risposta ai fallimenti;
  • integrità.

Queste cinque caratteristiche rappresentano nuovi parametri per l'archiviazione di oggetti, insieme ai costi. Diamo un'occhiata a tutti.

Производительность

Gli archivi di oggetti tradizionali mancano di prestazioni. I fornitori di servizi lo sacrificavano costantemente alla ricerca di prezzi bassi. Tuttavia, con il moderno object storage le cose sono diverse.

Diversi sistemi di storage si avvicinano o addirittura superano la velocità di Hadoop. Requisiti moderni per velocità di lettura e scrittura: da 10 GB/s per i dischi rigidi, fino a 35 GB/s per NVMe. 

Questo throughput è sufficiente per Spark, Presto, Tensorflow, Teradata, Vertica, Splunk e altri framework informatici moderni nello stack di analisi. Il fatto che i database MPP vengano configurati per l'archiviazione di oggetti suggerisce che venga utilizzato sempre più spesso come archiviazione primaria.

Se il tuo sistema di storage non fornisce la velocità di cui hai bisogno, non puoi utilizzare i dati ed estrarne valore. Anche se recuperi i dati dall'archiviazione di oggetti in una struttura di elaborazione in memoria, avrai comunque bisogno di larghezza di banda per trasferire i dati da e verso la memoria. Gli archivi di oggetti legacy non ne hanno abbastanza.

Questo è il punto chiave: la nuova metrica delle prestazioni è il throughput, non la latenza. È necessario per i dati su larga scala ed è la norma nelle moderne infrastrutture dati.

Sebbene i benchmark siano un buon modo per determinare le prestazioni, non possono essere misurate con precisione prima di eseguire l'applicazione nell'ambiente. Solo dopo si può dire dove si trova esattamente il collo di bottiglia: nel software, nei dischi, nella rete o a livello informatico.

scalabilità

La scalabilità si riferisce al numero di petabyte che rientrano in uno spazio dei nomi. Ciò che i fornitori affermano è una facile scalabilità, ciò che non dicono è che man mano che crescono, i massicci sistemi monolitici diventano fragili, complessi, instabili e costosi.

La nuova metrica per la scalabilità è il numero di spazi dei nomi o client che puoi servire. La metrica viene presa direttamente dagli hyperscaler, dove gli elementi costitutivi dello storage sono piccoli ma scalabili fino a miliardi di unità. In generale, questa è una metrica del cloud.

Quando gli elementi costitutivi sono piccoli, è più facile ottimizzarli per la sicurezza, il controllo degli accessi, la gestione delle policy, la gestione del ciclo di vita e gli aggiornamenti senza interruzioni. E, in ultima analisi, garantire la produttività. La dimensione del building block è una funzione della controllabilità della regione di guasto, che è il modo in cui vengono costruiti sistemi altamente resilienti.

La multi-tenancy ha molte caratteristiche. Sebbene la dimensione parli del modo in cui le organizzazioni forniscono accesso a dati e applicazioni, si riferisce anche alle applicazioni stesse e alla logica che sta dietro al loro isolamento le une dalle altre.

Caratteristiche di un approccio moderno alla multi-cliente:

  • In breve tempo il numero dei clienti può crescere da diverse centinaia a diversi milioni.
  • I clienti sono completamente isolati gli uni dagli altri. Ciò consente loro di eseguire versioni diverse dello stesso software e archiviare oggetti con configurazioni, autorizzazioni, funzionalità, livelli di sicurezza e manutenzione diversi. Ciò è necessario quando si passa a nuovi server, aggiornamenti e aree geografiche.
  • Lo storage è scalabile in modo elastico, le risorse vengono fornite su richiesta.
  • Ogni operazione è controllata da un'API ed è automatizzata senza intervento umano.
  • Il software può essere ospitato in contenitori e utilizzare sistemi di orchestrazione standard come Kubernetes.

Compatibile con S3

L'API Amazon S3 è lo standard de facto per lo storage di oggetti. Ogni fornitore di software di archiviazione di oggetti dichiara la compatibilità con esso. La compatibilità con S3 è binaria: o è completamente implementata oppure non lo è.

In pratica, esistono centinaia o migliaia di scenari edge in cui qualcosa va storto quando si utilizza lo storage di oggetti. Soprattutto da fornitori di software e servizi proprietari. I suoi casi d'uso principali sono l'archiviazione diretta o il backup, quindi ci sono pochi motivi per chiamare l'API, i casi d'uso sono omogenei.

Il software open source presenta vantaggi significativi. Copre la maggior parte degli scenari edge, data la dimensione e la varietà di applicazioni, sistemi operativi e architetture hardware.

Tutto ciò è importante per gli sviluppatori di applicazioni, quindi vale la pena testare l'applicazione con i fornitori di spazio di archiviazione. L'open source semplifica il processo: è più facile capire quale piattaforma è adatta alla tua applicazione. Il fornitore può essere utilizzato come unico punto di accesso allo spazio di archiviazione, il che significa che soddisferà le tue esigenze. 

Open source significa: le applicazioni non sono legate a un fornitore e sono più trasparenti. Ciò garantisce un lungo ciclo di vita dell'applicazione.

E qualche altra nota sull'open source e S3. 

Se stai eseguendo un'applicazione Big Data, S3 SELECT migliora le prestazioni e l'efficienza di un ordine di grandezza. Lo fa utilizzando SQL per recuperare solo gli oggetti necessari dallo spazio di archiviazione.

Il punto chiave è il supporto per le notifiche dei bucket. Le notifiche dei bucket facilitano l'elaborazione serverless, un componente importante di qualsiasi architettura di microservizi fornita come servizio. Dato che l'archiviazione di oggetti è effettivamente un'archiviazione nel cloud, questa funzionalità diventa fondamentale quando l'archiviazione di oggetti viene utilizzata da applicazioni basate su cloud.

Infine, l'implementazione S3 deve supportare le API di crittografia lato server di Amazon S3: SSE-C, SSE-S3, SSE-KMS. Ancora meglio, S3 supporta una protezione antimanomissione veramente sicura. 

Risposta ai fallimenti

Un parametro che probabilmente viene spesso trascurato è il modo in cui il sistema gestisce gli errori. Gli errori si verificano per una serie di motivi e l'archiviazione degli oggetti deve gestirli tutti.

Ad esempio, esiste un singolo punto di errore, la sua metrica è zero.

Sfortunatamente, molti sistemi di storage di oggetti utilizzano nodi speciali che devono essere abilitati affinché il cluster funzioni correttamente. Questi includono nodi dei nomi o server di metadati: questo crea un singolo punto di errore.

Anche laddove sono presenti più punti di guasto, la capacità di resistere a guasti catastrofici è fondamentale. I dischi si guastano, i server si guastano. La chiave è creare un software progettato per gestire il fallimento come una condizione normale. Se un disco o un nodo si guasta, tale software continuerà a funzionare senza modifiche.

La protezione integrata contro la cancellazione e il degrado dei dati garantisce la possibilità di perdere tanti dischi o nodi quanti sono i blocchi di parità, in genere la metà dei dischi. Solo allora il software non sarà in grado di restituire i dati.

Il guasto viene raramente testato sotto carico, ma tale test è obbligatorio. La simulazione di un guasto del carico mostrerà i costi totali sostenuti dopo il guasto.

Consistenza

Un punteggio di coerenza del 100% è anche chiamato coerenza rigorosa. La coerenza è un componente chiave di qualsiasi sistema di storage, ma una coerenza elevata è rara. Ad esempio, ListObject di Amazon S3 non è strettamente coerente, lo è solo alla fine.

Cosa si intende per coerenza rigorosa? Per tutte le operazioni successive a un'operazione PUT confermata, deve verificarsi quanto segue:

  • Il valore aggiornato è visibile durante la lettura da qualsiasi nodo.
  • L'aggiornamento è protetto contro la ridondanza di errori del nodo.

Ciò significa che se stacchi la spina nel bel mezzo di una registrazione, nulla andrà perduto. Il sistema non restituisce mai dati danneggiati o obsoleti. Si tratta di un livello elevato che conta in molti scenari, dalle applicazioni transazionali al backup e ripristino.

conclusione

Si tratta di nuove metriche di object storage che riflettono i modelli di utilizzo nelle organizzazioni odierne, dove prestazioni, coerenza, scalabilità, domini di errore e compatibilità S3 sono gli elementi costitutivi delle applicazioni cloud e dell'analisi dei big data. Consiglio di utilizzare questo elenco in aggiunta al prezzo durante la creazione di stack di dati moderni. 

Informazioni sull'archiviazione di oggetti di Mail.ru Cloud Solutions: Architettura S3. 3 anni di evoluzione di Mail.ru Cloud Storage.

Cos'altro leggere:

  1. Un esempio di un'applicazione basata su eventi basata su webhook nello storage di oggetti S3 Mail.ru Cloud Solutions.
  2. Più che Ceph: MCS cloud block storage 
  3. Lavorare con l'archiviazione di oggetti S3 di Mail.ru Cloud Solutions come file system.
  4. Il nostro canale Telegram con notizie sugli aggiornamenti allo storage S3 e ad altri prodotti

Fonte: habr.com

Aggiungi un commento