Propulsé par Snowflake : comment fonctionnent les applications connectées

Propulsé par Snowflake : comment fonctionnent les applications connectées


Le modèle émergent d’applications connectées suscite l’intérêt de nombreux éditeurs de logiciels et développeurs. Comme nous l’avons expliqué dans partie 1 de cette série de blogs, les applications connectées sont des applications SaaS qui séparent le code et les données de sorte que le fournisseur de l’application conserve le code de l’application pendant que ses clients gèrent les données sur leur propre plate-forme de données. La création d’applications connectées sur Snowflake présente de nombreux avantages pour les clients et les fournisseurs SaaS. Les clients gardent le contrôle de leurs propres données et les fournisseurs SaaS peuvent mieux s’aligner sur la stratégie de mise sur le marché de Snowflake.

Examinons de plus près comment fonctionnent les applications connectées Snowflake et comment elles sont construites.

Fonctionnement des applications connectées Snowflake

Pour illustrer le fonctionnement des applications connectées, considérons un développeur d’une solution SaaS, telle qu’une application marketing qui recommande le segment de clientèle à cibler dans la prochaine campagne publicitaire en fonction de diverses sources de données. Comme le montre la figure 1, l’application collecte les données à partir des sources pertinentes du client, les traite selon les besoins et conserve les données dans la propre instance Snowflake du client. L’application appliquerait ensuite des modèles de prédiction aux données et écrirait les résultats dans une autre table au sein de l’instance Snowflake du client.

EK7hMer2oPWfR iaBjmytaG V0xcxXVcGqqks7BMjqG6NR3GfQaH2XSmCUyTRtSyklzgZYVOPfTI e oSgcSwzy2jgzCXm0WxDOffnNm

Figure 1 : flux de données d’applications connectées typiques

Les flux de données pour une application connectée peuvent varier en fonction du cas d’utilisation. Il peut y avoir des cas, par exemple, où l’instance Snowflake du client contient déjà toutes les données dont l’application a besoin, donc aucun chargement supplémentaire n’est requis.

La figure 2 illustre les flux de données lorsqu’il y a plusieurs clients. Chaque client conserve ses données dans sa propre instance Snowflake et aucune multilocation n’est requise.

skbScbo8qJQDbprkz ZZRA9A5F3IUPUqRRlQOTWcxhdoc2eLKlEX rQ RG

Figure 2 : flux de données d’applications connectées typiques avec plusieurs clients

En revanche, la même application créée en tant qu’application gérée stockerait toutes les données des clients dans sa propre instance Snowflake multi-locataire, comme illustré à la figure 3. Dans ce cas, le fournisseur a le contrôle des données et la consommation de crédit est à la charge du fournisseur. Compte flocon de neige.

U13g4TjgNf9k8Q4oj6742QZ1Gi2BbsDBggOHTRQtxLJ78F1fSuOML271lge6heZAM PRfS8HrBx5aKdZxyv7zCes

Figure 3 : flux de données d’applications gérées typiques

Lorsque les applications gérées sont créées sur Snowflake, les clients peuvent accéder à leurs données à l’aide de la fonctionnalité de partage sécurisé des données de Snowflake (non illustrée à la figure 3). Cela permet aux clients d’avoir un accès immédiat à leurs données sans avoir à créer des pipelines d’API comme indiqué dans partie 1 de cette série de blogs.

Création d’applications prenant en charge les modèles d’applications connectées et gérées

Le choix d’une application connectée ou d’un modèle d’application gérée ne s’exclut pas mutuellement. Vous pouvez créer une application en tant qu’application gérée pour certains clients et en tant qu’application connectée pour d’autres. Dans ce cas, le fournisseur de l’application se connecte à l’instance Snowflake de ses clients si elle est disponible, ou à la sienne si ce n’est pas le cas (voir Figure 4).

gmRK23g3GurJPvnIM H1pDaU Dz3TXItoDc00DP1SOoUIOcZad5CTgg2Lkf7vfihLCxCvXAcX8vBHT18fW9 MbBHN5 drMHgUB0xn74T6VczKadLgNE O3rAWS81xjOG CSdgmbI

Figure 4 : Une application prenant en charge les modèles d’applications connectées et gérées

Comment intégrer les clients

Pour intégrer un client à l’application connectée, le client doit créer un utilisateur dédié à cet effet sur son compte Snowflake et charger les informations d’identification du nouvel utilisateur dans l’application. Un rôle est alors utilisé pour limiter l’accès de l’application à la base de données ; le client garde le contrôle de ses données dans sa source de vérité unifiée.

Comment les applications connectées chargent les données

Selon les besoins de l’application, les données peuvent être diffusées à l’aide d’un service de diffusion tel que Kafka ou mises en scène dans un compartiment dans le stockage d’objets cloud. Snowpipe, le service d’ingestion continue de données sans serveur de Snowflake, est ensuite utilisé pour charger les données dans le compte Snowflake du client, comme illustré à la Figure 5.

Figure 5 : Chargement de données dans Snowflake avec une application connectée

Nous recommandons que le compartiment intermédiaire ou le service de streaming réside chez le fournisseur de l’application pour éviter de faire peser cette charge sur le client. Les applications connectées réussies n’exigent généralement pas que les clients gèrent une infrastructure en dehors de Snowflake Data Cloud. Pour plus de détails sur la façon de charger des données dans Snowflake, veuillez consulter notre documentation pour Snowpipe et notre Connecteur Kafka.

Comment les applications connectées interrogent les données

Interroger l’instance Snowflake du client est simple. Snowflake est entièrement conforme à ANSI SQL, de sorte que toute application utilisant une base de données SQL peut facilement implémenter la prise en charge des requêtes bidirectionnelles. De plus, les applications peuvent interroger Snowflake à l’aide d’un large éventail de langages de programmation et de connecteurs pris en charge. Les connecteurs et pilotes Snowflake incluent Node.js, Go, .NET, JDBC, ODBC, PHP, Python et Spark. Vous pouvez également interroger facilement Snowflake sans déployer ni gérer de pilotes à l’aide de notre API SQL REST. Pour plus de détails sur les options de connectivité, veuillez consulter le Documentation pour nos connecteurs et API.

La mise en œuvre d’une intégration d’application connectée avec Snowflake est simple. D’après les expériences de nos partenaires Powered by Snowflake, les projets prennent généralement de six à huit semaines, selon le produit et l’équipe.

Vouloir plus? Devenir un partenaire Powered by Snowflake

La Propulsé par Snowflake guide les membres sur la façon de concevoir et de mettre en œuvre des applications qui s’exécutent sur Snowflake. Le programme aide également les partenaires après le lancement de leur solution commune à sensibiliser les utilisateurs de Data Cloud. Pour en savoir plus, consultez le Propulsé par Snowflake programme et inscrivez-vous pour rejoindre le Réseau de partenaires Snowflake.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.