Retour sur Snowflake Data World Tour : une plateforme SaaS innovante et ouverte

Temps de lecture : 8 minutes

Pour la première fois en France, Paris a accueilli le Data Cloud World Tour organisé par Snowflake. 500 personnes étaient réunies à l’hôtel Salomon de Rothschild, pour découvrir les dernières innovations et rencontrer les partenaires de Snowflake.

Cette solution SaaS innovante, adossée aux cloud providers publics, promet une expérience data simplifiée et “quasi illimitée”. Cette journée était consacrée à la présentation de cette plateforme unifiée Cloud, ainsi que des solutions associées, bien connues du monde de la data. 

Dans cet article, nous présenterons cette plateforme unique et les services les plus innovants nouvellement arrivés sur la solution. Enfin, nous évoquerons son écosystème de partenaires, permettant de mutualiser les avantages de tous les acteurs de la data. 

Snowflake : KESAKO ?

La promesse de Snowflake est ambitieuse. Si on ne demande qu’à la croire, il reste évidemment à la confronter à l’expérience du réel et des cas d’usage concrets de nos clients. Snowflake apporte en effet l’avantage d’une centralisation des données et la séparation du compute et du stockage.

Concrètement, ce temps gagné peut permettre de se concentrer sur l’exploration de la donnée et la réponse aux besoins métiers, en s’affranchissant des contraintes du DevOps. Avec de surcroît de très nombreux partenaires (voir partie 3), les possibilités apportées par Snowflake semblent, en effet, infinies. Partons à la découverte de cette plateforme… 

Certains seraient tentés de le comparer à Redshift ou encore Bigquery, mais c’est une plateforme qui va bien plus loin, comme je vais tenter de vous l’expliquer ici. 

Créée en 2012, par deux français, cette entreprise mondiale présente, 10 ans plus tard, un chiffre d’affaires de 1.2B euros. Elle est localisée dans 15 régions du monde, et emploie plus de 4500 personnes, avec une augmentation des effectifs de 50% entre 2021 et 2022. 

Snowflake est une plateforme cloud SaaS. Elle se distingue par une expérience simplifiée destinée aux personnes souhaitant manipuler la donnée, et par son intégration des principaux clouds publics (AWS, GCP, Azure). C’est un lieu où l’on stocke la donnée (datalake), on manipule la donnée (data warehouse), on échange la donnée (data exchange) et où l’on explore et dégage de l’intelligence (data science) dans le but d’exposer cette donnée via des applications, des apis ou des dashboards. 

Un datalake où l’on peut stocker des données structurées (csv,..), semi-structurées (parquet, json,..) et non structurées. Un data warehouse où les données structurées et semi-structurées sont explorées, en SQL où à l’aide de votre langage préféré (Python, Scala, Java), sans avoir à se préoccuper de l’infrastructure. 

Mais revenons à ce qui fait le succès de Snowflake. Une entreprise, cela peut être, des milliers de collaborateurs, des milliers de clients, des centaines de milliers de données et des besoins qui évoluent très vite. Avec les enjeux de la data, il est indispensable de s’entourer des meilleurs : meilleurs outils, meilleurs partenaires pour répondre aux nombreux besoins d’une entreprise.

Snowflake peut donc permettre via son outil SaaS, simple, d’aider les salariés à évoluer sur le cloud. Une migration vers le cloud simplifiée, où les limites de l’exploration par excel sont gommées d’un coup de clics, où le partage de la donnée s’effectue instantanément  et en sécurité. Une plateforme où data analyst, data scientist et métiers collaborent sur un outil offrant un univers avec de nombreuses possibilités, grâce à ses partenaires. Cet outil permettra de répondre aux entreprises  préoccupées par un objectif business destiné à développer des dashboards, entraîner des modèles de machine learning et exposer ses modèles via des Apis. 

Snowflake : des services innovants

Unistore (private)

Unistore s’illustre dans la problématique de deux types de bases de données bien connues du publics : 

  • BD transactionnelle (OLTP). Cette base de données est utile pour insérer des millions de données en temps réel. Un use case commun concerne l’achat d’un article sur une marketplace.
  • BD analytique (OLAP). Cette base de données de très grand volume opère des requêtes complexes et longues. 

La donnée OLTP est donc transformée par un ETL pour être structurée dans une base OLAP.

Ces deux bases de données sont différentes et une certaine latence dans le rafraîchissement de la donnée est présente. 

Snowflake créée, dans un lieu unique, le data lake, une table unique pour permettre la gestion d’une table transactionnelle, une table appelée HYBRIDE. 

Les données ne sont plus stockées sous forme de colonnes, dans des micro-partitions de 16mb, mais sous forme de lignes. Deux stockages sont mis en place automatiquement par Snowflake. Il est alors possible d’efficacement insérer des millions de données sur une base de données lignes (OLTP) et d’effectuer sur cette même table, stockée en colonnes, une requête complexe de lecture (OLAP). 

C’est une table unique, hybride, répondant à vos besoins transactionnels et analytiques sans aucune latence et aucune gestion de l’infrastructure. Une promesse séduisante disponible dès janvier 2023 en public release.

Iceberg table (private)

Snowflake se veut complémentaire avec d’autres data lake. Cette nouvelle table permet, à la différence des external tables de ne plus uniquement lire les données externes, mais de les mettre à jour, de les partager. Vos données parquet, sur votre datalake situé sur votre cloud public (GCS, S3, Azure Blob), ne sont plus répliquées. 

L’architecture repose sur des metadata et garantit le même niveau de performance, de sécurité, d’intégrité que des tables internes, bien que les tables soient sur votre cloud public. 

Enfin, imaginez accéder à vos données on-premise depuis une solution cloud, Snowflake propose ce nouveau service. Comprenez alors, que Snowflake propose une flexibilité répondant à toute entreprise à l’aide de ses trois types de tables internes, iceberg ou externes.

Snowpark

Snowflake met à disposition des outils précieux pour les data scientists. Des fonctionnalités leur permettant d’utiliser leur langage préféré avec Snowflake. Cela est possible grâce au nombreux CLI offrant une interaction avec Snowflake : JAVA, Python et Scala. 

Utilisez votre IDE préféré (VScode, Pycharm, ..) ou un Jupyter Notebook, installez Snowpark (pip install..) et manipulez votre donnée. Snowflake convertit toutes vos commandes python en requêtes SQL. Oubliez toute complexité d’infrastructure, le notebook est exécuté grâce à la puissance modulable offerte par Snowflake. Il vous est possible par la suite d’exécuter automatiquement ce notebook, en créant une procédure stockée attachée à vos UDF (user defined function) sur Snowflake.

Un data scientist sera autonome pour transformer son dataframe (one-hot encoding avec la librairie scikit learn), pour entraîner son modèle et enregistrer son modèle sur un stage Snowflake. Enfin, son modèle peut inférer des données en l’utilisant sous forme de UDF. 

Tag-based Data Masking

Cette fonctionnalité garantit un accès personnalisé et sécurisé aux données, basé sur un rôle. Prenons deux groupes de salariés d’une entreprise : des commerciaux et le service des ressources humaines.  Ces deux services souhaitent accéder à une même table contenant des informations relatives aux employés de l’entreprise. Les RHs peuvent voir les salaires, et les commerciaux la liste des salariés et leurs compétences.

Chaque service a un rôle qui lui est affecté et chaque rôle accède à la table mais avec des tags spécifiques sur chaque colonne. Le service RH va donc requêter sur la table et pouvoir voir les salaires alors que les commerciaux ne verront que les compétences. Une unique table, aucune réplication, mais deux lectures.

Ce masking de la donnée se fait à la volée lors du requêtage par un utilisateur. Cette innovation peut aussi être très utile pour un data scientist chargé de construire un dashboard proposant, à l’aide d’agrégation de la donnée, une vue unifiée de la charge salariale d’une entreprise. Le data scientist n’aura accès à aucune donnée personnelle, mais les modèles entraînés utilisent un rôle où le masking n’est pas appliqué. 

Tout cela est paramétrable en quelques clics depuis l’interface ou à l’aide de commande SQL.

Partez à l’exploration… 

J’ai choisi volontairement d’évoquer ici les nouvelles fonctionnalités de Snowflake, mais la plateforme ne se limite pas à cela.

Je vous encourage à explorer les services suivants :

  • Marketplace (data monetization),
  • Snowpipe (data ingestion),
  • Partage de la donnée (data sharing),
  • Sécurité (database replication & failover),
  • Exploration de donnée passée (Time travel),
  • Snapshot de la donnée pour environnement de tests (zero copy cloning)…
  • Et de nombreux autres services en pre-released, notamment le dynamic table (Ingestion) grâce à la fonctionnalité streaming de snowpipe.

Snowflake : un univers ouvert avec une multitude de partenaires

Snowflake c’est une intégration rapide avec de nombreux partenaires, dont beaucoup sont des acteurs reconnus de la data. Cette dernière partie évoquera quelques partenaires notables de Snowflake. 

Dataiku

Dataiku propose une solution intégrée pour explorer et manipuler les données, entraîner les modèles de ML et les déployer sur des APIS pour inférer de nouvelles données. Ces APIs peuvent être déployées sur Snowflake, ce qui limite la maintenance et la gestion de l’infrastructure.

Si vous êtes curieux d’en savoir plus sur Dataiku je vous encourage à lire cet article co-écrit avec David Dupin.

Streamlit

Star de la journée, plusieurs fois illustrée lors de REX, Streamlit rejoint Snowflake pour la création d’applications data. Vous avez publié un modèle de machine learning, proposez aux métiers de l’utiliser sur leurs données à l’aide d’une interface web.

Si la solution vous intéresse, allez lire l’article de Joyce Marazano sur la construction d’une Data App permettant de visualiser l’historique des tirages du Loto.

PowerBi

Oubliez toute difficulté d’interaction entre AWS et Azure et oubliez toute création et maintenance de gateway.  J’ai pu expérimenter la connexion entre PowerBi cloud et Snowflake pour construire un dashboard : la connexion s’établit en quelques clics, et toujours aucune maintenance de l’infrastructure. Néanmoins, il s’agissait d’un POC, reste encore à tester à l’échelle pour confirmer la faisabilité. 

Pour conclure

Chez Devoteam Revolve, en tant qu’experts data, nous connaissons la valeur que Snowflake apporte aux entreprises désireuses de solution SaaS. Au sein du groupe Devoteam, nous sommes partenaires Snowflake et nous accompagnons de nombreux clients sur la mise en place, la migration, l’exploitation et l’exposition de leurs données. La plateforme Snowflake fonctionne parfaitement avec AWS et permet notamment de tirer profit de la puissance de Sagemaker.

Une palette d’outils et de plateformes permettent, aujourd’hui, de rendre intelligente votre donnée, il est important de s’entourer des meilleurs partenaires pour construire votre datalake. Nous sommes là pour vous accompagner : contactez-nous !

Commentaires :

A lire également sur le sujet :