Vous êtes sur la page 1sur 5

Stockage objet : 8 points pour bien

comprendre
Stockage : L'arrivée du cloud computing et du software defined storage remet au gout du jour le
stockage en mode objet. Quels sont ses contraintes et ses avantages ? Qui sont les acteurs de ce
marché ? Pourquoi est-ce une formidable opportunité pour l'IoT ? Quelques réponses.

Si le stockage objet est l'une des tendances technologiques du moment, ce n'est pas une idée
particulièrement nouvelle. Le concept a fait son apparition au milieu des années 90 et, en 2005, des
alternatives sont arrivées sur le marché. La résistance des fournisseurs de systèmes de stockage
fichier (NAS) et blocs (SAN) a cependant longtemps ralenti l'adoption du stockage objet.

Mais avec le succès actuel du système de stockage S3 d'Amazon Web Services, force est de
constater que le stockage objet est désormais là pour durer et gagne énormément d'utilisateurs
par rapport aux anciennes méthodes de stockage. Surtout, le stockage objet est bien adapté au
nouvel environnement de données. Les données non structurées, qui incluent de gros fichiers
multimédias et des objets dits Big Data, croissent à un rythme beaucoup plus rapide que les
données structurées et, globalement, les données elles-mêmes augmentent à un rythme
phénoménal.

L'expérience nous apprend que les systèmes blocs traditionnels deviennent complexes à gérer
à une échelle relativement faible, et que le concept de création d'un pool unique de données
n'est plus aussi performant quand le nombre d'appliances augmente, surtout si le pool dépasse
les limites des différents types d'équipement. Les serveurs de fichiers (filers) fonctionnent
avec des hiérarchies de dossiers de fichiers qui deviennent complexes quand il s'agit d'étendre
le système, et ce alors que les milliers d'instances virtuelles actuelles rendent les systèmes de
partage de fichiers carrément maladroits.

Vers des coûts de plus en plus faibles

Une des caractéristiques des instances de stockage objet est la distribution des objets sur tous
les périphériques de stockage, ou au moins en sous-ensembles s'il y a un grand nombre de
périphériques dans le cluster. Cela supprime une faiblesse de conception de l'approche type
bloc / fichier, où la défaillance d'une appliance ou de plusieurs unités peut entraîner une perte
de disponibilité des données ou même une perte des données.

Les magasins d'objets utilisent généralement un algorithme comme CRUSH pour répartir les
morceaux d'objet de manière connue et prévisible. En couplant cette fonctionnalité avec de la
réplication, et plus récemment avec le codage d'effacement, cela signifie que plusieurs nœuds
ou disques peuvent tomber sans affecter matériellement l'intégrité des données ou les
performances d'accès. L'approche par objet parallélise également efficacement l'accès à des
objets plus grands, car un certain nombre de nœuds transféreront tous des éléments de l'objet
en même temps.
Il existe à ce jour un grand nombre de fournisseurs de logiciels de gestion du stockage en
mode bloc, tous pouvant être installés sur une grande variété de plates-formes matérielles
COTS (commercial off-the-shelf, soit vendu sur étagère). Cela inclut la solution open source
Ceph, soutenue par Red Hat. La combinaison d'un de ces logiciels et d'un équipement sur
étagère à faible coût rend le stockage objet attrayant sur la base du prix par téraoctet,
comparativement aux équipements NAS ou SAN propriétaires traditionnels.

L'arrivée du Software Defined Storage

Par ailleurs le stockage objets évolue pour absorber les autres modèles de stockage en offrant
un modèle de "stockage universel" où les portails d'accès aux objets, aux fichiers et aux blocs
communiquent tous avec le même pool de stockage d'objets bruts. À long terme, le stockage
universel semble donc être la solution convergente pour l'ensemble de l'industrie.

Cette tendance est renforcée par la croissance du software defined storage (SDS). Le systèmes
de stockage objet fonctionnent tous nativement avec un moteur de serveur standard, ce qui
signifie que la transition d'un logiciel intégré à une appliance vers un logiciel virtualisé dans
le pool d'instances est dans la plupart des cas triviale. Ce n'est certainement pas le cas pour les
anciens NAS ou SAN. Pour systèmes de stockage objet, le SDS permet d'adapter facilement
des services tels que la compression et la dé-duplication. Il ouvre également la voie à des
services riches tels que l'indexation de données.

1. Qu'est ce qu'un objet ?

Un objet est un bout de données couplé à des métadonnées extensibles décrivant toutes sortes
de choses sur ces données, toutes identifiées par un identificateur global unique (GUID -
Globally Unique IDentifier). Ce morceau de données, c'est l'essence du stockage d'objets,
puisqu'il peut s'agir de n'importe quoi : d'une ligne de base de données à un document Word
en passant par un résultat quotidien de l'accélérateur du CERN. Le GUID est généralement un
hachage de données et sert à garantir que les données sont intactes ou non altérées, ainsi qu'à
identifier l'objet unique.

Les métadonnées sont un ensemble extensible de paramètres concernant les données. Ceux-ci
peuvent définir la gestion du cycle de vie de l'objet, les contrôles d'accès, l'indexation du
contenu et les relations entre ces données et d'autres données. Des métadonnées spécifiques à
l'application peuvent également être créées.

Le fait que les objets puissent contenir n'importe quelle structure de données signifie que le
stockage de fichiers et en mode bloc est effectivement un sous-ensemble, ce qui est un facteur
important dans une perspective de "stockage universel".

2. Qu'est ce qu'un système de stockage objet ?

Les systèmes de stockage objet, d'un point de vue théorique, sont des éléments logiciels. Ces
systèmes stochent des objets et les identifient de manière unique, avec un GUID. Puis ils
déterminent des groupes d'emplacements de stockage. Généralement, il existe plusieurs
groupes qui peuvent se chevaucher sur les périphériques de stockage réels. Le logiciel gère
l'ajout de plus d'emplacements de stockage (disques) ou s'attaque à de nouveaux disques et de
nouveaux noeuds.
Les données sont ensuite écrites en les décomposant en morceaux, puis placées des dispositifs
de stockage d'objets (OSD - Object Storage Devices) dans le groupe. Cette approche étend
l'écriture et la lecture assez uniformément dans l'ensemble du pool de stockage.

Le matériel utilisé pour faire fonctionner des systèmes de stockage objet est basé sur du x64
ou de l'ARM. L'OSD peut être conçu de plusieurs façons. Cela va d'une appliance de type
serveur avec 10 disques à des disques NVMe-over-Ethernet hébergés dans un JBOD et
connectés directement au LAN.

Toutes ces options sont peu coûteuses et les solutions NVMe permettent d'utiliser une bande
passante phénoménale. En règle générale, une configuration minimale comprend quatre
appliances avec 40 disques, mais l'ajout d'espace ressemble beaucoup à la construction avec
des Legos : il suffit d'ajouter plus de nœuds d'appliance et le logiciel assimile
automatiquement le stockage supplémentaire dans le pool de stockage.

3. La performance

Les premiers systèmes de stockage objet étaient difficiles à optimiser et souffraient d'un haut
niveau de surcharge et de faibles performances des disques durs. Cela a poussé le stockage
objet dans le créneau du stockage secondaire pendant plusieurs années. Mais la technologie a
changé de vitesse car le code de première génération a été réécrit pour la performance.
Ensuite, côté rapidité, les LAN RDMA (Remote Direct Memory Access) et les disques SSD
ont commencé à changer les latences constatées jusqu'alors.

Aujourd'hui, le stockage objet peut correspondre aux vitesses de des sytèmes de fichiers et de
blocs. Mais nous sommes dans la phase d'adoption du NVMe, ce qui implique des E/S
parallèles au niveau des disques, et un bond considérable des performances. Le stockage
fichiers et blocs sur les systèmes de stockage objet permettra également de tirer parti de ces
avantages, mais le stockage objet est le grand gagnant et nous pouvons nous attendre à ce qu'il
éclipse des méthodes plus traditionnelles.

4. Les fournisseurs de systèmes de stockage objet

Il existe un large éventail de fournisseurs de logiciels de stockage d'objets. Sur le plan


commercial, Caringo et Scality sont les leaders, mais ils sont en concurrence avec Ceph, un
projet open source soutenu par Red Hat et une très grande communauté de contributeurs.
OpenStack a aussi un projet open source : Swift, qui est en concurrence avec sur les
installations OpenStack avec Ceph. L'installation d'un logiciel de stockage objet sur un nœud
de serveur est simple à réaliser.

Les principaux fournisseurs de services de cloud computing comme AWS et Google ont leurs
services de stockage objet. AWS S3 est de loin le plus grand pool de stockage au monde.

La plupart des fournisseurs de serveurs / de stockage et une multitude de startups proposent


des systèmes de stockage objet avec du matériel et des logiciels déjà intégrés. Beaucoup sont
basés sur Ceph, surtout parmi les startups, mais Scality et Caringo apparaissent aussi avec les
grands fournisseurs de plate-formes.
5. Évolutivité

La question de l'échelle dans le stockage est un facteur de deux choses. Premièrement, il doit
y avoir un système d'adressage pratique capable de gérer un grand nombre d'objets. La
méthode GUID dans le stockage d'objets répond clairement à ce besoin et les concepts de
buckets et de partitions pour séparer les espaces de travail des utilisateurs étendent la portée
du système de stockage au-delà de tout besoin à court terme dans un cluster de stockage.

Un problème plus concret consiste à trouver et à gérer les identités des objets à cette échelle.
L'idée d'une base de données centrale de GUID peut conduire à des latences de minutes ou
d'heures, et un débit d'escargot. Toutes les systèmes de stockage objet qui fonctionnent évitent
les goulets d'étranglement en utilisant un algorithme déterministe pour placer les données. Et
par ailleurs en distribuant des informations de pointeur aux nœuds contenant le point de
départ dans chaque thread d'objet.

En d'autres termes, lorsque vous augmentez le stockage, vous ajoutez de la puissance de


traitement.

6. Cas d'utilisation du stockage objet

Un système de stockage objet est idéal pour stocker des données qui sont rarement modifiées,
comme des films et d'autres médias, des pages Web et tout contenu fixe. Le Big Data est un
autre domaine où les systèmes de stockage objet sont une bonne solution, à la fois en raison
de leur capacité à évoluer et à gérer des données faiblement structurées. Les données
scientifiques telles que les simulations, les résultats expérimentaux et les informations de
télémétrie s'intègrent bien à cause de leur taille et de leur nature généralement non structurée.
Traditionnellement, les systèmes de stockage objet sont aussi utilisés pour la sauvegarde et
l'archivage, qui sont une autre forme de données statiques.

L'Internet des objets va déplacer la création de données vers des capteurs et dans le même
temps les éloigner des mécanismes structurés comme les PC et même les téléphones. Cela va
conduire à une croissance massive des données, tout au moins si les experts comme IDC et
Gartner ont raison ! Et là encore, les systèmes de stockage objet sont les mieux adaptés.

L'Internet des objets va déplacer la création de données vers des capteurs et autres et loin des
mécanismes structurés tels que les PC et même les téléphones, conduisant à une croissance
massive des données, au moins si les experts comme IDC et Gartner ont raison! Encore une
fois, les magasins d'objets sont les mieux adaptés.

Comme les systèmes de stockage objet offrent des méthodes d'accès universelles qui incluent
des approches par blocs et par fichiers, les données bien structurées s'adapteront également au
modèle de stockage objet.

7. SDS (Software Defined Storage) et stockage objet

Le Software Defined Storage (SDS) est un nouveau moyen de découpler le logiciel de


contrôle des périphériques de stockage sous-jacents. La plupart des logiciels de stockage objet
étant relativement nouveaux, ils peuvent être facilement remodelés dans le moule SDS. Et
exécuter un système de stockage objet en tant que pool de services virtuels signifie que la
scalabilité et l'agilité sont améliorés.

8. Le cloud computing

La plupart des systèmes de stockage dans le cloud utilisent le modèle objet. La technique de
réplication peut facilement être déployée via une dispersion géographique pour assurer un
système qui résiste par exemple aux catastrophes naturelles. AWS S3, par exemple, possède
deux répliques de n'importe quel objet dans sa zone primaire, mais conserve une troisième
copie dans une autre zone pour couvrir les pannes au niveau de la zone.

La nouvelle approche de codage par effacement permet encore plus de robustesse, avec la
possibilité de gérer les pannes de zone ou la perte de nombreux périphériques de stockage
objets dans la foulée.

Le stockage objet dans le cloud est très peu coûteux, ce qui a conduit à l'énorme croissance du
modèle objet dans le stockage dans le cloud au cours de la dernière décennie. Les travaux à
venir incluent le partage de données de cloud public et privé dans un modèle de cloud hybride
suffisamment efficace pour couvrir simultanément les deux espaces de cloud.

Vous aimerez peut-être aussi