Nuove metriche per gli storage a oggetti

Nuove metriche per gli storage a oggettiFortress Volante di Nele-Diel

Il team di archiviazione S3 oggettivo Mail.ru Cloud Storage ha tradotto un articolo su quali criteri siano importanti nella scelta dell'archiviazione oggettiva. Di seguito il testo dall'autore.

Quando si parla di archiviazione oggettiva, in genere, le persone pensano solo a una caratteristica: il prezzo per TB/GB. Certamente, questa metrica è importante, ma rende l'approccio unilaterale e riduce l'archiviazione oggettiva a uno strumento per la conservazione di archivi. Inoltre, questo approccio diminuisce l'importanza dell'archiviazione oggettiva per il stack tecnologico dell'impresa.

Quando si sceglie un'archiviazione oggettiva, è importante prestare attenzione a cinque caratteristiche:

  • prestazioni;
  • scalabilità;
  • compatibilità con S3;
  • reazione ai guasti;
  • integrità.

Queste cinque caratteristiche sono nuove metriche per l'archiviazione oggettiva, accanto al costo. Esaminiamole tutte.

Prestazioni

Le tradizionali archiviazioni oggettive non eccellono in termini di prestazioni. I fornitori di servizi hanno costantemente sacrificato la prestazione nella corsa ai prezzi più bassi. Tuttavia, con le archiviazioni oggettive moderne, la situazione è diversa.

La velocità delle varie archiviazioni si avvicina a Hadoop o addirittura la supera. Le attuali esigenze di velocità di lettura e scrittura vanno da 10 GB/s per i dischi rigidi a 35 GB/s per NVMe. 

Tale capacità di throughput è sufficiente per Spark, Presto, Tensorflow, Teradata, Vertica, Splunk e altri framework di elaborazione moderna nel stack analitico. Il fatto che i database MPP possano essere configurati per archiviazioni oggettive indica che esse sono sempre più utilizzate come archiviazione principale.

Se il vostro sistema di archiviazione non fornisce la velocità necessaria, non siete in grado di utilizzare i dati e estrarre valore da essi. Anche se estraete dati dall'archiviazione oggettiva in una struttura di elaborazione in memoria, ci sarà comunque necessità di una capacità di throughput per trasferire i dati dentro e fuori dalla memoria. Le archiviazioni oggettive obsolete non ne hanno a sufficienza.

È un punto chiave: il nuovo indicatore di prestazioni è la capacità di throughput, non la latenza. Essa è necessaria per i dati scalabili ed è la norma nell'attuale infrastruttura dei dati.

Sebbene i test di prestazione siano un buon modo per determinare l'efficienza, non è possibile misurarla con precisione fino all'avvio dell'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 di calcolo.

Scalabilità

Per scalabilità si intende la quantità di petabyte che possono essere contenuti in uno spazio dei nomi. I fornitori dichiarano una scalabilità facile, ma non rivelano che, man mano che si scala, i sistemi monolitici massicci diventano fragili, complessi, instabili e costosi.

Un nuovo indicatore di scalabilità è il numero di spazi dei nomi o clienti che è possibile servire. La metrica proviene direttamente dai hyperscalers, dove i blocchi di archiviazione sono piccoli, ma scalabili fino a miliardi di unità. In generale, è una metrica cloud.

Quando i blocchi standard sono di dimensioni ridotte, è più facile ottimizzarli, cioè garantire sicurezza, controllo degli accessi, gestione delle politiche, del ciclo di vita e degli aggiornamenti senza interruzioni. E alla fine garantire prestazioni. La dimensione del blocco costruttivo è funzione della gestibilità dell'area di guasto, questa è la base su cui si costruiscono i sistemi ad alta disponibilità.

La multi-tenancy ha molte caratteristiche. Sebbene il parametro riguardi come le organizzazioni forniscono accesso a dati e applicazioni, si riferisce anche alle stesse applicazioni e alla logica della loro isolamento reciproco.

Caratteristiche dell'approccio moderno alla multi-tenancy:

  • In poco tempo, il numero di clienti può aumentare da alcune centinaia a diversi milioni.
  • I clienti sono completamente isolati l'uno dall'altro. Questo consente loro di eseguire versioni diverse dello stesso software e di archiviare oggetti con configurazioni, autorizzazioni, funzionalità, livelli di sicurezza e assistenza diversi. Questo è necessario quando si scalano nuovi server, aggiornamenti e regioni geografiche.
  • Lo storage si scalda in modo elastico, le risorse sono fornite su richiesta.
  • Ogni operazione è gestita da API e automatizzata senza intervento umano.
  • Il software può essere distribuito in contenitori e utilizzare sistemi di orchestrazione standard, come Kubernetes.

Compatibilità con S3

Amazon S3 API — è di fatto lo standard per gli storage di oggetti. Ogni fornitore di software per storage di oggetti dichiara la compatibilità con esso. La compatibilità con S3 è binaria: o è implementata completamente, o non lo è.

Nella pratica ci possono essere centinaia e migliaia di scenari limite in cui qualcosa va storto nell'utilizzo dello storage di oggetti. Questo è particolarmente vero per i fornitori di software e servizi proprietari. I principali scenari d'uso sono l'archiviazione diretta o il backup, quindi le motivazioni per chiamare l'API sono limitate e le opzioni d'uso sono uniformi.

Ci sono vantaggi significativi nel software open source. Esso copre la maggior parte degli scenari limite, tenendo conto della dimensione e della varietà delle applicazioni, dei sistemi operativi e delle architetture hardware.

Tutto ciò è importante per gli sviluppatori di applicazioni, quindi è opportuno testare il funzionamento dell'applicazione con i fornitori di storage. L'open source semplifica il processo: è più facile capire quale piattaforma sia adatta alla tua applicazione. Il fornitore può essere utilizzato come unico punto d'accesso agli storage, cosa che soddisferà le tue esigenze. 

L'open source significa: le applicazioni non sono affidate a un fornitore e sono più trasparenti. Questo garantisce un lungo ciclo di vita per l'applicazione.

E ancora qualche osservazione riguardo l'open source e S3. 

Se stai avviando un'applicazione per l'elaborazione di big data, S3 SELECT incrementa notevolmente le prestazioni e l'efficienza. Questo avviene grazie all'uso di SQL per estrarre dallo storage solo gli oggetti di cui hai bisogno.

Un aspetto chiave è il supporto per le notifiche dei bucket. Le notifiche dei bucket semplificano l'elaborazione serverless — un componente importante di qualsiasi architettura a microservizi fornita come servizio. Considerando che lo storage di oggetti è di fatto un cloud storage, questa funzionalità diventa fondamentale quando il cloud viene utilizzato dalle applicazioni.

Infine, l'implementazione di S3 deve supportare le interfacce di crittografia dell'API Amazon S3 sul lato server: SSE-C, SSE-S3, SSE-KMS. Ancora meglio, se S3 supporta misure di protezione contro l'accesso non autorizzato, che siano realmente sicure. 

Risposta ai guasti

Un indicatore che probabilmente viene spesso trascurato è come il sistema gestisce i guasti. I fallimenti si verificano per varie ragioni e lo storage oggetti deve gestirli tutti.

Ad esempio, c'è un unico punto di guasto, e la metrica di questo è pari a zero.

Sfortunatamente, molti sistemi di storage oggetti utilizzano nodi speciali che devono essere attivati per il corretto funzionamento del cluster. Questi includono nodi dei nomi o server dei metadati: questo crea un unico punto di guasto.

Anche nei casi in cui ci sono previsti più punti di guasto, è fondamentale la capacità di sostenere guasti catastrofici. I dischi possono guastarsi, i server possono bloccarsi. Il punto chiave è la creazione di software progettato per gestire i guasti come uno stato normale. Quando un disco o un nodo si guasta, tale software continuerà a funzionare senza interruzioni.

La protezione integrata contro la cancellazione e la degradazione dei dati garantisce che: puoi perdere tanti dischi o nodi quanti sono i tuoi blocchi di parità — normalmente è la metà dei dischi. Solo in quel caso il software non sarà in grado di recuperare i dati.

Il guasto è raramente testato sotto carico, ma tale verifica è obbligatoria. La simulazione di un guasto sotto carico mostrerà i costi complessivi sostenuti dopo il guasto.

Coerenza

Un indicatore di coerenza del 100% è anche chiamato coerenza rigorosa. La coerenza è un componente chiave di qualsiasi sistema di storage, ma la coerenza rigorosa è piuttosto rara. Ad esempio, Amazon S3 ListObject non è rigorosamente coerente, è coerente solo alla fine.

Cosa si intende per coerenza rigorosa? Per tutte le operazioni dopo un'operazione PUT confermata, deve essere eseguito quanto segue:

  • Il valore aggiornato è visibile nella lettura da qualsiasi nodo.
  • L'aggiornamento è protetto da un backup in caso di guasto del nodo.

Questo significa: se si stacca la spina a metà registrazione, non si perde nulla. Il sistema non restituisce mai dati danneggiati o obsoleti. Questo è un obiettivo elevato che è importante per molti scenari: dalle applicazioni transazionali al backup e al ripristino.

Conclusione

Queste sono nuove metriche per lo storage degli oggetti che riflettono i modelli di utilizzo nelle organizzazioni moderne, dove prestazioni, coerenza, scalabilità, domini di guasto e compatibilità con S3 sono i mattoni fondamentali per le applicazioni cloud e l'analisi dei big data. Consiglio di usare questa lista insieme al prezzo nella creazione di stack di dati moderni. 

Informazioni su Mail.ru Cloud Solutions Storage: Architettura S3. 3 anni di evoluzione di Mail.ru Cloud Storage.

Cosa leggere ancora:

  1. Esempio di applicazione event-driven basata su webhook in un archivio S3 oggetti di Mail.ru Cloud Solutions.
  2. Più di Ceph: archiviazione su cloud MCS 
  3. Lavorare con lo storage S3 di Mail.ru Cloud Solutions come se fosse un file system.
  4. Il nostro canale Telegram con notizie sugli aggiornamenti dello storage S3 e di altri prodotti

Fonte: habr.com

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster