GP - Fotolia
Torus : CoreOS s’attaque au stockage persistant pour les conteneurs
CoreOS veut accoler un système de stockage persistant à Kubernetes
Parce que les conteneurs nécessitent aussi de généraliser l’automatisation au niveau de l’infrastructure sous-jacente, CoreOS, l’un des pure-players du monde des conteneurs Open Source, a présenté son projet Torus. Son objectif : proposer un système de stockage distribué et persistant pour les conteneurs orchestrés par Kubernetes, et donc adapté à ce monde très flexible des applications dites cloud-natives (comprendre qui exploitent le modèle distribué des clusters et le caractère très volatile des conteneurs).
Si le projet Open Source est aujourd’hui disponible sous la forme de prototype, CoreOS souhaite semble-t-il donner une alternative aux systèmes de stockage distribués Open Source comme Ceph, mais avec une proximité native de Kubernetes. Une façon de simplifier une architecture de microservices en somme.
Selon le schéma fourni par CoreOS, Torus crée un pool de stockage unifié, au sein d’un conteneur, au-dessus du cluster et de ses nœuds de stockage, permettant à Kubernetes de gérer chacun de ces nœuds depuis Torus. Torus supportent des centaines de nœuds.
Torus s’appuie sur la base clé / valeur distribuée Open Source etcd, développée par CoreOS. Etcd permet ainsi de coordonner les données et les métadonnées sur un cluster massivement distribué, et d’en garantir la consistance.
Des systèmes peu adaptés
Dans un billet de blog, CoreOS rappelle en effet que les systèmes de stockage actuels sont peu adaptés aux architectures modernes. « Déployer, gérer et opérer des solutions de stockage tout en essayant de les adapter dans une infrastructure moderne reposant sur des clusters de conteneurs est difficile et coûteux. Selon le groupe, ces systèmes, aussi distribués soient-ils, ont davantage été conçus pour des petits clusters de grosses machines, et non de larges clusters massivement distribués, reposant sur des petits serveurs.
Dans ce contexte, il est difficile de bénéficier de la flexibilité et du dynamisme induits par une architectures en microservices, où le dimensionnement automatique, la delivery en continu ainsi que le démarrage, le replacement ou l’arrêt de conteneurs doivent être possibles.
« Garantir un stockage persistent pour des microservices et conteneurs, lorsque l’on doit les démarrer, les stopper, les mettre à jour et les migrer d’un nœud à l’autre n’est pas aussi simple que de mettre en place une sauvegarde pour un serveur unique, sur lequel s’exécutent plusieurs applications monolithiques ou machines virtuelles », commente encore CoreOs sur son blog.
Le stockage persistant pour les conteneurs est un problème récurrent sur lequel EMC s’est déjà penché via Rex-Ray, notamment.