Avec Torus, CoreOS distribue du stockage persistant aux conteneurs

CoreOS vient de présenter son projet Torus pour apporter du stockage persistant aux conteneurs. Une demande des développeurs.

CoreOS a dévoilé le projet Torus, une architecture Open Source de stockage distribué. L’objectif de ce projet est de donner aux développeurs un système de stockage fiable et évolutif pour les applications déployées via des conteneurs et de gestion des conteneurs, Kubernetes.

Pour Barak Michener de CoreOS, « le stockage persistent dans un cluster de conteneurs est un des problèmes récurrents les plus intéressants en informatique. Où allons-nous stocker le flux volumineux de données  que les microservices produisent et consomment, surtout quand le code est discret et immuable, mais qu’il est essentiel ? ».

L’équipe de CoreOS souligne que les solutions de stockage ne sont pas adaptées pour fonctionner avec les clusters de conteneurs. Elles s’adressaient à des clusters de petites tailles contenant des machines importantes, alors que l’approche actuelle est de réaliser des clusters de plus grandes tailles avec plusieurs petites machines. Un des défis pour les développeurs est d’avoir un stockage persistent pour s’adapter à la flexibilité du déploiement des conteneurs. « Il faut assurer un stockage persistant pour les microservices, car ils sont arrêtés, relancés, mis à jour et déplacés entre les nœuds au sein d’un cluster. Cela n’est pas aussi simple que de mettre du cache sur un seul serveur et exécuter un groupe d’applications monolithiques, ou via plusieurs machines virtuelles. »

Une technique limitée aux fichiers en mode bloc

Dans le détail, Torus utilise une base de données clé-valeur pour stocker et récupérer des fichiers. CoreOS estime que ce système est capable de marcher jusqu’à une centaine de nœuds. Pour l’instant, cette première version de Torus expose les fichiers en mode bloc à travers NBD (Network Block Device), un composant du kernel permettant de monter un fichier distant via ethernet, en TCP, comme s’il s’agissait d’un périphérique de bloc local. Le système est conçu pour être extensible et CoreOS pense que d’autres outils pourront venir s’interfacer pour par exemple gérer le stockage en mode objet, très à la mode actuellement.

Le projet Torus est disponible sur Github et il rejoint les autres programmes de la distribution Linux pour datacenter. Pour mémoire, la start-up est entrée en concurrence directe de Docker sur le marché des conteneurs avec son moteur rkt (Rocket), mais aussi avec un gestionnaire de conteneurs, Tectonic et Quay, un service pour créer, stocker et distribuer des logiciels contenerisés.

A lire aussi :

Avec Clair, CoreOS scrute les failles de sécurité des conteneurs
Conteneurs : un format unique pour réconcilier Docker et CoreOS