Gerenciamento de custos para Streamlit in Snowflake¶
Este tópico descreve as considerações de faturamento do Streamlit in Snowflake.
Considerações sobre faturamento para Streamlit in Snowflake¶
O faturamento do Streamlit in Snowflake é baseado no ambiente de tempo de execução e no warehouse de consultas do app. O ambiente de tempo de execução executa o código Python em seu app Streamlit e pode ser um contêiner ou um warehouse. O warehouse de consultas executa qualquer consulta SQL no código do seu app.
Warehouse de consulta¶
Quando o código do seu app executa consultas SQL, elas usam o warehouse de consultas do app. O Snowflake retoma e suspende automaticamente o warehouse de consultas de acordo com os próprios valores AUTO_RESUME e AUTO_SUSPEND.
Tempo de execução de contêiner¶
Se o app Streamlit usa um tempo de execução de contêiner, você é cobrado pelo uso do pool de computação do Snowpark Container Services subjacente. Nesse caso, o app Streamlit é um serviço de longa duração. O servidor Streamlit é executado continuamente em um nó do pool de computação, permitindo que os visualizadores acessem o app com rapidez. Os visualizadores simultâneos conectam-se a um único servidor Streamlit. Após três dias de inatividade do app, o processo do servidor Streamlit é encerrado e o Snowflake suspende o pool de computação de acordo com o próprio valor AUTO_SUSPEND. Para obter mais informações sobre o faturamento do pool de computação, consulte Explicação dos custos de computação.
Tempo de execução de warehouse¶
Se o app usa o tempo de execução de warehouse, o Snowflake retoma o warehouse do código do app quando alguém visita o app. Cada vez que um visualizador se conecta ao app, um novo processo do servidor Streamlit é iniciado no warehouse do código e uma conexão WebSocket é estabelecida. Cada um dos visualizadores simultâneos se conecta ao próprio servidor Streamlit em execução no mesmo warehouse do código.
Uma conexão WebSocket mantém o warehouse do códigos ativo e expira aproximadamente 15 minutos após a última atividade do visualizador associado. No entanto, isso pode ser afetado pelas configurações do navegador e pela atividade do visualizador. O movimento do mouse sobre o app conta como atividade e mantém a conexão WebSocket ativa. Você pode mudar o valor de tempo limite de WebSocket em sua conta entrando em contato com o suporte Snowflake.
O warehouse do código é faturado pelo tempo em que está ativo. Para conservar créditos, você pode fazer um dos seguintes procedimentos:
Suspender manualmente o app no Snowsight.
Fechar todas as guias do navegador que executam o app ou sair do app. Esse procedimento fecha a conexão WebSocket e permite que o warehouse seja suspenso automaticamente.
Definir um temporizador personalizado de suspensão para o app. Isso suspende automaticamente o warehouse após um período especificado de inatividade. Para obter mais informações, consulte Temporizador de sono personalizado para um aplicativo Streamlit.
Para obter diretrizes sobre como selecionar um warehouse, consulte Diretrizes para seleção de recursos no Streamlit in Snowflake.