Snowflake embrasse la philosophie « data as code »
Lors du Data Cloud Summit, Snowflake a multiplié les annonces dans le but d’outiller les ingénieurs de données, les développeurs et les opérateurs. Outre la nécessité de se mettre à niveau face à la concurrence, l’éditeur entend répondre aux besoins de ces clients en matière de déploiements en production.
L’IA générative n’est que le sommet de l’iceberg. Snowflake le sait bien. Ses clients veulent évidemment tirer parti de la technologie, mais ils attendent surtout de pouvoir exploiter davantage de fonctions analytiques et développer des pipelines de données plus robustes qu’à l’accoutumée.
Depuis deux ans, l’éditeur entend outiller les data engineers, les data scientists et les développeurs afin qu’ils s’approprient sa plateforme.
Alors que Snowflake vante ses avancées dans le domaine de l’IA générative, force est de constater qu’il reste encore du travail à faire du côté du machine learning.
Machine learning : Snowflake rattrape son retard
Il y a d’abord la finalisation de la prise en charge de Python. Snowflake a introduit les UDF (User Defined Function) et les procédures stockées Scala et Java, avant de s’attaquer à Python. Il a ajouté via Snowpark la prise en charge de bibliothèques de machine learning. De ce côté-là, l’éditeur fait évoluer les API Snowpark. La possibilité d’utiliser des DataFrames est entrée en disponibilité générale, tandis que l’API dédié au framework Pandas est en préversion privée. Dans les deux cas, il s’agit d’offrir une compatibilité avec Python après traduction des opérations en SQL.
En préversion publique, Snowflake a présenté un moyen de lancer des notebooks de type Jupyter permettant de préparer des transformations de données écrites en Python et en SQL depuis l’UI de la plateforme, Snowsight.
Ces notebooks peuvent être intégrés avec Snowpark ML, Streamlit, Cortex ainsi que les tables Iceberg et directement synchronisés avec des dépôts Git.
En préversion publique également, l’éditeur ajoute un feature store, adjacent à un registre de modèles servant à la fois pour les modèles de machine learning, de deep learning traditionnel et d’IA générative.
Gestion des versions de modèles, stockage des paramètres, voilà que l’éditeur rattrape son retard en matière de MLOps. Et le rachat récent de TruERA devrait permettre à Snowflake de compléter son portfolio pour les entreprises les plus avancées. « TrueERA a développé une solution d’observabilité des projets de machine learning et d’intelligence artificielle, mais aussi d’A/B testing », explique Benoît Dageville, cofondateur et président du produit chez Snowflake.
Une fois intégrées à la plateforme Snowflake, ces capacités devraient permettre à la fois d’analyser les biais, les dérives des modèles et de les comparer avant de les déployer en production.
Observabilité et DevOps
En attendant, l’éditeur a présenté Snowflake Trail, une future fonctionnalité de monitoring permettant d’ingérer des métriques, des traces et des logs sur des applications, des pipelines de données, du code ainsi que l’usage des services de calcul associés à la plateforme. Elle s’appuie sur le standard OpenTelemetry et s’intégrera avec les plateformes tierces comme Datadog, Observe, Grafana, Metaplane, Monte Carlo, PagerDuty et Slack.
Jeff HollanDirecteur produit, Snowpark, écosystème et plateforme développeur, Snowflake
« Nous savons que vous ne collaborez pas seulement avec des données, mais aussi avec du code. C’est pourquoi nous avons développé une suite complète d’expériences DevOps natives sur cette plateforme », déclare Jeff Hollan, directeur produit, Snowpark, écosystème et plateforme développeur, chez Snowflake.
Pour ces populations responsables des développements et des opérations, Snowflake a présenté un ensemble de fonctions, notamment une API Python, qui ne nécessite pas cette fois-ci de passer par le moteur de traitement de la plateforme, mais qui permet de manipuler les objets de la plateforme.
Prochainement en disponibilité générale également, le CLI Snowflake doit permettre de déclencher manuellement ou automatiquement les pipelines CI/CD depuis un dépôt Git. L’éditeur fournit par exemple des scripts GitHub Actions afin d’exécuter automatiquement certaines commandes, mais aussi des scripts SQL. Snowflake prend en charge en préversion publique GitHub, GitLab, Azure DevOps et Bitbucket. Cela permet de lire et d’écrire des fichiers dans les dépôts Git.
Du côté des pipelines eux-mêmes, il a dévoilé en préversion publique une manière déclarative de gérer les objets. « Vous n’avez donc plus besoin d’outils tiers complexes ni de fichiers d’état encombrants, ce qui vous permet de vous concentrer sur la création d’applications de données de haute qualité et de qualité de production », avance Jeff Hollan.
Snowflake Task (en préversion privée) vise à automatiser l’orchestration des fonctions Snowpark Python. Avec Serverless Tasks, la promesse est d’optimiser les coûts « jusqu’à 42 % », ce qui ne veut pas dire grand-chose. Les Triggered Tasks et les Low Latency Tasks doivent réduire les intervalles entre deux tâches planifiées respectivement à 10 et 15 secondes. Tasks Backfill, lui, doit automatiser le traitement des données historiques dans Task Graphs.
Enfin, les tables dynamiques sont entrées en disponibilité générale au début du mois de mai. Ces tables permettent de gérer des processus de transformation batch, microbatch ou quasi-temps réel de manière déclarative, en SQL ou en Python. Ces tables dynamiques peuvent désormais être partagées entre les régions cloud et les clouds, Snowflake y ajoute une capacité de restauration après désastre et les traitements peuvent être suivis à travers Snowsight. Plus de 2 900 clients auraient adopté ces tables dynamiques qui seraient plus simples à manipuler que les tâches citées plus haut. Ces dernières nécessitent de rédiger du code procédural pour transformer les données en provenance des tables d’origine.
Cette simplification est progressive. Et elle est liée aux remarques des clients qui ont trois principaux reproches : la courbe d’apprentissage, la gestion des traitements et les coûts élevés (dû en partie à un manque de transparence et un nécessaire apprentissage du fonctionnement de la plateforme).
« Je pense que tout se résume à une mise en œuvre efficace, et nous voulons être des partenaires très actifs avec nos clients », affirme Shrida Ramaswamy, CEO de Snowflake, lors d’une conférence de presse. « Nous améliorons continuellement l’efficacité du calcul sur Snowflake. Nous avons ce que l’on appelle le SBI, l’indice de performance Snowflake, où nous mesurons essentiellement l’augmentation du débit pour un prix identique que nous donnons à nos clients d’une année sur l’autre. Au cours des deux dernières années, si je me souviens bien, notre efficacité s’est améliorée d’environ 27 % », vante-t-il.