Snowpark Container Services

À propos de Snowpark Container Services

Snowpark Container Services est une offre de conteneurs entièrement gérée, conçue pour faciliter le déploiement, la gestion et la mise à l’échelle des applications conteneurisées au sein de l’écosystème Snowflake. Ce service permet aux utilisateurs d’exécuter des charges de travail conteneurisées directement dans Snowflake, garantissant que les données n’ont pas besoin d’être déplacées hors de l’environnement Snowflake pour être traitées. Contrairement aux plateformes d’orchestration de conteneurs traditionnelles comme Docker ou Kubernetes, Snowpark Container Services offre un environnement d’exécution OCI spécifiquement optimisé pour Snowflake. Cette intégration permet l’exécution transparente d’images OCI, en tirant parti de la plateforme de données robuste de Snowflake.

En tant que service entièrement géré, Snowpark Container Services rationalise les tâches opérationnelles. Il prend en charge les complexités de la gestion des conteneurs, y compris la sécurité et la configuration, conformément aux meilleures pratiques. Les utilisateurs peuvent ainsi se concentrer sur le développement et le déploiement de leurs applications sans avoir à gérer l’infrastructure sous-jacente.

Snowpark Container Services est entièrement intégré à Snowflake. Par exemple, votre application peut facilement effectuer ces tâches :

  • Se connecter à Snowflake et exécuter SQL dans un entrepôt virtuel Snowflake.

  • Accéder aux fichiers de données dans une zone de préparation Snowflake.

  • Traiter les données envoyées par SQL requêtes.

Snowpark Container Services est également intégré à des outils tiers. Il vous permet d’utiliser des clients tiers (tels que Docker) pour charger facilement vos images d’application vers Snowflake. L’intégration transparente permet aux équipes de se concentrer sur le développement d’applications de données.

Vous pouvez exécuter et faire évoluer les charges de travail de vos conteneurs d’applications dans les régions Snowflake et les plateformes Cloud sans avoir à gérer la complexité d’un plan de contrôle ou des nœuds de travail, et vous avez un accès rapide et facile à vos données Snowflake.

Snowpark Container Services débloque un large éventail de nouvelles fonctionnalités, dont les suivantes :

  • Créer des services de longue durée.

  • Utiliser des GPUs pour augmenter la vitesse et les capacités de traitement d’un système.

  • Écrire votre code d’application dans n’importe quel langage (par exemple, C++).

  • Utiliser n’importe quelle bibliothèque avec votre application.

Tout cela s’accompagne d’avantages liés à la plateforme Snowflake, notamment la facilité d’utilisation, la sécurité et les fonctions de gouvernance. Vous disposez désormais d’une couche de calcul évolutive et flexible à côté de la puissante couche de données Snowflake, sans qu’il soit nécessaire de déplacer les données hors de la plateforme.

Comment cela fonctionne-t-il ?

Pour exécuter des applications conteneurisées dans Snowpark Container Services, en plus de travailler avec les objets Snowflake de base, tels que les bases de données et les entrepôts, vous travaillez avec ces objets : référentiel d’images, pool de calcul, service, et tâche.

Snowflake propose un référentiel d’images, un service conforme à la norme OCIv2 pour le stockage de vos images. Cela permet aux clients OCI (tels que la CLI Docker et SnowSQL) d’accéder à un registre d’images dans votre compte Snowflake. Grâce à ces clients, vous pouvez charger les images de vos applications vers un référentiel (une unité de stockage) dans votre compte Snowflake. Pour plus d’informations, voir Travailler avec un registre et un référentiel d’images.

Après avoir chargé votre image d’application dans un référentiel, vous pouvez exécuter vos conteneurs d’application en tant que service ou tâche.

  • Un service a une longue durée d’exécution et, comme pour un service Web, vous l’arrêtez explicitement lorsqu’il n’est plus nécessaire. Si un conteneur de service se termine (pour quelque raison que ce soit), Snowflake redémarre ce conteneur. Pour créer un service, tel qu’une application Web full stack, utilisez la commande CREATE SERVICE.

  • Une tâche a une durée de vie limitée, comme une procédure stockée. Lorsque tous les conteneurs sortent, la tâche est terminée. Snowflake ne redémarre aucun conteneur de tâche. Pour créer une tâche, comme l’entraînement d’un modèle de machine learning avec des GPUs, utilisez la commande EXECUTE SERVICE.

    Important

    La fonction de tâches Snowpark Container Services est actuellement disponible en avant-première privée et est soumise aux conditions d’utilisation de l’avant-première disponibles à https://snowflake.com/legal. Contactez votre représentant Snowflake pour plus d’informations.

Pour plus d’informations, voir Utilisation de services et Utilisation de tâches.

Vos services et tâches s’exécutent dans un pool de calcul, qui est un ensemble d’un ou plusieurs nœuds de machines virtuelles (VM). Vous créez d’abord un pool de calcul à l’aide de la commande CREATE COMPUTE POOL puis vous spécifiez le pool de calcul lorsque vous créez un service ou une tâche. Les informations requises pour créer un pool de calcul comprennent le type de machine, le nombre minimum de nœuds pour lancer le pool de calcul et le nombre maximum de nœuds que le pool de calcul peut atteindre. Certains des types de machines pris en charge fournissent le GPU. Pour plus d’informations, voir Utilisation de pools de calcul.

Une tâche est exécutée de manière indépendante jusqu’à son terme. Cependant, un service fonctionne en continu et vous pouvez communiquer avec lui.

Vous pouvez utiliser les fonctions de service pour communiquer avec un service à partir d’une requête SQL. Vous pouvez configurer des points de terminaison publics pour permettre l’accès au service depuis l’extérieur de Snowflake, avec un contrôle d’accès géré par Snowflake. Snowpark Container Services prend également en charge les communications de service à service. Pour plus d’informations, voir Utilisation d’un service.

Régions disponibles

Snowpark Container Services est actuellement disponible dans les régions suivantes :

  • AWS - Europe (Londres)

  • AWS - Asie Pacifique (Mumbai)

Snowpark Container Services sera bientôt disponible dans les régions suivantes :

  • US Ouest (Oregon)

  • Europe (Francfort)

  • Asie-Pacifique (Tokyo)

  • Canada (Centre)

L’avant-première privée pour Azure et GCP sera annoncée ultérieurement.

Quelle est la prochaine étape ?

Si vous ne connaissez pas Snowpark Container Services, nous vous suggérons d’explorer d’abord les tutoriels, puis de poursuivre avec d’autres sujets pour en apprendre davantage et créer vos propres applications conteneurisées. Les rubriques suivantes fournissent de plus amples informations :