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

A otimização dos 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, mantendo a confiabilidade e o desempenho do serviço. Não existe uma solução única para todos os casos de 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. Elas não incluem outros Google Cloud produtos.

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 duas camadas. As regiões de camada 1 oferecem um custo menor por vCPU e memória em comparação com as regiões de camada 2. Portanto, considere a implantação em uma região de camada 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.
  • Autenticação necessária: 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 acesso público. Isso evita solicitações indesejadas que podem gerar custos.

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

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

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

  • Faturamento baseado 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 baseado em instâncias: você recebe uma cobrança por todo o ciclo de vida de uma instância. Não há taxa por solicitação, e as taxas por segundo de vCPU e memória são mais baixas.

Para serviços com tráfego estável e de variação lenta, considere usar o faturamento baseado em instâncias. A economia das taxas de computação mais baixas e a ausência de taxa por solicitação superam o custo de pagar pelo tempo ocioso entre as solicitações. Para serviços com tráfego esporádico, em rajadas ou picos, considere usar o faturamento baseado em solicitações. Se você ainda não tiver certeza de qual configuração de faturamento usar, consulte o Recomendador. O Recomendador analisa o tráfego recebido pelo serviço do Cloud Run no último mês e fornece recomendações para mudar do faturamento baseado em solicitações para o faturamento baseado em instâncias, se for mais barato.

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

Para estabelecer uma linha de base de segurança de custos, configure o número máximo de instâncias para o serviço. A definição de 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 quando implantar o serviço inicialmente para estabelecer uma linha de base de custos. Para outras ferramentas de controle de custos, consulte cotas de alocação de recursos ou orçamentos e alertas de faturamento.

Otimizar a utilização 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 os custos. Para determinar qual configuração pode ser melhor para o serviço:

  1. Estabeleça uma configuração de linha de base.
  2. Monitore as métricas ao testar as métricas de utilização de CPU e memória no Cloud Monitoring.
  3. Ajuste a configuração conforme necessário.

Se a utilização da CPU for consistentemente baixa sob carga máxima, considere reduzir a alocação de vCPU. Se a latência for alta, considere aumentar a alocação de vCPU.

Se a utilização da memória for consistentemente baixa, considere reduzir a memória alocada. Se a latência for alta e a utilização da memória estiver próxima de 100%, considere aumentar a memória alocada. Se você estiver recebendo erros de falta de memória (OOM), aumente a memória alocada ou modifique o aplicativo para evitar vazamentos de memória ou usar menos memória. Consulte o painel do Cloud Monitoring para entender melhor a utilização da memória.

Configurar GPU

Todos os serviços do Cloud Run que usam GPUs precisam ter o faturamento baseado em instâncias configurado. Isso significa que as instâncias do Cloud Run são cobradas por todo o ciclo de vida das instâncias, 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 custos de rede

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

  • Colocar os recursos juntos: 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 Google Cloud recursos na mesma região é sem custo financeiro.
  • Mudar para a saída direta da VPC: se você estiver roteando o tráfego com segurança para recursos internos da rede VPC, considere mudar para a saída direta da VPC dos conectores acesso VPC sem servidor. A saída da VPC direta é escalonada para zero, eliminando o overhead de computação de linha de base e os custos inativos associados às instâncias do conector.
  • Usar 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. A veiculação de dados da borda é significativamente mais barata do que pagar pela saída padrão da Internet diretamente do Cloud Run.
  • Monitorar a saída da Internet: o tráfego de entrada (entrada) é sempre sem custo financeiro, e você recebe 1 GiB de transferência de dados de saída da Internet por mês na América do Norte. Concentre seus esforços de monitoramento no tráfego de saída que cruza os limites da 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 processar solicitações paralelas com eficiência. Para mais informações, consulte 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 com desconto em troca do compromisso de usar o Cloud Run continuamente por um período especificado. Os CUDs são aplicados 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

É possível usar as ferramentas a seguir para entender melhor os custos e evitar estouros de custos.

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 você a entender melhor o custo dos recursos.

Alertas orçamentários

Crie alertas orçamentários no Cloud Billing para acompanhar os custos reais em relação aos custos planejados. Um alerta orçamentário é um mecanismo de alerta 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 quando você recebe alertas.

Limites de gastos do orçamento

Se você configurar limites de gastos do orçamento do Cloud Billing spend caps no console do Cloud Billing, esses limites serão aplicados automaticamente a todos os tipos de recursos do Cloud Run no seu projeto.

É possível monitorar o progresso do limite de gastos diretamente na página de visão geral do console do Cloud Run. Quando você atinge um limite de gastos, 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 veicular tráfego e retornará erros 5xx.
  • Jobs: 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 interrompem o processamento de tarefas.

Se você exceder o gasto máximo, vai receber uma notificação de alerta e um banner de restrição no console do Cloud Run. Para retomar as operações, é necessário remover ou ajustar o limite 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 Google Cloud gastos. Essas ferramentas ajudam você a monitorar os custos de uso, prever gastos e identificar oportunidades de economizar.

Explorador de custos

O Explorador de custos permite entender o custo e a utilização dos recursos. Use o Explorador de custos para:

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

Google Cloud calculadora de preços

A Google Cloud visão geral de preços contém informações para entender melhor o Google Cloud modelo de preços. É também onde você pode encontrar a lista de preços detalhada. É possível estimar os custos adicionando e configurando produtos usando 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 a mudança do faturamento baseado em solicitações para o faturamento baseado em instâncias, se for mais barato.

Otimização do Cloud Hub

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