« On ne va pas dans le cloud pour le plaisir » rappelle Florent Ramière, Senior Solutions Engineer chez Confluent. « On migre avant-tout pour remédier à un problème de complexité », pour accélérer l’accès aux informations métiers et pour palier les difficultés et carences des entrepôts de données on-premise complexes mais également coûteux, mal sécurisés, qui freinent la croissance de l’entreprise. 

Une plateforme de type Data Warehouse permet de stocker, de traiter et d’analyser les données en provenance de multiples sources afin d’en dégager une valeur et de les exploiter. Snowflake propose de profiter de cet avantage sous la forme d’un service Cloud.

« On a besoin de Snowflake pour rassembler l’ensemble des silos et donner à chacun une vision unique de la donnée » poursuit Florent Ramière. Si le but est louable, il faut néanmoins éviter de créer un nouveau silo en enfermant la donnée dans un écosystème, ce qui reviendrait à alimenter le problème que l’on cherchait à résoudre.

« N’oublions pas que chaque silo envoie de la donnée dans Snowflake et vient également s’y sourcer, ce qui implique des connexions point à point sur chaque système vers Snowflake. » Nous retombons alors dans un scénario impliquant le recours à des ETL, ESB, connecteurs… Sans une stratégie complémentaire à Snowflake, il y a fort à parier que ce modèle vous conduise une fois de plus à gérer de la complexité.

« La stratégie sans tactique est la route la plus lente vers la victoire ; la tactique sans stratégie est le fracas annonciateur de la défaite. »

A l’image de cette citation de Sun Tzu, s’appuyer sur Snowflake sans repenser la gestion de la donnée et sa gouvernance revient à adopter une tactique sans stratégie. 

Observons le schéma suivant :

Imaginez que chacune de ces lignes entre votre IT et le cloud est un pipeline spécial répondant aux besoins d'une équipe et d'une application. Chacune peut transporter exactement les mêmes données (c’est notamment le cas dans le secteur du retail : il est courant que plusieurs applications connaissent la date à laquelle un client a retourné un produit), mais plus important encore, elles nécessitent chacune un développement, des tests, un déploiement, un suivi et une maintenance. Et plus vous déplacez d'applications, plus votre organisation devra prendre en charge et maintenir ces éléments.

Outre les coûts de développement et d'exploitation, la qualité des données pose également problème. Si vous devez copier les mêmes données trois fois, les trois applications auront-elles la même vision du monde ? Que se passera-t-il si l'une d'elles perd des données ? Êtes-vous sûr que tous les pipelines offrent le même niveau de fiabilité ? Votre organisation dispose-t-elle vraiment d'une source de vérité dans ce scénario ?

La succession de traitements par batch nuit également à la fraîcheur de la donnée. « Quand une information n’est pas à jour sur votre compte en banque, le problème apparaît très clairement. Les répercussions sur la relation client peuvent être importantes » insiste le Solutions Engineer.

Pourquoi associer Confluent à Snowflake ?

Envisageons maintenant l’ajout d’un middleware de messages dans lesquelles les données vont transiter avant d’aboutir dans Snowflake. L’ajout de la plateforme Confluent permet la mise en place d’un pipeline en continu fournissant des mises à jour incrémentielles aux applications déployées dans le cloud. Un changement de paradigme s’opère. La donnée étant transmise en temps réel via Snowflake, il est désormais possible de prendre des actions au fil de l’eau, sur la base d’éléments constamment à jour. Chaque collaborateur peut alors déverser le fruit de son travail dans ce système nerveux central, qui va lui-même traiter, valoriser, pré-processer la donnée en amont afin de simplifier son exploitation dans Snowflake. Extrêmement scalable et capable de supporter des débits très importants, l’outil autorise la consommation d’un flux de données par des consommateurs multiples, et ce en temps réel. De plus, en assurant le découplage des systèmes producteurs et consommateurs de données, la plateforme Confluent permet de capitaliser sur de nombreux autres composants : databricks, applications internes, datalakes, moteurs de recherche et d’analyse, etc. En ce sens, Confluent libère le potentiel de la donnée mais également celui des équipes, qui peuvent se concentrer sur les activités à forte valeur ajoutée, et non sur la gestion de l'infrastructure de données.