Snowflake, le data lake en mode cloud qui défie Oracle
Fondée par deux Français en 2012, la société californienne a levé près d'un milliard de dollars. Son offre s'articule autour d'une base de données à la fois SQL et big data.
Stocker un volume massif de données tout en donnant la possibilité de lancer de multiples traitements de data analytics en temps réel. Tel est le défi que s'est lancé Snowflake via une offre de data lake en mode cloud. Basée à San Mateo en Californie, la société a été fondée en 2012 par deux Français anciens d'Oracle : Thierry Cruanes et Benoît Dageville. Comptant 1 500 salariés répartis en Amérique du Nord, en Asie-Pacifique, en Australie et en Europe, la société a levé 923 millions de dollars depuis sa création. Snowflake se présente comme une alternative au leader historique de la base de données relationnelle. "Nous sommes à la fois moins onéreux et plus performants qu'Oracle", souligne sans détour Benoit Dageville.
Les secrets de fabrication de Snowflake ? Une infrastructure logicielle taillée pour gérer les données semi-structurées, au format XML ou JSON, qui permet d'ingérer des milliards de data. Avec, en parallèle un mode d'interrogation qui, lui, reste basé sur SQL (Structured Query Language), pour ne pas désorienter les développeurs. Le tout tire parti du cloud pour bénéficier de ressources informatiques élastiques s'adaptant aux besoins en matière de stockage et de calcul. "Nous sommes capables dans 96% des cas de provisionner en moins d'une seconde un nouveau pool indépendant de ressources. Il est possible d'en créer autant que nécessaire", ajoute le président produit de Snowflake.
Grâce à cette méthode, de multiples traitements peuvent être lancés en parallèle par un même client sans entrer en concurrence. Et, à la différence des bases de données traditionnelles, ces workloads n'étant pas exécutés sur le serveur de données, ils se révéleront mécaniquement beaucoup plus performants et résiliants.
Vers 1 milliard de requêtes en 2020
La plateforme a les reins solides. "L'un de nos clients est monté jusqu'à 5 petabits. Toutes ses données devaient tenir dans une table unique. Et même dans cette configuration, le temps de réponse demeurait de quelques centaines de millisecondes, sachant aussi que le nombre d'utilisateurs accédant en parallèle à la base allaient croissant", se félicite Benoît Dageville. Globalement, la plateforme de Snowflake encaisse 289 millions de requêtes par jour. Un chiffre qui augmente rapidement. Revendiquant 2 500 clients à travers le monde, la société affirme en gagner 500 supplémentaires chaque trimestre. "Avec ce rythme de croissance, nous pourrions atteindre le milliard de requêtes en 2020 et les 5 milliards en 2022. Ce qui nous rapprocherait du volume de requêtes de Google", constate Benoît Dageville.
Disponible historiquement sur les clouds d'Amazon (AWS) et de Microsoft (Azure), Snowflake est commercialisé sous forme de service managé et à la demande. N'est facturé que ce qui est consommé. En termes de couverture géographique, Snowflake est présent sur 13 régions cloud, sept sur AWS et six sur Azure. Côté architecture, les données sont en général stockées par les clients sur une région unique. "Une fonction de data sharing permet de créer des réplicas sur d'autres régions quel que soit le cloud, AWS ou Azure, par exemple pour partager des datas avec des entités locales", précise Benoît Dageville. Ces réplicas seront rafraîchis pour prendre en compte les modifications de la base de données maître.
"Si on s'étend à un quatrième cloud après AWS, Google Cloud Platform et Azure, ce sera Alibaba Cloud"
Pour faciliter encore le partage de données, l'éditeur a lancé une fonction de data store. Baptisée Data Exchange, elle permet à ses clients de commercialiser des data sets publiquement, de les diffuser en interne ou à des partenaires via des espaces privés.
En attendant, Snowflake vient tout juste de porter sa plateforme sur le cloud de Google (Google Cloud Platform). Pour la suite, le portage du data lake sur d'autres n'est pas envisagé "pour le moment", explique Benoît Dageville. "Mais Alibaba Cloud est à ce jour le seul provider significatif susceptible de répondre à nos exigences." Le Chinois propose en effet un service de stockage en bloc en ligne avec les besoins de Snowflake en termes de sécurité et de dimensionnement. "Si on s'étend à un quatrième cloud, ce sera Alibaba", conclut Benoît Dageville. En matière de région cloud, Snowflake a aussi des contraintes. La région ciblée doit être équipée de plusieurs zones de disponibilité, et offrir une masse de ressources IT suffisamment importante pour lui permettre de provisionner son infrastructure et ses pools de calcul. Résultat, il demeure difficile pour Snowflake de s'étendre aux petites régions d'AWS et Azure, par exemple celles basées en France.
L'IA via SparkML
"Notre R&D planche en parallèle sur la prise en charge de nouveaux traitements, l'analyse de volumes massifs de logs par exemple", confie Benoît Dageville. "Dans le sillage du data sharing, nous cherchons également à faire en sorte que Snowflake évolue vers une solution plus globale, avec la capacité de gérer les requêtes distribuées et de lancer des commandes d'une région cloud à l'autre." Sur le front de l'intelligence artificielle enfin, Snowflake compte améliorer son intégration avec le framework big data Spark et sa librairie de machine learning SparkML. Pour s'intégrer à ce dernier, l'éditeur a construit un connecteur conçu pour orchestrer de multiples flux bidirectionnelles exécutés en parallèle vers Spark.
Parmi ses références en France, Snowflake revendique Accor, Camaieu, Kiloutou, Monoprix, Oney Bank ou encore Pernod Ricard. Des clients qui ont fait le choix de sa solution pour des projets de reporting, dashboarding ou encore de data sharing.