Gestion des coûts pour Streamlit in Snowflake

Cette rubrique décrit les considérations relatives à la facturation pour Streamlit in Snowflake.

Remarques relatives à Streamlit in Snowflake

La facturation Streamlit in Snowflake est basée sur l’environnement d’exécution de l’application et l’entrepôt de requêtes. L’environnement d’exécution exécute le code Python dans votre application Streamlit et peut être soit un conteneur soit un entrepôt. L’entrepôt de requêtes exécute toutes les requêtes SQL dans le code de votre application.

Entrepôt de requêtes

Lorsque le code de votre application exécute les requêtes SQL, ces requêtes utilisent l’entrepôt de requêtes de l’application. Snowflake reprend et suspend automatiquement l’entrepôt de requêtes en fonction de ses propres valeurs AUTO_RESUME et AUTO_SUSPEND.

Container Runtime

If your Streamlit app uses a container runtime, you are billed for the usage of the underlying Snowpark Container Services compute pool. In this case, the Streamlit app is a long-running service. The Streamlit server runs continuously on a node of the compute pool, allowing viewers to quickly access the app. Concurrent viewers connect to a single Streamlit server. Only a single app can run on a node in the compute pool; a Streamlit app takes an entire node.

Après trois jours d’inactivité de l’application, le processus du serveur Streamlit prend fin et Snowflake suspend le pool de calcul en fonction de sa propre valeur AUTO_SUSPEND. Si vous essayez de maintenir une session ouverte pendant trois jours sans qu’un nouveau lecteur se connecte, l’application sera probablement suspendue. Il est recommandé de déplacer les calculs de longue durée vers un autre service. Pour plus d’informations sur la facturation des pools de calcul, voir Comprendre le coût du calcul.

Runtime d’entrepôt

Si votre application utilise un runtime d’entrepôt, Snowflake reprend l’entrepôt de code de l’application lorsqu’une personne consulte l’application. Chaque fois qu’un utilisateur se connecte à l’application, un nouveau processus de serveur Streamlit démarre dans l’entrepôt de code et une connexion WebSocket est établie. Les utilisateurs simultanés se connectent chacun à leur propre serveur Streamlit fonctionnant dans le même entrepôt de code.

Une connexion WebSocket conserve l’entrepôt de code actif et expire environ 15 minutes après la dernière activité de l’utilisateur associé. Toutefois, cette opération peut être affectée par les paramètres du navigateur et l’activité de l’utilisateur. Le déplacement de la souris sur l’application est considéré comme une activité et conserve la connexion WebSocket active. Vous pouvez modifier la valeur d’expiration WebSocket de votre compte en contactant l’assistance Snowflake.

L’entrepôt de code est facturé pour la durée d’activité. Pour conserver les crédits, vous pouvez effectuer l’une des actions suivantes :

  • Suspendre manuellement l’application de Snowsight.

  • Fermer tous les onglets du navigateur exécutant l’application ou quitter l’application. Cette action ferme la connexion WebSocket et permet à l’entrepôt de se mettre automatiquement en veille.

  • Définir une minuterie de mise en veille personnalisée pour l’application. Cette action suspend automatiquement l’entrepôt après une période d’inactivité spécifiée. Pour plus d’informations, voir Minuterie de mise en veille personnalisée pour une application Streamlit.

Pour obtenir des conseils sur la sélection d’un entrepôt, consultez Lignes directrices relatives à la sélection de ressources dans Streamlit in Snowflake.