Streaming Data Platform : Dell EMC mise sur une combinaison de briques open source
Dell combine plusieurs technologies open source dont Apache Flink et Apache Pravega pour bâtir une nouvelle plateforme de streaming de données pratiquement clé en main, mais liée à ses appliances.
Dell Technologies poursuit ses efforts dans le traitement de la donnée avec la commercialisation de sa Streaming Data Platform, disponible depuis le 18 février.
L’entrée de Dell sur le marché du streaming de données se fait dans un contexte particulier. La demande en infrastructure et en architecture capables de supporter les données en temps réel augmente fortement. Certains acteurs proposent de telles plateformes sous la forme de PaaS dans le cloud. En tant qu’équipementier, Dell préfère les associer à ses appliances.
Ce parti pris repose sur la montée en puissance du Edge Computing et de l’IoT. Dell EMC veut proposer à ses clients un moyen de stocker les données en temps réel au plus proche de leur création, mais aussi un moyen de les traiter. C’est le rôle de la plateforme logicielle Streaming Data Platform (SDP). Les produits de la gamme Isilon sont là pour stocker les données en provenance de machines et d’équipements connectés sur le terrain. Toutefois, la SDP repose sur des technologies open source qui ne sont pas forcément les plus populaires.
Le couple Apache Pravega/Flink fait bon ménage
Actuellement, Apache Kafka est considérée comme la plateforme de choix pour le streaming de données sur site et dans le cloud. Le contributeur principal de ce projet, Confluent, a récemment annoncé la disponibilité de la version 2.4 de Kafka.
Ce n’est pas le composant choisi par Dell pour sa Data Streaming Platform. Celle-ci propose d’ingérer et de stocker les données à l’aide de la brique open source Apache Pravega. Ce projet, principalement supporté par Dell vise à faciliter le stockage persistant dans le NAS Isilon (puis bientôt dans la gamme de stockage objet ECS). Elle est associée à Apache Flink, un framework open source de traitement de données en temps réel.
Ces deux briques sont installées au sein de clusters Kubernetes gérés à l’aide de la plateforme Pivotal Kubernetes Service (PKS) et exécutés sur l’hyperviseur Vsphere de VMware. Dell recommande sept serveurs Rack PowerEdge R640 pour la configuration traditionnelle (3 nœuds edge, 4 nœuds de calcul).
Le système de stockage distribué Pravega repose sur une architecture SDS. Un control plane (Pravega Controller) composé d’instances (Controller Instances) pilote les opérations liées aux streams (création, agrandissement, suppression, etc.) au sein des clusters Pravega. Les instances permettent de remonter des métriques concernant la santé et les performances des clusters. Elles sont ingérées dans la base de données time series InfluxDB. Les informations peuvent être visualisées depuis Grafana. Dell EMC recommande d’en installer au minimum trois pour des raisons de stabilité.
Cœur open source, corps propriétaires
Pour fonctionner, le data plane a besoin de segments de stockage (nommé Pravega Servers ou Pravega Segment Store). Ceux-ci permettent la conservation ou la suppression des données via une API. Le control plane détermine lequel (de ces segments) il a besoin d’appeler, pour écrire les données au bon endroit. Le segment store sélectionné traite ce flux en cache. Avec la SDP, les utilisateurs disposent de deux tiers de stockage automatisés. Le Tier 1, déployé à l’aide d’Apache Bookeeper, accueille les données à court terme (répliquées trois fois). Quant au Tier 2, il offre du stockage longue durée uniquement au sein des produits de la gamme Dell EMC Isilon (H600, H500, H5600, H400, A200, ou A2000).
Pour la lecture des données à la demande du client, le contrôleur appelle le segment store qui « retrouve » les informations souhaitées depuis le cache ou les deux tiers de stockage. Elles sont renvoyées au client qui reçoit les données sans lui préciser l’endroit où elles sont conservées.
Le moteur analytique Flink, lui, accède aux données structurées ou non structurées gérées depuis Pravega. L’utilisateur peut installer les versions standards (jusqu’à la 1.9.0, déjà corrigées par la 1.9.1) et les versions personnalisées. Cette deuxième catégorie peut accueillir les workloads de machine learning, un algorithme préentraîné par exemple. Flink est associé à un projet, un environnement isolé et sécurisé pour le streaming ou l’analytique. Il supporte les jobs écrits en SQL, Java, Scala, Python. Il faudrait en principe déployer une instance Flink par projet de traitement de données.
Dave McCarthyIDC
« Bien que les concepts à l’origine de la Streaming Data Platform existent depuis un certain temps, il incombait au client de les rassembler en une solution cohérente », constate Dave McCarthy, directeur de recherche chez IDC. « Cela supprime les obstacles à l’adoption et permet aux entreprises d’extraire plus facilement de la valeur de leurs sources de données toujours plus nombreuses ».
Certains clients auraient déjà déployé la solution. Selon Matt Baker, senior vice-président stratégie et planning chez Dell EMC, un industriel se sert déjà de la SDP comme un moyen d’ingérer des flux vidéo et d’y appliquer un algorithme pour détecter des anomalies lors de la fabrication de pièces.
Des choix maîtrisés, mais en décalage avec les tendances du marché
Dans sa documentation, Dell EMC associe ces briques avec Apache Spark, l’environnement de calcul distribué. Cependant, ce sera aux clients de choisir leur manière de traiter leurs données. Spark n’est pas directement installé sur les machines de Dell EMC, tandis que Flink assure une partie des fonctionnalités de Spark.
Tout comme Kafka par rapport à Pravega, le projet Spark dispose davantage de contributeurs et de déploiements que Flink. Le moteur fait appel aux différents composants via Zookeeper, la fameuse API que Confluent veut effacer de Kafka.
Pravega est intrinsèquement lié à Flink. Le projet soutenu par Dell avait été présenté par l’équipementier lors de la conférence annuelle de la communauté Flink en 2017. En effet, ce moteur ne bénéficie pas de son propre système de stockage. Par ailleurs, Dell distribue la version commerciale de Flink, Ververica Flink enterprise.
Ces choix technologiques s’inscrivent dans une stratégie multicloud hybride dont VMware est désormais la pierre angulaire.
Toutefois, Dell EMC se réserve la possibilité de proposer à ses clients une intégration plus fine avec d’autres moteurs analytiques, comme il le remarque dans sa documentation. Les spécifications mentionnées dans cet article valent pour la version 1.0 de la Streaming Data Platform.