Nous profitons de la sortie de Block Storage en bêta publique pour saisir l'occasion de vous expliquer les principales différences entre Block, File et Object Storage.


Qu'est-ce que Block Storage ?


Le Block Storage est une technologie qui permet l’extraction depuis un périphérique de stockage de bas-niveau. Son principal avantage est qu’il permet la réalisation d’opérations à faible latence.

Commander un volume Block revient, en quelque sorte, à commander un disque dur virtuel pouvant être branché/débranché d’une instance cloud.
Le périphérique Block se gère (côté utilisateur) exactement comme un disque normal. Une fois branché, le système d’exploitation le détecte comme un disque brut. Vous pouvez ensuite le formater pour y créer un fichier système (ext4, XFS, NTFS...) et commencer à l'utiliser pour stocker vos données.

En arrière-plan, le périphérique Block est managé, par le cluster, comme une collection de plus petites pièces (que l’on appelle chunks ou blocks). Chacune de ces pièces peut être stockée sur un cluster de stockage composé de plusieurs machines, sous une adresse unique. Dans le cas d’un stockage de Blocks dans le cloud, les chunks sont répliqués pour éviter la perte de données en cas de défaillance du support de stockage.

Si le système d'exploitation de votre instance nécessite un fichier particulier, il en fait la demande au périphérique Block dans lequel votre fichier est stocké. Cette requête est ensuite traduite en une requête de stockage Block qui délivre les données à votre système d'exploitation comme le ferait un vrai disque dur.

Le Block Storage est donc idéal pour les applications à latence critique telles que le stockage de machines virtuelles et de bases de données transactionnelles. Il est également très bien adapté aux applications qui sont critiques pour l'entreprise car les données sont stockées de manière redondante, sur plusieurs disques et nœuds physiques. En cas de défaillance d'un disque, les Blocks manquants peuvent, ainsi, facilement être récupérés depuis les autres disques du cluster. Le Block Storage offre également des performances constantes, quelle que soit la quantité de données stockées, contrairement au File Storage qui, lui, peut souffrir de problèmes de performances lorsqu'un certain nombre de fichiers est stocké. Par ailleurs, le périphérique Block est accessible via un réseau, ce qui permet de détacher facilement un volume d'un serveur A pour le rattacher à un serveur B, dans une même zone de disponibilité. Le Block Storage est très pratique pour l'utilisation de produits tels que Kubernetes ou Database.

Les + de Block Storage : Les - de Block Storage :
Adéquat pour les applications qui nécessitent
de hautes performances et un I/O bound optimisé
Les volumes de stockage Block sont allouées
avec des tailles fixes.Il est possible que
vous finissiez par payer du stockage non-utilisé.
Hautement redondant.
Les données sont redondantes selon le volume,
donc si un disque est détruit, elles peuvent facilement
être récupérées sans aucun impact sur vos applications.

Qu’est-ce que le File Storage ?

Le File Storage est une solution de stockage de fichiers qui permet de les présenter aux utilisateurs finaux au travers d’une structure hiérarchique. Son principal avantage est d’offrir une solution intuitive et user-friendly pour stocker et retrouver ses fichiers. Pour localiser un fichier dans un stockage, le chemin complet est nécessaire. Par exemple : /home/myuser/myphotos/summer2019/italy/beach.jpeg.  

Le File Storage est la manière la plus simple pour les utilisateurs d’interagir avec leurs fichiers. Les données peuvent être stockées sur un disque dur en local ou sur un service de stockage en réseau comme, par exemple, au travers d'un NAS.

Ce type de système de stockage intègre un ensemble de fonctionnalités de gestion des accès aux fichiers tels que la possibilité de désigner des propriétaires ou de modifier les permissions des utilisateurs authentifiés. Il supporte également de multiples écritures simultanées. Plusieurs utilisateurs peuvent agir sur un même élément stocké, et le modifier simultanément.

Il comporte néanmoins quelques inconvénients, quant à sa modularité. Cette solution est, en effet, limitée dans le nombre de fichiers qu'elle peut servir efficacement. Aussi, comme le nombre de données à gérer ne cesse d'augmenter, la récupération de fichiers peut devenir une tâche lourde et longue. L'extension de la capacité de stockage nécessite donc une gestion minutieuse du support de stockage sous-jacent, ce qui peut être problématique dans le cas d'un NAS avec des slots limités.

Les solutions de cloud ont été conçus pour résoudre les contraintes physiques du stockage de fichiers. Ces services permettent aux utilisateurs de stocker leurs données sur des serveurs dans un datacenter distant (le cloud) et de les rendre disponibles via une connexion réseau. Plusieurs utilisateurs peuvent accéder simultanément à leurs fichiers, tandis que le fournisseur cloud gère les périphériques physiques qui stockent les données.

Les + de File Storage : Les - de File Storage :
Accessible pour plusieurs exécutions. Un seul fichier a plusieurs serveurs
qui peuvent y accéder en même temps.
Lectures et écritures simultanées
sans risque d'écrasement.
Performances en déclin au-delà d’une
certaine capacité
Set de metadatas limitées

Qu’est-ce qu’Object Storage ?

L'Object Storage est l'un des systèmes de stockage les plus récents. Ce produit cloud a été conçu avec pour objectif de stocker de grandes quantités de données non-structurées. Au lieu d'utiliser des chemins de fichiers, les données sont stockées sous forme d'objets immuables adressés par une clé.

L'Object Storage permet le stockage de n'importe quel type d'objet : fichiers de connexion, des sites Web en HTML, des images, des documents ou tout autre type de données. Comme il n'y a pas de chemin spécifique à suivre pour stocker les éléments, tous les objets sont qualifiés de "non-structurés". Les données d'objet comprennent :
- un ID (au lieu d'un nom de fichier et d'un chemin d'accès au fichier) ;
- des métadonnées (par exemple, les auteurs du fichier, les autorisations définies sur les fichiers, la date à laquelle il a été créé, etc.) ;
- des données non-structurées (par exemple, des images, des vidéos, des sauvegardes de sites Web, etc.).

Les métadonnées sont entièrement personnalisables, ce qui vous permet d'ajouter des informations à chaque donnée.

L'accès aux objets et à leurs métadonnées se fait à l'aide d'une API HTTP standard. C'est l'une des raisons pour lesquelles le stockage d'objets a connu un succès massif auprès de plusieurs corps de développeurs, et en particulier chez les développeurs web. Le stockage et la récupération d'objets à l'aide de requêtes HTTP standard a fortement facilité le développement de bibliothèques pour presque tous les langages de programmation. La plupart des fournisseurs de services de stockage d'objets permettent également d'accéder aux objets à partir d'un lien public, ce qui permet d'héberger les actifs statiques des sites Web sur le service de stockage d'objets au lieu d'utiliser un serveur Web dédié à cette tâche.

L'Object Storage est la solution idéale pour le stockage de grandes quantités de données qui ne sont pas modifiées une fois stockées et où la latence est secondaire. Par exemple, il peut être utilisé pour fournir du stockage à des services de partage de fichiers, pour de la sauvegarde ou encore pour du stockage de données personnelles comme des photos ou des vidéos.

Les + d'Object Storage : Les - d'Object Storage :
Hautement évolutif Le stockage des objets ne permet pas
la modification d'un certain blob de données,
chaque objet doit être lu et écrit complètement
ce qui peut entraîner des problèmes de rendement.
Facilement accessible depuis une API HTTP
Facturable à l’usage, aucun
frais fixe ou frais d’entrée très bas

Découvrez comment SendGB utilise notre solution d’Object Storage pour permettre à ses clients partager des fichiers volumineux dans le monde entier.

Au cas où vous souhaiteriez en savoir plus au sujet d’Object Storage, et comment nous l’utilisons chez Scaleway, voici une sélection d’articles sur le sujet :

1. Object Storage : Qu’est-ce que c’est ?

2. Object Storage : Comment cela fonctionne ?

3. Object Storage : Comment est-ce conçu ?