Stockage en conteneurs : l'essentiel sur Portworx
Plusieurs éditeurs proposent désormais des solutions de stockage en conteneurs conçues pour répondre aux besoins de persistance de données des environnements Docker. Aujourd'hui Le MagIT se penche sur Portworx.
Afin de satisfaire les besoins spécifiques de persistance de données des architectures logicielles à base de conteneurs Docker, plusieurs éditeurs ont développé des solutions de stockage optimisées pour un déploiement dans une infrastructure conteneurisée.
LeMagIT s’est intéressé plus en détail à quatre technologies de stockage distribué, elles-mêmes déployables sous la forme de conteneurs.
La troisième est Portworx, une solution de stockage en conteneurs développée spécifiquement pour servir les besoins de persistance des environnements Docker.
Portworks
Si l’infrastructure de Docker est bien adaptée aux applications stateless (des applications qui ne conservent pas de notion d’état), elle l’était moins jusqu’à récemment pour les applications « stateful », qui ont besoin de persister des données sur un volume en mode bloc (c’est, par exemple, le cas des applications dépendant de bases de données SQL ou NoSQL).
C’est pour s’attaquer à ce problème que Portworx, une jeune société californienne, a développé sa technologie Portworx PX, une solution de stockage distribuée implémentée sous la forme de conteneurs Docker. Celle-ci est conçue pour délivrer du stockage persistant (ou non) aux applications déployées sous forme de conteneurs.
Résoudre le problème du stockage persistant pour Docker
Avec les data volumes de Docker, il est nativement possible de « monter » un répertoire du serveur hôte dans un conteneur. La technologie de plug-ins de volumes de Docker a plus récemment permis d’étendre ce modèle au stockage partagé SAN et NAS et d’associer des volumes iSCSI, NFS ou Fibre Channel à un conteneur. C’est ce qui a permis à la plupart des constructeurs de baies de stockage d’intégrer leurs systèmes avec Docker pour fournir des services de stockage persistant aux conteneurs — soit avec leur propres plug-ins, soit via le support de Flocker. Cette approche pose toutefois le problème habituel de la cohabitation entre des systèmes à base de conteneurs massivement distribués et un stockage qui, lui, reste centralisé.
Portworx entend proposer une alternative à ce modèle de stockage traditionnel. La firme, créée en 2014, a levé 8,5 M$ et a été fondée par des acteurs expérimentés du stockage. Le CEO, Murli Thirumale, et le CTO, Goutham Rao, ont précédemment cofondé Ocarina Networks, un spécialiste de la compression et de la déduplication racheté par Dell en 2010. Et le troisième co-fondateur, Vinod Jayaraman, vient aussi d’Ocarina, après avoir développé la pile d’optimisation CIFS de F5 Networks.
Une architecture de stockage hyperconvergée pour les conteneus.
La technologie PX Enterprise de Portworx apporte en fait une couche de stockage hyperconvergée aux serveurs faisant tourner des conteneurs Docker. Dans la pratique, PX Enterprise se présente sous la forme d’une couche de stockage distribuée et programmable. Chaque nœud participant à un cluster Portworx fait tourner un conteneur privilégié, qui détecte les ressources de stockage locales (disques durs et SSD) et permet de les intégrer à un pool de stockage distribué. À l’instar du système de fichiers de Nutanix pour les VM, la technologie de Portworx crée ainsi une baie de stockage distribuée consommable par les conteneurs déployés sur les serveurs membres du cluster.
Le second étage de la fusée Portworx est l’intégration de la technologie avec les outils de gestion de cluster comme Mesos, Docker Swarm ou Kubernetes. Cette intégration permet aux entreprises d’automatiser le provisioning du stockage aux conteneurs, mais aussi de provisionner dynamiquement de nouveaux serveurs participant au cluster. Elle permet également de maintenir les associations entre les volumes et les conteneurs. Comme l’explique le CEO de Portworx, la technologie permet de traiter l’infrastructure comme du code et de la provisionner dynamiquement en fonction des besoins.
PX Enterprise permet aussi de surveiller en temps réel la performance délivrée à chaque conteneur et donc d’informer les outils de gestion de cluster d’éventuels manquements aux SLA et de réagir en conséquence, en déplaçant par exemple le volume sur une classe de service plus appropriée (vers un volume constitué de SSD plutôt que de disques durs). De même, les services de stockage délivrés par PX Enterprise (snapshot, réplication…) sont orchestrables via les outils comme Mesos ou Swarm.
Selon Portworx, sa technologie est environ 70 % moins coûteuse qu’une baie SAN traditionnelle. Il est possible pour les développeurs de tester gratuitement la technologie de la firme via l’offre PX Developer, limitée à trois nœuds serveurs et dépourvue de certaines des fonctions avancées comme le chiffrement des données, la gestion des ACL ou la gestion des clusters multiples depuis une console unique. Une version de démonstration de PX Enterprise est également disponible sur demande.