EDIT 23h50: rajout de VMWare VSAN dans le comparatif
J’avais repoussé cette échéance de semaines en semaines depuis Septembre dernier à cause du manque de temps… et je ne m’étais pas trompé, j’en ai eu besoin… de temps. En effet, aborder ScaleIO et d’une manière plus générale la mise en oeuvre d’une solution SDS n’est pas la même affaire que de tester un petit NAS ou une baie de stockage livrée “clé en main”, c’est plutôt une aventure qui nous mène en terre inconnue ! Non pas que le déploiement de telles infrastructures soit si complexe, mais c’est vraiment une approche totalement nouvelle et révolutionnaire par de nombreux aspects. A ce titre, il faut y consacrer toute son énergie et sa concentration pour en vraiment mesurer le potentiel et donc les perspectives.
Après une série de 3 billets très techniques concernant l’installation, la découverte et l’intégration de ScaleIO en environnement VMWare, l’heure est venue de dresser le portrait de ce SDS made by EMC en comparaison d’autres solutions du marché et surtout s’imaginer ce que sera vraisemblablement notre futur “SDS” pour une grande partie d’entre nous.
Bilan technique du PoC ScaleIO
Avant toute chose, ce PoC a été l’occasion pour moi de tester ScaleIO en vrai, car j’en discute depuis longtemps avec EMC et d’autres partenaires. Je le rappelle, ScaleIO est disponible gratuitement et sans limitation par EMC (mais sans support évidemment).
Après pas mal de galère avec le plug-in vSphere Web Client, on peut considérer malgré tout que l’installation n’est pas compliquée et à la portée de tout informaticien qui dispose du temps nécessaire (une demi-journée). Disons que le packaging est encore un peu brut et qu’il faudrait sans doute lui donner un air plus intégré et “clicodrome”. Certes, un SDS ne s’installe pas comme Word ou Powerpoint, mais un peu de simplicité ne ferait pas de mal pour gagner du temps. Gageons que de ce coté là, il manque juste un peu d’ergonomie, tout à fait à la portée d’EMC, d’autant que ce produit est sans doute voué à énormément évoluer dans les prochaines années.
Coté fonctionnement par contre, c’est un carton plein ! Je l’ai beaucoup stressé en coupant plusieurs fois un des trois serveurs composant le cluster. De même j’ai dû plusieurs fois complètement éteindre toutes les machines, les rebooter ensemble, les mettre en pause et les relancer … à chaque fois, ScaleIO s’en est sorti sans une corruption ni erreur fatale. De même le rebalancing en cas de rajout d’un noeud est impressionnant et rapide (pourtant, mon vLab est loin d’être au niveau de serveurs industriels, plus d’infos ici). Au niveau des performances bruts, difficile de se faire une idée réelle, mais pour ce que j’en ai vu, on sature très vite un lien Gigabit, même sur des configurations modestes, en lecture comme en écriture.
Concernant les divers outils de gestion, l’intégration VMWare est bien faite et riche, contrairement, au hasard, à VPlex/VE (voir ici). Tous les concepts ScaleIO sont présents et disponibles, les opérations de pilotage des configurations ESXi fonctionnent bien à travers les API vSphere. De même, j’ai beaucoup apprécié les outils en ligne de commande, un peu à la VPlex car bien construits et logiques. Un petit bémol sur la “GUI” qui, finalement, ne sert pas à grand chose si ce n’est à superviser l’activité du cluster. J’aurais aimé pouvoir disposer de toutes les fonctions intégrées dans cette console (le fameux “clicodrome” dont je parlais tout à l’heure). Au final, ScaleIO manque encore une fois un peu de maturité en matière d’interface, mais on lui pardonne pour l’essentiel si le moteur lui-même est à toute épreuve, ce qui semble être le cas !
Ce Poc a vraiment été un plaisir dans l’ensemble car j’ai réussi a faire le tour de la question sans être obligé de tout casser et recommencer plusieurs fois (contrairement à VPlex/VE par exemple …). Les fonctions sont là, la robustesse et les performances aussi, en regard du hardware support, encore une fois.
Comparaison à d’autres solutions
Là, on rentre, pour une part, dans le subjectif et l’incomplet, dans le sens ou je n’ai pas la prétention de connaitre l’ensemble des SDS du marché. Pour autant, je ne vais pas me priver de faire l’exercice face à trois offres que je connais un peu : VSAN, Atlantis SDS et Gluster/RedHat Storage.
Parlons d’abord de VMWare VSAN, “le” grand concurrent de ScaleIO. Certes, VSAN n’est réservé qu’aux environnements VMWare, mais, soyons honnêtes, ScaleIO est également “taillé pour la virtualisation” et donc s’adapte parfaitement bien à VMWAre, au point d’avoir un plug-in spécifique. En fait, coté accès client, les deux produits se ressemblent beaucoup car ils fonctionnent tous les deux grâce à un module noyau sur ESXi. Par contre, coté “service stockage”, la comparaison s’arrête là car il faut absolument des machines virtuelles à ScaleIO quand VSAN n’a besoin que d’un module supplémentaire. Cela pourrait changer dans l’avenir, mais de ce point de vue, ScaleIO a une longueur de retard sur ce point. Coté performance et latence, difficile pour moi de juger mais nul doute que VSAN doit être particulièrement optimisé dans son univers exclusivement VMWare, cela parait logique. Sans rentrer trop dans le comparatif point à point, c’est sans doute ce match qui se jouera chez de nombreux clients (avec peut-être aussi HP StoreVirtual) et nul doute que les batailles seront rudes.
Face à Atlantis, ScaleIO part avec un handicap évident, la fourniture du stockage passe forcément par l’installation d’un pilote SDC dédié sur chaque machine cliente, contrairement à Atlantis, qui fournit ses volumes via NFS. Pour autant, ce handicap se transforme en avantage quand vos environnements sont assez hétérogènes et/ou quand la solution NFS n’est pas adaptée. De même, ScaleIO est particulièrement agnostique pour ses deux composants principaux, SDC et SDS, ce qui en fait une solution plus souple de mon point de vue car capable de s’adapter à quasiment toutes les conditions. Par contre et pour terminer, Atlantis offre deux fonctions qui font défaut à ScaleIO aujourd’hui, la compression et la dé-duplication inline : certes, on pourra ergoter qu’elles sont surtout intéressantes lorsque les volumes hardware coutent cher (SSD), mais il n’en demeure pas moins que cela fait partie des fonctions plébiscitées par les clients.
Face à GlusterFS, là, ScaleIO prend l’avantage assez nettement sur à peu près tous les sujets : un load-balancing dynamique et adaptatif des IO en fonction des fameux “point chauds”, une gestion plus souple de la haute-disponibilité (Gluster n’offrant que la réplication noeud à noeud et pas une fonction type “raid” dans le stockage des données). D’un autre coté, Gluster n’a pas vocation a directement concurrencer ScaleIO, dans le sens où celui-ci est très orienté Linux et reste poussé par RedHat en tant que solution SDS dédiée pour leurs serveurs. Ceci étant, si vous travaillez en environnement RHEL, posez-vous la question sérieusement, l’alternative Gluster reste une architecture très solide, performante, très mature … et Open Source !
Vous l’aurez sans doute noté, il me manque une grosse référence pour vraiment pouvoir évaluer ScaleIO face à la concurrence : StoreVirtual de chez HP. De mon coté, j’ai pris contact récemment avec HP à ce sujet et je ne manquerai pas, si je le peux, de venir enrichir ce comparatif à la lumière d’un PoC StoreVirtual.
Enfin, il ne faut pas négliger non plus le vent qui souffle aujourd’hui sur l’hyper-convergé et ses solutions de stockage “maison”. La plupart des offres de ce marché en pleine effervescence tentent de se démarquer entre autres par leur approche SDS. Même si personnellement je considère l’hyper-convergé comme un “épiphénomène” des écosystèmes de virtualisation, sans avenir spécifique (je vais me faire des ennemis … voir ici), ScaleIO mérite d’être étudié en parallèle d’une offre concurrente dans sa version industrielle VxRack chez EMC.
Perspectives… rêvons un peu !
C’est vrai, je l’avoue, à chaque PoC ou test d’une technologie innovante, je suis souvent emballé sur le moment et plus raisonnable après quelques semaines de réflexion. C’est mon coté geek devant l’Eternel qui reste très vivace, même pour mon activité professionnelle ! Mais, là, c’est différent : je réfléchis depuis longtemps à l’avenir de nos offres de stockage (3 à 5 ans), grâce en particulier aux nombreux échanges avec les fournisseurs où d’autres personnes aux responsabilités équivalentes dans d’autres sociétés. En ces temps difficiles budgétairement, nul doute que les solutions SDS basées sur du commodity hardware sont séduisantes. Malgré tout, il faut bien voir que la plupart des offres sérieuses n’ont que 2 ou 3 ans de recul en matière de production et il est encore difficile de calculer un ROI complet.
ScaleIO semble de notre coté répondre globalement à une classe de service chez nous : ce que nous appelons “le TIER2”, c’est à dire, le tout venant, les besoins de stockage quotidiens pour des dizaines et des dizaines d’applications dont le cahier des charges en terme de résilience et performance reste “moyen”, donc sans besoin d’engagement fort ou d’étude spécifique ; en somme, là où les compromis sont faciles et sont pertinents. Aujourd’hui ce niveau de service est assuré par nos VNX 7500. Elle font du bon boulot, avec application, elles sont assez extensibles, mais restent fondamentalement limitées et contraintes par une gestion de l’IO très liée aux disques physiques. Enfin, les investissement nécessaires à leur mise à jour ou extension ont un gros défaut : l’effet de cliquet (comme le dit très bien notre directeur) à savoir l’obligation de consacrer beaucoup d’argent d’un coup, sans lissage, de “temps en temps”.
A contrario, ScaleIO offre un scalabilité liénaire des performances, une résilience a peu près équivalente à une baie de stockage classique, et surtout la capacité de grossir au fil de l’eau, juste en ajoutant 1 ou 2 serveurs et leurs disques : l’effet de cliquet disparait, la fonction stockage reste performante et n’est plus dépendante d’un composant central comme un Storage Processor. Mieux, on est aussi capable de générer de la très grosse volumétrie via l’ajout de commidity dédiées à générer uniquement “du téra-octet”. De facto, on peut donc proposer des niveaux de services intermédiaires TIER2 “bis” sans pour autant changer de technologie.
En définitive ScaleIO a tout pour plaire : souplesse, moins de contention, budget plus linéaire et sans doute inférieur (il faut malgré tout étudier tout cela :) ), progression linéaire des performances.
Alors, oui, clairement, j’envisage de plus en plus sérieusement de proposer la suppression de nos VNX d’ici quelques années au profit pourquoi pas d’un environnement full ScaleIO basé sur de la commodité et fusionné avec nos ressources “compute” de nos fermes VMWare de production. Reste à chiffrer, dimensionner, préparer tout cela. L’échéance de notre institution pour ce changement de paradigme est déjà là : 2018, le démarrage de notre nouveau schéma directeur de 5 ans.
Rendez-vous est pris !