Intégration de données : l’essentiel sur StreamSets
Filiale de Software AG, StreamSets s’est récemment installée en France. Elle propose une plateforme DataOps consacrée à l’orchestration des intégrations de données multicloud et hybride.
Fondée en 2014 par des anciens d’Informatica et de Cloudera, StreamSets se spécialise dans l’orchestration de flux de données. Elle entend proposer une plateforme DataOps, une approche qui gagne doucement en intérêt dans les équipes BI et de data science.
Plus spécifiquement, StreamSets fournit une solution d’intégration de données au sens large. L’éditeur met l’accent sur sa capacité à supporter des flux de streaming, des traitements batch, des mouvements ELT/ETL et d’autres types de transformations depuis une seule interface utilisateur. StreamSets mise sur une UI en glisser disposer pour concevoir les flux et piloter les logiques de mutations de données. Les data engineers peuvent aussi connecter leur IDE à l’outil via API.
Son autre atout : la plateforme permet d’orchestrer les charges de travail dans le cloud et sur site. « Nous sommes plus à l’aise dans des environnements multicloud et hybrides », admet Stéphane Heckel, directeur des ventes France et Benelux chez StreamSets. « S’il s’agit de déplacer des données au sein d’un seul cloud, des services natifs existent déjà ».
En clair, l’éditeur maintient un plan de contrôle – nommé Control Hub – depuis son service managé. Il est également disponible dans une version sel-managed, désormais considérée comme legacy.
Le Control Hub inclut l’éditeur de flux de données. « Le Control Hub de StreamSets permet de concevoir, de versionner, d’exécuter et de superviser les pipelines de données dans le cloud », explique Stéphane Heckel.
Ce Hub sert à piloter de bout en bout des « Data Collectors », à savoir des pipelines de streaming, de change data capture ou d’ingestion batch d’ETL/ELT, et des « Transformers », des workloads de transformation de données.
Une plateforme d’orchestration, deux moteurs d’exécution différents
Ces pipelines sont exécutés par deux types d’engins distincts, positionnés entre la source de données (par exemple une base de données) et la cible (un entrepôt de données ou un CRM). Les collecteurs sont associés à un moteur d’ingestion « léger » établi sur les technologies de l’écosystème Java (des JVM en premier lieu), tandis que les Transformers sont exécutés par Apache Spark.
Le moteur Data Collector peut être déployé à l’aide d’une image Docker, tandis que son Tarball s’installe localement (avec la déclinaison SDC Edge) ou de manière automatique sur Amazon EC2, Azure VM ou GCE via le Control Hub. Chaque connecteur dispose de sa propre implémentation du Data Collector. StreamSets propose aussi des installations spécifiques aux charges de travail parallèles.
Les transformations Spark écrites en Scala ou avec PySpark s’effectuent en lot ou en streaming (par l’enchaînement de microbatch). Les Transformers sont compatibles avec un vaste choix d’instances Spark, dont Amazon EMR, Cloudera Data Engineering, Databricks, Google Dataproc, YARN ou encore sur les clusters Big Data de SQL Server 2019. Ce support de Spark est apprécié des équipes de data science, selon le dirigeant français. En outre, il est possible d’appeler des librairies Hugginface – donc des modèles préentraînés – au cœur des pipelines pour y inclure des traitements de machine learning.
« Les métadonnées d’exécution des Data Collectors et des Transformers sont ingérées dans Control Hub à des fins de monitoring », précise Stéphane Heckel.
La solution dispose d’une soixantaine de connecteurs vers des sources de données et propose pratiquement les mêmes en destination. Elle peut tirer des données depuis S3, Delta Lake, ADLS, Elasticsearch, BigQuery, Hadoop, MapR, AWS Kinesis, MongoDB, MySQL, Cassandra, Oracle CDC, Pulsar, Apache Kafka, SAP HANA, Salesforce ou encore PostgreSQL. L’éditeur propose suffisamment de technologies types pour concevoir des connecteurs personnalisés.
Récemment, StreamSets a lancé un Transformer pour Snowflake. Ici, l’éditeur tire parti de l’environnement Snowpark. Cet espace permet d’exécuter des charges de travail au plus proche du moteur du Data Warehouse Cloud via des UDF. Un usager peut alors extraire des données brutes dans un espace de stockage objet via des collecteurs, et les charger dans Snowflake, puis appliquer des fonctions analytiques dessinées avec l’éditeur de flux ou écrites en Scala, Java et bientôt Python avec le Transformer. Dans ce cas-là, le code est retranscrit en requêtes SQL pour que le moteur de Snowflake puisse les exécuter.
« StreamSets est un partenaire de longue date de Snowflake », indique Stéphane Heckel. « Nous supportons également Snowpipe Streaming pour charger directement les données dans le Data Warehouse cloud ».
Par ailleurs, l’éditeur maintient des partenariats avec Google Cloud, AWS, Microsoft Azure et Databricks.
StreamSets s’intéresse au legacy
Il manque jusqu’ici des éléments pour rattacher StreamSets à la mouvance DataOps.
Stéphane HeckelDirecteur des ventes France et Benelux, StreamSets
« Notre technologie d’ingestion est “schema on read” ou “schemaless” », complète Stéphane Heckel. « Nous savons lire des tables des bases relationnelles, accéder à des blobs et à des éléments qui ne sont pas définis, que l’on découvre au moment de l’exécution ».
Cela a deux avantages, selon le directeur. Le premier, c’est que StreamSets permet de lancer des transformations qui s’exécutent sur un ensemble de colonnes ou équivalents en une seule opération. Le second concerne la détection de la dérive et sa gestion. « Nous sommes plus robustes qu’un ETL classique qui lui est tributaire d’une structure ligne-colonne figée », vante-t-il. En clair, les jobs ne s’arrêtent pas systématiquement lors d’un changement de schéma ou de structures.
Tous ces éléments permettraient à StreamSets de se différencier d’un triptyque de plus en plus répandu : la combinaison d’Airbyte (ou de Fivetran), de DBT et d’Airflow.
« Nous pouvons nous connecter à ces solutions, mais je trouve que cette combinaison complexifie la pile technologique », estime le directeur des ventes. « Ces outils ont une gestion des métadonnées et des logiques différentes », ajoute-t-il.
Là où StreamSets brille, selon Stéphane Heckel, c’est quand il remplace des outils legacy du type Oracle GoldenGate ou IBM Infosphere. La plupart des clients de l’éditeur emploient StreamSets dans le cadre de migration vers le cloud, ou pour maintenir des processus de change data capture. « Ces produits fonctionnent, il n’y a pas de doute, mais ils sont très chers. Notre mode tarifaire nous permet d’être très compétitifs, même face à Talend ou Fivetran ».
StreamSets ne facture pas au volume de données ou au nombre de lignes ingérées, mais propose trois formules. La première est gratuite pour deux utilisateurs, deux jobs actifs en même temps et dix pipelines. L’offre Pro est accessible à cinq utilisateurs, qui peuvent publier 50 pipelines et maintenir 5 jobs simultanés tout en bénéficiant d’un SLA de 99,9 % pour 1 000 dollars par mois. L’offre Enterprise ne met pas de limite au nombre de jobs actifs, d’usagers, de pipelines publiés, mais ces variables jouent dans la construction du devis, tout comme le nombre de nœuds Spark à solliciter.
Cette approche a convaincu GSK, Shell, Humana, RingCentral et… même IBM. Présent historiquement au Royaume-Uni et en Espagne, StreamSets s’est installé en France en début d’année. Néanmoins, plusieurs grands groupes utilisent en production la version gratuite de la plateforme, selon Stéphane Heckel.
Il faut dire que StreamSets dispose beaucoup moins de connecteurs applicatifs que ses concurrents.
Software AG veut combiner StreamSets et WebMethods
Cela change. La startup californienne appartient désormais à Software AG depuis son acquisition pour 524 millions d’euros à la fin du mois de février 2022.
Stéphane HeckelDirecteur des ventes France et Benelux, StreamSets
« Cela va permettre de mettre en avant nos capacités de Reverse ETL », anticipe Stéphane Heckel. « Nous allons intégrer StreamSets à WebMethods, l’iPaaS de Software AG ».
Dans l’idée de l’éditeur allemand, StreamSets prend en charge les intégrations de données et complète les capacités de sa plateforme IoT Cumulocity, tandis que WebMethods couvre les intégrations API et BtoB (EDI).
« Nous allons aussi pouvoir nous appuyer sur la couche middleware CONNX », indique le directeur des ventes français chez StreamSets. « Elle permet d’accéder à des systèmes traditionnels tels que des mainframes, les appliances IBM i (ex-AS/400), mais aussi les couches ADABAS et Natural. Ces composants legacy sont encore très utilisés ».
Il s’agit d’offrir la même expérience unifiée d’intégration de données sur site à des fins d’hybridation ou de migration vers le cloud. Un argumentaire sur lequel Software AG et StreamSets comptent bien miser afin de convaincre les clients français d’opter pour leurs solutions.