Como desenvolver seu serviço

Nesta página, descrevemos alguns itens que você precisa conhecer para começar a desenvolver um serviço para o Cloud Run.

Exigências de código

Atenda aos requisitos a seguir ao desenvolver um serviço:

  • O serviço precisa detectar solicitações. É possível configurar a porta em que as solicitações são enviadas. Dentro das instâncias de contêiner do Cloud Run, o valor da variável de ambiente PORT sempre reflete a porta para a qual as solicitações são enviadas. O código precisa verificar a existência da variável de ambiente PORT e, se ela estiver presente, detectá-la para maximizar a portabilidade.
  • O serviço precisa ser do tipo sem estado. Ele não pode depender de um estado local permanente.
  • Se o serviço executa atividades em segundo plano fora do escopo do processamento de solicitações, ele precisa usar a configuração Faturamento baseado em instância para ter a CPU alocada fora do ciclo de solicitação padrão.
  • Se o serviço usa um sistema de arquivos de rede, ele precisa utilizar o ambiente de execução da segunda geração.

Confira mais detalhes sobre essas restrições no Contrato do ambiente de execução do contêiner.

Compatibilidade com linguagens de programação

A implantação de origem do Cloud Run oferece suporte a vários ambientes de execução de linguagem, cada um disponível por imagens de base de contêiner fornecidas pelos buildpacks do Google Cloud. Você também pode usar outras linguagens de programação ou frameworks, desde que o código-fonte esteja em uma imagem compatível com o OCI.

Os guias de início rápido de criação e implantação fornecem amostras em muitas linguagens conhecidas.

Como usar um servidor da Web

Use um servidor da Web para realizar detecções na porta necessária, bem como para processar e rotear solicitações recebidas. Por exemplo, os desenvolvedores do Node.js podem usar o Express.js, os desenvolvedores do Python podem usar o Flask, os desenvolvedores do Ruby podem usar o Sinatra, e assim por diante.

Como contentorizar seu código

Consulte Conteinerizar seu código para mais detalhes.

A seguir