Opções de implantação e modelo de recursos

Este guia descreve como o Cloud Run processa implantações, divididas em três áreas:

  • Tipos de implantação: o que você traz para o Cloud Run, como código-fonte ou imagens de contêiner.
  • Recursos do Cloud Run: o que sua implantação executa no Cloud Run (serviço, job, pool de workers ou instância).
  • Métodos de implantação: como você executa a implantação, por exemplo, usando o console Cloud de Confiance , a CLI gcloud, o YAML ou o Terraform.

Tipos de implantação

O Cloud Run oferece várias opções de implantação. Após a implantação, todas as implantações, execuções ou criações são executadas como instâncias de contêiner em sandbox na infraestrutura totalmente gerenciada e altamente escalonável do Cloud Run. A tabela a seguir mostra as opções de implantação compatíveis com cada tipo de recurso:

Opção de implantação Serviços Jobs
Imagens de contêiner implantáveis. Com suporte Com suporte
Implantar a partir do código-fonte Com suporte Com suporte
Implantar funções1 Com suporte —

Implantar imagens de contêiner

É possível implantar qualquer imagem de contêiner que siga o contrato de ambiente de execução de contêiner do Cloud Run em um serviço ou job

Recursos do Cloud Run

As seções a seguir descrevem os recursos do Cloud Run em mais detalhes.

Comparação de recursos do Cloud Run

Recurso Serviços Jobs
Caso de uso principal Orientado por solicitações (sites, APIs, microsserviços) Orientado a tarefas (scripts, processamento de dados, migrações)
Gatilho Solicitações HTTP/gRPC, Eventarc Modos de execução: padrão (imediato), atrasado.

Acionadores: execução manual, usando o Scheduler, usando o Workflows
Escalonamento Automático/manual: escalona para zero ou com base em solicitações Automático: escalona para N tarefas independentes que são executadas em sequência ou em paralelo.
Lifecycle Temporário, reduz a escala vertical quando inativo Dura até 7 dias (curta duração)
Endereçamento URL de serviço estável (com balanceamento de carga) Nenhum endpoint público.

URL interno para gatilhos (por exemplo, programador)
Tráfego de entrada HTTP/gRPC público/interno Nenhum
Faturamento Baseado em solicitações ou em instâncias Duração por execução

Serviços do Cloud Run

Um serviço é o tipo de recurso principal no Cloud Run, representando uma carga de trabalho orientada por solicitações que escalona automaticamente as instâncias de contêiner para processar o tráfego da Web, solicitações HTTP ou eventos recebidos. Cada serviço está localizado em uma região específica doCloud de Confiance by S3NS . Para oferecer redundância e failover, o Cloud Run replica automaticamente serviços em várias zonas de uma região. Um determinado Cloud de Confiance projeto pode executar muitos serviços em diferentes regiões.

Cada serviço expõe um endpoint exclusivo. Por padrão, o Cloud Run escalona automaticamente para processar as solicitações recebidas. Se necessário, você pode mudar o comportamento de escalonamento para escalonamento manual. É possível implantar um serviço de um contêiner, repositório ou código-fonte.

O diagrama a seguir mostra o modelo de recursos do Cloud Run para serviços:

Serviços e revisões do Cloud Run

O diagrama mostra um projeto Cloud de Confiance com três serviços do Cloud Run (Serviço A, Serviço B e Serviço C), cada um com várias revisões:

  • O serviço A está recebendo várias solicitações, então o Cloud Run iniciou várias instâncias para processar a carga. Cada uma dessas instâncias executa apenas um contêiner (o contêiner do aplicativo).
  • O serviço B não tem solicitações, então está inativo, e o Cloud Run não está executando nenhuma instância.
  • O serviço C tem solicitações e foi escalonado para lidar com a carga criando várias instâncias. Nesse caso, cada uma dessas instâncias executa um conjunto de vários contêineres. Em cada conjunto, apenas o contêiner de entrada recebe a solicitação, mas os outros contêineres ajudam a atender a ela.

Revisões de serviço do Cloud Run

Cada implantação em um serviço cria uma revisão. Uma revisão consiste em uma ou mais imagens de contêiner, além de configurações, como variáveis de ambiente, limites de memória ou valor de simultaneidade de solicitação.

Não é possível modificar uma revisão depois da criação. Por exemplo, quando você implanta uma imagem do contêiner em um novo serviço, o Cloud Run cria a primeira revisão. Se você implantar uma imagem de contêiner diferente no mesmo serviço, o Cloud Run vai criar uma segunda revisão. Se você definir uma variável de ambiente depois, o Cloud Run vai criar uma terceira revisão. Com o tempo, o Cloud Run remove as revisões não utilizadas.

O Cloud Run encaminha automaticamente as solicitações o quanto antes para a revisão de serviço íntegra mais recente.

Instâncias de serviço do Cloud Run

O Cloud Run escalona automaticamente cada revisão de serviço que recebe solicitações para o número de instâncias necessárias para lidar com todas elas. As instâncias podem receber muitas solicitações ao mesmo tempo. Com a configuração de simultaneidade de solicitações, é possível definir o número máximo de solicitações que podem ser enviadas em paralelo a cada instância de uma revisão.

Jobs do Cloud Run

Cada job está localizado em uma região Cloud de Confiance específica e consiste em uma ou mais tarefas que executam um ou mais contêineres até a conclusão. As tarefas de job são independentes e podem ser executadas em paralelo em uma determinada execução de job.

Execuções de job do Cloud Run

Quando você executa um job, o Cloud Run cria uma execução de job e inicia todas as tarefas. Todas as tarefas em uma execução de job precisam ser concluídas com êxito para que a execução seja bem-sucedida. É possível definir tempos limite em tarefas e especificar o número de novas tentativas em caso de falha de tarefas.

Se uma tarefa exceder o número máximo de novas tentativas, o Cloud Run vai marcar essa tarefa e o job como falha. Por padrão, as tarefas são executadas em paralelo até um máximo de 100, mas você pode especificar um máximo menor se algum dos recursos de apoio, como um banco de dados, exigir.

Tarefas de job do Cloud Run

Cada execução de job executa várias tarefas em paralelo, e cada tarefa executa uma instância. O Cloud Run tenta executar automaticamente todas as tarefas com falha novamente, dependendo da configuração do job para maxRetries.