Le stockage objet, à quoi bon ?
Le stockage objet présente une interface REST qui convient bien aux accès distants, mais il a surtout changé les règles et relâché les contraintes des systèmes de fichiers.
"À quoi bon apprendre ce qui est dans les livres, puisque ça y est ?" Sacha Guitry
Le stockage objet est devenu populaire à travers les clouds publiques, surtout AWS qui propose son Simple Storage Service S3 depuis 2006, et nous entendons souvent dire qu’il va nous aider à survivre à l’explosion des volumes de données, et nous aider à changer le monde. Mais, comme le suggère Guitry, à quoi bon savoir quand quelqu’un sait déjà ? Pourquoi changer mes habitudes de stocker des données si je sais déjà faire ?
Les systèmes de fichiers existent depuis une cinquantaine d’années et leur structure de dossiers hiérarchique nous semble tout à fait naturelle. Pour beaucoup d’utilisateurs, toutes les contraintes des systèmes de fichiers relèvent du bon sens. Il s’agit d’abord de cohérence – ce que je pose est ce que je récupère, si je change quelque chose les autres collaborateurs voient le changement immédiatement. Il s’agit aussi de bonnes relations parents-enfants : chaque dossier doit avoir un parent, et un enfant ne peut pas être son propre parent. Les règles qui empêchent les sous-répertoires de devenir orphelins et ne plus apparaître dans l’arborescence des fichiers, ou les répertoires qui bouclent sur eux-mêmes.
Tout cela peut paraître anodin et simple à gérer, jusqu’au moment où un système de fichiers a 10, 50, ou des milliers d’utilisateurs, et pire encore, des utilisateurs éparpillés aux quatre coins du monde. Respecter les contraintes devient difficile dans de telles conditions et le système ralentit pour conserver la synchronisation ou alors s’arrête de fonctionner si les accès réseau entre serveurs et clients sont rompus. Pour faire face aux besoins toujours croissants de volume, et d’accès concurrent à distance, les fournisseurs de stockage objet ont sagement botté en touche en se focalisant sur plus de disponibilité.
Le stockage objet présente une interface REST qui convient bien aux accès distants, mais il a surtout changé les règles et relâché les contraintes des systèmes de fichiers. Ceci permet aux systèmes de stockage de soutenir des capacités quasiment sans limite, mais les applications doivent désormais porter plus de responsabilité pour l’intégrité des données. Les bases de données ont connu des changements similaires avec la mouvance NoSQL qui remet beaucoup de responsabilités transactionnelles sur les applications en échange d’une scalabilité et d’économies accrues. Il faut admettre que pour un certain nombre d’usages, la garantie moins stricte ne pose pas de problème particulier, et c’est souvent le cas pour l’archivage ou la distribution de contenu web statique, un usage très rependu du stockage objet. Voici ci-dessous un tableau qui montre les différences entre le monde fichier et objet :
À travers ces différences, nous voyons que le stockage objet a des caractéristiques distinctes des systèmes de fichiers bien connus. Le contrat avec l’utilisateur facilite l’utilisation à très grande échelle, le partage et la consommation à la demande, critères importants pour les environnements cloud et très apprécié par les utilisateurs. D’ailleurs, la spécification originale pour le service de stockage AWS S3 par Jeff Bezos[1] étaient très succinct "malloc pour l’Internet", la possibilité d’avoir de la mémoire à la demande et à l’échelle de la planète.
Il y a toujours eu une certaine volonté d’avoir un modèle de stockage universel, mais nous assistons plutôt à une diversification des types de stockage de nos jours. Au-delà des avantages économiques du stockage objet, nous voyons que le modèle facilite certains usages et rend d’autres plus complexes. Les applications gourmandes en stockage : backup, imagerie médicale, media, applications web B2C, applications des administrations et archivage des preuves légales sont tous en train d’adopter le modèle objet. Comme pour la mouvance NoSQL, les avantages sont trop nombreux pour être ignorés et d’autres usages intéressants vont suivre. Et comme dirait Pablo Picasso : Si l'on sait exactement ce qu'on va faire, à quoi bon le faire ?