ArticleInfrastructure & Cloud
JuiceFS, un système de fichiers distribué optimisé pour le cloud
Système de fichiers distribué en mode objet, JuiceFS de Juicedata propose de déployer rapidement des espaces de stockage élastiques qui peuvent être mis à l'échelle à la demande dans le cloud.

Fondé en 2017 par Davies Liu (CEO) et Rui Su,et installé à Emeryville, en Californie, Juicedata est à l’origine de JuiceFS, un système de fichiers distribué - haute performance donc - open source taillé pour les environnements cloud, prenant en charge les protocoles Posix, HDFS et S3. Développeur expérimenté passé chez Douban Movie et Maxthon Browser, Rui Su nous a présenté la plateforme lors d’un IT Press Tour dans la Silicon Valley en juin dernier. Au cœur de ce système se trouve une architecture qui dissocie les performances de stockage de la capacité tout en assurant une latence faible. Disponible sous licence Apache 2.0, l'édition communautaire de JuiceFS est développée à 70% en interne, le reste du code provenant de la communauté de contributeurs, nous a expliqué Riu Ru. 10 000 téléchargements ont déjà été effectués sur Github. Cette version met l’accent sur la facilité de maintenance, d'utilisation et de personnalisation pour des besoins généraux. Précisons que JuiceFS divise les données en blocs, et les stocke dans un object store (comme Amazon S3 ou Minio), tandis que les métadonnées sont stockées dans une base de données tierces (Redis, TiKV ou MySQL). La mise à l'échelle du stockage peut être réalisée en augmentant la capacité de la base de données ou en ajoutant des instances de base de données.
De son côté, la mouture commerciale de JuiceFS, l’Enterprise Edition, partage la même architecture technique que la Community Edition, mais est conçue pour les utilisateurs professionnels qui ont des exigences plus élevées en matière de performance, de fiabilité et de disponibilité, en fournissant un moteur de stockage de métadonnées distribué propriétaire. Cette édition supporte également la mise à l'échelle horizontale des clusters de métadonnées, où plusieurs nœuds de services de métadonnées forment ensemble un espace de noms unique pour supporter des données à plus grande échelle et traiter plus de demandes d'accès. Aucune modification du client n'est nécessaire lors de la mise à l'échelle horizontale. Elle comprend également plusieurs fonctionnalités avancées par rapport à l'édition communautaire, telles qu'une console web, des instantanés (snapshots), la réplication des données entre régions et la mise en miroir du système de fichiers.

JuiceFS supporte plusieurs protocoles, afin de faciliter le partage de données entre différentes applications et élimine la nécessité de copier les données.
Une faible latence assurée grâce au cache
JuiceFS exploite un mécanisme de mise en cache multicouche optimisant les performances à différents niveaux. En exploitant les SSD ou la mémoire sur les nœuds de calcul, ainsi que des pools de cache dédiés, JuiceFS garantit un accès à faible latence aux données fréquemment consultées, ce qui permet aux applications de traiter et d'analyser les données à des vitesses sans précédent. « Parallèlement, un magasin d'objets garantit la durabilité des données, ce qui vous permet de découpler ces aspects critiques de manière rentable », explique Riu Su. Une autre caractéristique intéressante est la prise en charge native par JuiceFS des environnements multicloud et hybride grâce à la réplication transparente des données entre les régions et les déploiements sur site. Cette flexibilité, souligne M. Su, est cruciale à une époque où les données et les ressources informatiques sont de plus en plus distribuées.

La mouture commerciale de JuiceFS, Enterprise Edition, est optimisée pour les charges de travail exigeantes et intensives en données, nous a expliqué le cofondateur.
JuiceFS Community Edition accède aux fichiers par le biais d'une recherche de chemin basée sur les inoeuds (ou inodes, structure de données qui garde la trace de tous les fichiers et répertoires d’un système de fichiers basé sur Linux) ce qui implique la recherche de fichiers couche par couche à partir du répertoire racine jusqu'à ce que le fichier final soit trouvé. Par conséquent, en fonction de la profondeur du fichier, plusieurs appels RPC peuvent être nécessaires, ce qui peut ralentir le processus. Pour accélérer la résolution du chemin, certains moteurs de métadonnées qui prennent en charge la résolution rapide du chemin, tels que Redis, peuvent résoudre directement le fichier final du côté du serveur. JuiceFS Enterprise Edition supporte la résolution de chemin côté serveur, nécessitant seulement un appel RPC pour n'importe quel fichier à n'importe quelle profondeur. JuiceFS prend également en charge le chiffrement de bout en bout, en transit et au repos. Lorsque le chiffrement privé est activé, les utilisateurs doivent gérer leur propre clé, et toutes les données écrites seront chiffrées sur la base de cette clef. Système de fichiers distribué conforme à Posix avec de fortes garanties de cohérence et la prise en charge de milliers de clients simultanés et de charges de travail mixtes, JuiceFS s'impose comme une solution convaincante pour les charges de travail à forte intensité de données dans les domaines de l'IA, du big data et de l’analytique.
Pour les évolutions à venir, Riu SU nous a indiqué que des capacités de marketing et de vente dédiées allaient être mises en place pour accompagner le développement du système de fichier en Amérique du Nord et dans le reste du monde.


