Custo de implantação do Snowflake e considerações sobre dimensionamento¶
Ao executar Openflow - Snowflake Deployment, você deve estar ciente das considerações de custo associadas a vários componentes do Snowflake, incluindo, mas não se limitando às seguintes categorias de custos:
Custos do pool de computação
Infraestrutura do Snowpark Container Services
Ingestão de dados
Ingestão de dados de telemetria
Outros custos não mencionados explicitamente neste tópico
Usar e escalar o Openflow envolve entender esses custos. As seções a seguir descrevem os custos do Openflow em geral e fornecem diversos exemplos de escalabilidade de tempos de execução do Openflow e custos associados.
Custos da Openflow - Snowflake Deployment¶
Ao usar Openflow - Snowflake Deployment, você pode incorrer em custos de vários componentes do Snowflake usados pelo Openflow. Essas categorias de custos são descritas nas seções a seguir.
Entretanto, os custos reais podem variar de acordo com seu ambiente específico. Consulte Exemplos para cálculo do consumo de Openflow - Snowflake Deployment para ver exemplos de diferentes cenários de consumo de custos.
Custos do pool de computação do Openflow¶
Nota
Esta categoria de custo é mostrada como Openflow Compute Snowflake em sua fatura do Snowflake.
Os custos totais de execução do Openflow são baseados no número e nos tipos de instâncias usadas pelos pools de computação do Snowpark Container Service em sua conta Snowflake.
O Openflow usa pools de computação para duas finalidades diferentes:
Serviços de gerenciamento do Openflow
Os Openflow Management Services são executados como parte de uma implantação do Openflow. Eles usam um pool de computação para gerenciar a implantação do Openflow. Esse pool de computação começa a ser executado assim que você cria uma implantação. Ele continua a ser executado enquanto a implantação estiver ativa.
- cuidado:
O pool de computação associado ao Openflow Management Services continua funcionando e incorre em custos, mesmo que não haja tempos de execução ativos.
Tempos de execução do Openflow
O Openflow usa pools de computação para executar os tempos de execução do Openflow. O número de pools de computação necessários e o número de nós dentro de cada pool de computação são dimensionados com base no número de tempos de execução ativos no momento.
Quando todos os tempos de execução associados a um tempo de execução são interrompidos, o pool de computação associado a eles é reduzido para 0 nós. Nenhum custo é incorrido para um pool de computação de tempo de execução quando ele não está em uso.
Os créditos são cobrados por segundo, com um mínimo de 5 segundos. Para obter informações sobre a taxa por família de instâncias de computação do Snowpark Container Services por hora, consulte a tabela 1(d) em`Tabela de consumo do serviço Snowflake <https://www.snowflake.com/legal-files/CreditConsumptionTable.pdf>`_.
As seguintes exibições no esquema Account Usage fornece detalhes adicionais sobre os custos de computação do Openflow:
Os custos do pool de computação relacionados ao Openflow aparecem em SERVICE_TYPE como OPENFLOW_COMPUTE_SNOWFLAKE.
Nota
A exibição OPENFLOW_USAGE_HISTORY atualmente não contém registros para o tipo de serviço OPENFLOW_COMPUTE_SNOWFLAKE.
Para mais informações sobre custos de computação no Snowflake, consulte Exploração do custo de computação.
Custos da infraestrutura do Snowpark Container Services¶
Além dos custos do pool de computação, há custos associados à infraestrutura adicional do Snowpark Container Services, incluindo armazenamento e transferência de dados.
Para obter informações adicionais, consulte Custos do Snowpark Container Services.
Custos de ingestão de dados¶
Há custos relacionados ao carregamento de dados no Snowflake usando serviços como Snowpipe ou Snowpipe Streaming. Esses custos são baseados no volume de dados ingeridos.
Nota
Esses custos aparecem em sua fatura do Snowflake nos respectivos itens de linha de serviços de ingestão.
Além disso, alguns conectores podem exigir um warehouse e incorrerão em custos correspondentes. Por exemplo, os conectores de banco de dados de CDC exigem um warehouse para os instantâneos iniciais e a captura de dados alterados (CDC) incremental.
Custos de ingestão de dados de telemetria¶
Ao usar uma tabela de eventos para armazenar dados de telemetria para o Openflow, o Snowflake cobra pelo envio de logs e métricas para as implantações do Openflow. Também há cobranças pelo envio de dados de telemetria do tempo de execução para sua tabela de eventos no Snowflake.
A taxa para créditos por GB de dados de telemetria é especificada na Tabela 5 da tabela de consumo de serviços do Snowflake. Esse item é chamado de ingestão de dados de telemetria.
Reduzindo o consumo de crédito do Openflow¶
Se você tiver tempos de execução que não estiverem em uso ativamente, poderá suspendê-los para reduzir custos. A suspensão de um tempo de execução interrompe o consumo de crédito para o pool de computação de tempo de execução associado. Quando um tempo de execução é suspenso, seu pool de computação é reduzido para 0 nós e não incorre mais em cobranças.
Custos de Openflow - Snowflake Deployment associados a tempos de execução e comportamento de dimensionamento¶
A forma como você escolhe configurar e escalar os tempos de execução é importante para gerenciar os custos de forma eficaz. O Openflow oferece suporte a diferentes tipos de tempos de execução, cada um com as próprias características de escalonamento e custos associados.
Mapeamento de tempos de execução para pools de computação do Snowflake¶
O tipo de tempo de execução escolhido determina os pods de execução agendados no pool de computação associado. Usar um tipo de tempo de execução maior resultará no uso de um pool de computação maior e, consequentemente, custos mais altos.
Os tamanhos dos tempos de execução e seu comportamento de dimensionamento são descritos na tabela a seguir:
Tipo de tempo de execução |
vCPUs |
Memória disponível (GB) |
Família de instâncias do Snowflake Compute Pool |
Snowflake Compute Pool |
Família de instâncias - vCPUs |
Família de instâncias - memória (GB) |
|---|---|---|---|---|---|---|
Small |
1 |
2 |
CPU_X64_S |
INTERNAL_OPENFLOW_0_SMALL |
4 |
16 |
Medium |
4 |
10 |
CPU_X64_SL |
INTERNAL_OPENFLOW_0_MEDIUM |
16 |
64 |
Large |
8 |
20 |
CPU_X64_L |
INTERNAL_OPENFLOW_0_LARGE |
32 |
128 |
O Openflow dimensiona os pools de computação do Snowflake subjacente quando nós adicionais precisam ser agendados, com base no consumo de CPU e até a configuração máxima de nós definida durante a criação do tempo de execução.
Os pools de computação são configurados com um tamanho mínimo de 0 e um máximo de 50 nós. O tamanho necessário é ajustado dinamicamente de acordo com os requisitos de CPU e memória dos tempos de execução.
Se não houver demanda de recursos, por exemplo, se o tempo de execução não estiver ativo, um pool de computação será reduzido para 0 nós após 600 segundos (10 minutos).
Tempo de execução |
Atividade |
Custos do Snowflake |
Custos de nuvem |
|---|---|---|---|
Sem tempos de execução |
Nenhum |
Pool de controle do Openflow x 1 nó = 1 instância/hora de CPU_X64_S |
Nenhum |
1 tempo de execução pequeno (1vCPU) (mín.=1 máx.=2) |
Ativo por 1 hora. O tempo de execução não é dimensionado para 2. |
Pool de controle do Openflow x 1 nó + Pool de computação pequeno do Openflow (CPU_X64_S) x 1 nó = 2 instâncias/hora de CPU_X64_S |
Nenhum |
2 tempos de execução pequenos (1 vCPU) (mín./máx. = 2) 1 tempo de execução grande (8 vCPU) (mín./máx. = 10) |
Pequeno: 4 nós ativos por 1 hora Grande: 10 nós ativos por 1 hora |
Pool de controle do Openflow x 1 nó + Pool de computação pequeno do Openflow (CPU_X64_S) x 2 nós + Pool de computação grande do Openflow (CPU_X64_L) x 4 nós = 3 instâncias/hora de CPU_X64_S + 4 instâncias/hora de CPU_X64_L |
Nenhum |
1 médio (4vCPU) (mín.=1 máx.=2) |
Primeiros 20 minutos: 1 nó em execução Após 20 minutos, escalona para 2 nós Após 40 minutos, escalona novamente para 1 nó Total de 1 hora |
Pool de controle do Openflow x 1 nó + Pool de computação médio do Openflow (CPU_X64_SL) x 1 nó = 1 instância/hora de CPU_X64_S + 1 instância/hora deCPU_X64_SL |
Nenhum |
1 médio (4vCPU) (mín./máx. = 2) |
Primeiros 30 minutos: 2 nós em execução Suspende após os primeiros 30 minutos. |
Pool de controle do Openflow x 1 nó + Pool de computação médio do Openflow (CPU_X64_SL) x 1 nó x 1/2 hora = 1 instância/hora de CPU_X64_S + 1/2 instância/hora de CPU_X64_SL |
Nenhum |
Exemplos para cálculo do consumo de Openflow - Snowflake Deployment¶
- Um usuário criou uma implantação do Openflow Snowflake e não criou nenhum tempo de execução.
O pool de computação Openflow_Control_Pool_0 está sendo executado com uma instância CPU_X64_S
Consumo total do Openflow = 1 instância/hora de CPU_X64_S
- Um usuário criou um tempo de execução pequeno com núm. mín. de nós = 1 e núm. máx. de nós = 2. O tempo de execução permanece em 1 nó por 1 hora.
O pool de computação Openflow_Control_Pool_0 está sendo executado com 1 instância CPU_X64_S
O pool de computação INTERNAL_OPENFLOW_0_SMALL está sendo executado com 1 instância CPU_X64_S
Consumo total do Openflow = 2 instâncias/hora de CPU_X64_S
- Um usuário criou dois tempos de execução pequenos com mín./máx. de dois nós cada e um tempo de execução grande com mín./máx. de 10 nós. Esses tempos de execução ficam ativos por uma hora.
O pool de computação Openflow_Control_Pool_0 está sendo executado com 1 instância CPU_X64_S
Dois tempos de execução pequenos em dois nós = o pool de computação INTERNAL_OPENFLOW_0_SMALL está sendo executado com 2 instâncias CPU_X64_S = 2 instâncias/hora de CPU_X64_S
Um tempo de execução grande em 10 nós = Pool de computação INTERNAL_OPENFLOW_0_LARGE em execução com 4 instâncias CPU_X64_L = 4 instâncias/hora de CPU_X64_L
Consumo total do Openflow = 3 instâncias/hora de CPU_X64_S + 4 instâncias/hora de CPU_X64_L
- Você criou um tempo de execução médio com um nó. Após 20 minutos, ele escalona para dois nós. Após 20 minutos, ele reduz para um nó e continua em execução por mais 20 minutos.
O pool de computação Openflow_Control_Pool_0 está sendo executado com 1 instância CPU_X64_S
Um escalonamento de tempo de execução médio até dois tempos de execução médios = o pool de computação INTERNAL_OPENFLOW_0_MEDIUM está sendo executado com 1 instância CPU_X64_SL = 1 instância/hora CPU_X64_SL
Consumo total do Openflow = 1 instância/hora de CPU_X64_S + 1 instância/hora de CPU_X64_SL
- Você criou um tempo de execução médio com dois nós e, em seguida, suspendeu-o após 30 minutos.
O pool de computação Openflow_Control_Pool_0 está sendo executado com 1 instância CPU_X64_S
Um tempo de execução médio em um nó = o pool de computação INTERNAL_OPENFLOW_0_MEDIUM está sendo executado com 1 instância CPU_X64_SL
30 minutos = 1/2 hora
Consumo total do Openflow = 1 instância/hora de CPU_X64_S + 1/2 instância/hora de CPU_X64_SL