Práticas recomendadas para serviços do Cloud Run otimizados para custos

Otimizar os serviços do Cloud Run reduz as despesas ao alinhar a alocação de recursos com a demanda real. A implementação de configurações econômicas evita o provisionamento excessivo e mantém a confiabilidade e o desempenho do serviço. Não existe uma solução única para otimização de custos. É importante monitorar suas necessidades, orçamento e recursos para determinar o que funciona melhor para você.

As práticas recomendadas descritas neste documento são específicas do Cloud Run. Eles não incluem outros produtos do Google Cloud .

Configurações de recursos

A otimização de custos dos serviços envolve a consideração de muitas configurações diferentes. Adapte essas configurações às suas necessidades para criar serviços confiáveis e econômicos.

Selecionar a região apropriada

O local de implantação do serviço afeta o custo total. O Cloud Run usa um modelo de preços regional de dois níveis. As regiões do nível 1 oferecem um custo menor por vCPU e memória em comparação com as regiões do nível 2. Portanto, considere implantar em uma região do nível 1.

Autenticação necessária

Ao configurar um serviço do Cloud Run, é possível escolher uma das duas opções de autenticação:

  • Permitir acesso público: as verificações de autenticação não são necessárias.
  • Exigir autenticação: somente usuários autenticados podem acessar o serviço do Cloud Run.

Recomendamos exigir autenticação, a menos que você tenha uma necessidade específica de permitir o acesso público. Isso evita solicitações indesejadas que podem gerar custos.

Se você gerencia usuários com o Identity-Aware Proxy (IAP), ele pode ter custos associados.

Comparar o faturamento baseado em instâncias com o baseado em solicitações

Os serviços do Cloud Run têm duas configurações de faturamento:

  • Faturamento com base em solicitações (padrão): você recebe uma cobrança por solicitação, além de uma taxa por segundo mais alta para vCPU e memória consumidas durante o processamento da solicitação.
  • Faturamento com base em instâncias: você recebe cobranças durante todo o ciclo de vida de uma instância. Não há taxa por solicitação, e as taxas por segundo para vCPU e memória são mais baixas.

Para serviços com tráfego estável e que varia lentamente, considere usar o faturamento com base em instâncias. A economia com taxas de computação mais baixas e sem taxa por solicitação supera o custo de pagar pelo tempo de inatividade entre as solicitações. Para serviços com tráfego esporádico, com picos ou intermitente, considere usar o faturamento com base em solicitações. Se você ainda não tiver certeza sobre qual configuração de faturamento usar, consulte Recomendador. O recomendador analisa o tráfego recebido pelo serviço do Cloud Run no último mês e fornece recomendações para alternar do faturamento com base em solicitações para o faturamento com base em instâncias, se for mais barato.

Configurar o escalonamento de serviços no nível do serviço

Para estabelecer uma base de segurança de custos, configure o número máximo de instâncias para seu serviço. Definir um número máximo maior prioriza a disponibilidade, mas introduz possíveis riscos de faturamento devido a picos de tráfego inesperados ou configurações incorretas. Configure essa definição no nível do serviço ao implantar o serviço pela primeira vez para estabelecer um valor de referência de custo. Para mais ferramentas de controle de custos, consulte cotas de alocação de recursos ou orçamentos e alertas de faturamento.

Otimizar o uso de CPU e memória

O custo do serviço do Cloud Run é afetado pela configuração de CPU/memória e pelo tempo de atividade do serviço, entre outros fatores. O provisionamento excessivo de recursos pode aumentar seus custos. Para determinar qual configuração é melhor para seu serviço:

  1. Estabeleça uma configuração de referência.
  2. Monitore suas métricas enquanto testa as métricas de uso de CPU e memória no Cloud Monitoring.
  3. Ajuste a configuração conforme necessário.

Se o uso da CPU for consistentemente baixo sob carga de pico, considere reduzir a alocação de vCPU. Se a latência for alta, considere aumentar a alocação de vCPUs.

Se o uso da memória for baixo na maior parte do tempo, considere reduzir a memória alocada. Se a latência for alta e o uso da memória estiver próximo de 100%, considere aumentar a memória alocada. Se você estiver enfrentando erros de memória insuficiente (OOM), aumente a memória alocada ou modifique o aplicativo para evitar vazamentos de memória ou use menos memória. Consulte o painel do Cloud Monitoring para entender melhor o uso da memória.

Configurar GPU

Todos os serviços do Cloud Run que usam GPUs precisam ter o faturamento com base em instâncias configurado. Isso significa que as instâncias do Cloud Run são cobradas por todo o ciclo de vida delas, mesmo quando não há solicitações recebidas. As configurações mínimas de CPU e memória necessárias para GPUs também afetam o custo do serviço do Cloud Run. Por padrão, a redundância zonal de GPU está ativada. Desativar a redundância zonal de GPU resulta em um custo menor por segundo de GPU, mas não garante capacidade reservada para cenários de failover.

Otimizar os custos de rede

Ao configurar as opções de rede para seu serviço, considere o seguinte:

  • Coloque seus recursos no mesmo local: tente implantar os serviços do Cloud Run na mesma região dos bancos de dados de back-end (como o Cloud SQL ou o Firestore) e dos buckets do Cloud Storage. A transferência de dados entre recursos do Google Cloud na mesma região não tem custo financeiro.
  • Mudar para a saída VPC direta: se você estiver roteando o tráfego com segurança para recursos internos da rede VPC, mude para a saída VPC direta em vez de usar conectores acesso VPC sem servidor. A saída de VPC direta é reduzida a zero, eliminando a sobrecarga de computação de referência e os custos de inatividade associados às instâncias do conector.
  • Use o Cloud CDN: descarregue recursos estáticos e conteúdo armazenável em cache colocando o Cloud CDN na frente dos serviços do Cloud Run. Disponibilizar dados da borda é significativamente mais barato do que pagar pela saída de dados para a internet padrão diretamente do Cloud Run.
  • Monitorar a saída de dados para a Internet: o tráfego de entrada (entrada) é sempre sem custo financeiro, e você recebe 1 GiB de transferência de dados de saída para a Internet sem custo financeiro por mês na América do Norte. Concentre seus esforços de monitoramento no tráfego de saída que cruza os limites de região ou excede o nível sem custo financeiro.

Definir configurações de simultaneidade

Quando mais instâncias processam solicitações, o Cloud Run aloca mais CPU e memória a custos mais altos. Uma configuração de simultaneidade mais alta permite que menos instâncias processem o mesmo volume de solicitações, o que pode reduzir os custos. No entanto, o código do aplicativo precisa ser capaz de lidar com solicitações paralelas de maneira eficiente. Para mais informações, consulte Como ajustar a simultaneidade para escalonamento automático e utilização de recursos.

Descontos por compromisso de uso

Os descontos por compromisso de uso (CUDs) oferecem preços reduzidos em troca do compromisso de usar o Cloud Run continuamente por um período especificado. Os CUDs se aplicam no nível da conta do Cloud Billing. É possível comprar CUDs flexíveis do Compute para recursos do Cloud Run. Os CUDs flexíveis do Compute não se aplicam a GPUs ou redes. Consulte Desconto por compromisso de uso flexível do Compute para mais detalhes.

Ferramentas úteis

Use as ferramentas a seguir para entender melhor seus custos e evitar gastos excessivos.

Visão geral do Cloud Run: painel de faturamento

A página de visão geral do Cloud Run mostra os custos por nome de recurso no painel de faturamento. Os números refletem os custos brutos dos períodos selecionados por recurso. Essa ferramenta ajuda a entender melhor quanto custam seus recursos.

Alertas orçamentários

Crie alertas de orçamento no Cloud Billing para acompanhar os custos reais em relação aos custos planejados. Um alerta de orçamento é um mecanismo que aciona notificações quando os limites de gastos são ultrapassados, não um gasto máximo. Há um atraso nos dados de faturamento que pode afetar o recebimento de alertas.

Gastos máximos do orçamento

Quando você configura gastos máximos do orçamento do Cloud Billing no console do Cloud Billing ou de forma programática usando a API Cloud Billing Budget, esses gastos máximos são aplicados automaticamente a todos os tipos de recursos do Cloud Run no projeto.

É possível monitorar o progresso do gasto máximo diretamente na página de visão geral do console do Cloud Run. Quando você atinge um gasto máximo, Google Cloud pausa todas as cargas de trabalho do Cloud Run para evitar mais custos para os seguintes recursos do Cloud Run:

  • Serviços: qualquer serviço atual não vai conseguir exibir tráfego e vai retornar erros 5xx.
  • Jobs: as novas execuções de tarefas não são iniciadas, e as tarefas em andamento não são concluídas.
  • Pools de workers: todas as instâncias atuais param de processar tarefas.
  • Instâncias: todas as instâncias em execução são encerradas, as novas instâncias ou reinicializações não são iniciadas e as solicitações para URLs de instância retornam erros 5xx.

Se você exceder seu gasto máximo, vai receber uma notificação de alerta e um banner de restrição no console do Cloud Run. Os gastos máximos aplicados são redefinidos no início de cada mês, no primeiro dia do próximo ciclo de faturamento, desbloqueando as cargas de trabalho e definindo o valor gasto como zero. Se você exceder seu gasto máximo e quiser retomar as operações antes da redefinição mensal, ajuste ou remova o limite manualmente na página de visão geral do console do Cloud Run.

Cloud Billing

O Cloud Billing é um conjunto de ferramentas que ajuda a monitorar e entender seus gastos com o Google Cloud . Essas ferramentas ajudam você a monitorar os custos de uso, prever gastos e identificar oportunidades de economizar.

Explorador de custos

O Cost Explorer permite entender o custo e a utilização dos seus recursos. Use o Explorador de Custos para:

  • Filtre os recursos por custo para ver quais são os mais caros.
  • Entenda qual proporção dos custos é impulsionada por configurações como vCPU, GPU, rede e muito mais.
  • Acompanhe os impactos das mudanças na configuração de recursos na sua fatura mensal.

Calculadora de preços doGoogle Cloud

A visão geral de preços doGoogle Cloud contém informações para entender melhor o modelo de preços do Google Cloud . Nessa página, você também encontra a lista de preços detalhada. É possível estimar seus custos adicionando e configurando produtos com a calculadora de preços.

Recomendador

O Recomendador é uma ferramenta que fornece recomendações de uso e insights para produtos do Cloud.

O recomendador analisa automaticamente o tráfego recebido pelo serviço do Cloud Run no último mês e recomenda alternar do faturamento com base em solicitações para o faturamento com base em instâncias, se for mais barato.

Otimização do Cloud Hub

É possível conferir dados resumidos de custo, dados de utilização e recomendações de otimização de custo para serviços do Google Cloud na página de otimização do Cloud Hub.