Sobre ambientes de execução

Por padrão, os serviços do Cloud Run operam no ambiente de execução de primeira geração, que apresenta tempos de inicialização a frio rápidas e emulação da maioria, mas não de todas as chamadas de sistema operacional. Originalmente, esse era o único ambiente de execução disponível para serviços no Cloud Run.

O ambiente de execução de segunda geração fornece compatibilidade total com o Linux em vez de emulação de chamada do sistema. Esse ambiente de execução fornece:

  • Desempenho mais rápido da CPU
  • Desempenho de rede mais rápido, principalmente na presença de perda de pacotes
  • Compatibilidade total com Linux, incluindo compatibilidade com todas as chamadas do sistema, namespaces e cgroups
  • Compatibilidade com sistemas de arquivos de rede

Durante a visualização, embora o ambiente de execução de segunda geração geralmente tenha um desempenho mais rápido sob carga sustentada, ele tem tempos de inicialização a frio mais longos do que a primeira geração.

É possível especificar o ambiente de execução do serviço do Cloud Run ao implantar um novo serviço ou uma nova revisão do serviço. Se você não especificar um ambiente de execução, a primeira geração será usada por padrão.

Como escolher um ambiente de execução

Use a primeira geração se uma das seguintes condições se aplicar:

  • O serviço do Cloud Run tem um tráfego de bursts e precisa ser escalonado rapidamente para muitas instâncias de contêiner.
  • O serviço do Cloud Run tem tráfego pouco frequente que faz com que o escalonamento horizontal não seja frequente.
  • Você quer usar menos de 512 MiB de memória. O ambiente de execução de segunda geração requer pelo menos 512 MiB de memória.

As inicializações a frio são mais rápidas na primeira geração em comparação com a segunda, embora a segunda gere essa lacuna de desempenho no final da visualização.

Use a segunda geração se uma das seguintes condições se aplicar ao serviço do Cloud Run:

  • Seu serviço precisa usar um sistema de arquivos de rede, que só é compatível com a segunda geração.
  • Seu serviço tem tráfego bastante estável e inicializações a frio são raras.
  • O serviço tem cargas de trabalho com uso intensivo da CPU.
  • Seu serviço pode se beneficiar com um desempenho de rede mais rápido.
  • Seu serviço precisa usar um software que tenha problemas para ser executado na primeira geração devido a chamadas do sistema não implementadas.
  • Seu serviço precisa da funcionalidade cgroup do Linux.

A seguir