Uma visão geral do App Engine

Um aplicativo do App Engine é composto por um único recurso de aplicativo que consiste em um ou mais serviços. Cada serviço pode ser configurado para usar diferentes ambientes de execução e operar com diferentes configurações de desempenho. Em cada serviço são implantadas versões desse serviço. Cada versão é executada em uma ou mais instâncias, dependendo do volume de tráfego que você configurou para processar.

Componentes de um aplicativo

O aplicativo do App Engine é criado no projeto do Google Cloud Platform quando você cria um recurso de aplicativo. Um aplicativo do App Engine é um contêiner de nível mais alto que inclui os recursos de serviço, de versão e de instância que compõem seu aplicativo. Quando você cria o aplicativo do App Engine, todos os seus recursos são criados na região escolhida, inclusive o código do aplicativo com um conjunto de configurações, credenciais e metadados dele.

Cada aplicativo do App Engine inclui pelo menos um serviço, o default, que pode conter quantas versões você quiser desse serviço.

No diagrama a seguir, veja a hierarquia de um aplicativo do App Engine em execução com vários serviços. Neste diagrama, o aplicativo tem dois serviços com várias versões. Duas delas executadas ativamente em diversas instâncias:

Gráfico da hierarquia de serviços, versões e instâncias de um aplicativo

Outros serviços do GCP (como, por exemplo, o Cloud Datastore) são compartilhados em todo o aplicativo do App Engine. Para saber mais, consulte Como estruturar serviços da Web.

Serviços

Use serviços no App Engine para dividir aplicativos grandes em componentes lógicos que compartilham os recursos do App Engine com segurança e estabelecem comunicação entre si. Geralmente, os serviços do App Engine se comportam como microsserviços. Portanto, é possível executar todo o aplicativo em um único serviço ou projetar e implantar vários serviços para serem executados como um conjunto de microsserviços.

Por exemplo, um aplicativo que processa solicitações de clientes pode incluir serviços separados que processam tarefas diferentes, como:

  • solicitações de API de dispositivos móveis;
  • solicitações internas do tipo de administração;
  • processamento de back-end, como canais de faturamento e análise de dados.

No App Engine, cada serviço consiste no código-fonte do aplicativo e nos arquivos de configuração do App Engine correspondentes. O conjunto de arquivos implantado em um serviço representa uma única versão desse serviço. Toda vez que você implanta arquivos nele, outras versões dentro desse mesmo serviço são criadas.

Versões

Ter várias versões do seu aplicativo em cada serviço permite alternar rapidamente entre diferentes versões dele para reversões, testes ou outros eventos temporários. Migre ou divida o tráfego para roteá-lo a uma ou mais versões específicas do aplicativo.

Instâncias

As versões nos serviços são executadas em pelo menos uma instância. Por padrão, o App Engine dimensiona seu aplicativo para corresponder à carga. Os aplicativos aumentarão o número de instâncias em execução para oferecer desempenho consistente ou diminuirão esse número para minimizar instâncias ociosas e reduzir custos. Para saber mais sobre instâncias, consulte Como as instâncias são gerenciadas.

Solicitações de aplicativos

Cada serviço do aplicativo e cada versão desses serviços precisa ter um nome exclusivo, que pode ser usado para segmentar e direcionar o tráfego para recursos específicos com o uso de URLs. Por exemplo:

http://my-version.my-service.my-project-id.appspot.com
https://my-version-dot-my-service-dot-my-project-id.appspot.com

As solicitações recebidas dos usuários são direcionadas para versões ou serviços configurados para processar o tráfego. Também é possível apontar e encaminhar solicitações para serviços e versões específicos. Para mais informações, consulte Como fazer a comunicação entre serviços.

Como gerar registros de solicitações de aplicativos

Ao processar uma solicitação, o aplicativo também pode gravar as próprias mensagens de geração de registros em stdout e stderr. Consulte Como gravar registros de aplicativos para saber mais detalhes sobre eles.

Limites

A quantidade de serviços, versões e instâncias (para serviços com escalonamento manual) para cada aplicativo é limitada:

Descrição Limite
Número máximo de serviços por aplicativo 5
Número máximo de versões por aplicativo 5*
Número máximo de instâncias por versão com escalonamento manual 20

*Os serviços de back-end, como o usado por um balanceador de carga HTTP externo, podem contabilizar para o limite máximo de versões.

Os limites acima não se aplicam a todos os projetos. À medida que o uso do Google Cloud Platform aumenta, os limites também podem ser ampliados. Se você pretende aumentar significativamente o uso em um futuro próximo, solicite ajustes na página "Cotas" do App Engine no Console do GCP.

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Ambiente flexível do App Engine para documentos .NET