Visão geral do App Engine

ID da região

O REGION_ID é um código abreviado que o Google atribui com base na região que você selecionou ao criar o aplicativo. O código não corresponde a um país ou estado, ainda que alguns IDs de região sejam semelhantes aos códigos de país e estado geralmente usados. Para apps criados após fevereiro de 2020, o REGION_ID.r está incluído nos URLs do App Engine. Para apps existentes criados antes dessa data, o ID da região é opcional no URL.

Saiba mais sobre IDs de região.

O aplicativo do App Engine é composto por um único recurso que inclui pelo menos um serviço. 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 quando você cria um recurso de aplicativo. O aplicativo do App Engine é um contêiner de nível superior que inclui os recursos de serviço, versão e instância que o compõem. Quando você cria esse aplicativo, todos os recursos são criados na região escolhida, incluindo o código do aplicativo e uma coleção de configurações, credenciais e metadados associados a ele. Saiba mais sobre "recursos de aplicativo" (padrão | flexível) e em que regiões eles podem ser criados.

Cada aplicativo do App Engine inclui pelo menos um serviço, o serviço default, que pode conter muitas versões, dependendo do status de faturamento do aplicativo. Veja mais informações abaixo em Limites.

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 são executadas ativamente em diversas instâncias:

Gráfico hierárquico dos serviços, versões e instâncias de um aplicativo

Outros serviços do Google Cloud, como o Datastore, são compartilhados no aplicativo do App Engine. Para mais informações, consulte "Como estruturar serviços da Web" (padrão | flexível).

Serviços

Use serviços no App Engine para dividir aplicativos grandes em componentes lógicos que compartilhem os recursos do App Engine com segurança e estabeleçam comunicação entre si. Os serviços do App Engine geralmente funcionam como microsserviços. Por isso, é possível executar todo o aplicativo em um único serviço ou projetar e implantar vários serviços para execução 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, são criadas outras versões nesse mesmo serviço.

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. É possível rotear todo o tráfego para uma versão específica do aplicativo fazendo a " migração do tráfego" (padrão | flexível) ou roteá-lo para várias versões do aplicativo fazendo a "divisão do tráfego" (padrão | flexível).

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 mais informações sobre instâncias, consulte "Como as instâncias são gerenciadas" (padrão | flexível).

No ambiente flexível do App Engine, as instâncias são apoiadas pelos recursos do Compute Engine. Alguns dos recursos usados pelas instâncias no ambiente flexível do App Engine, como disco, CPU e memória, são contabilizados nas cotas da API Compute Engine do seu projeto. Para mais detalhes sobre como o App Engine usa os recursos do Compute Engine, consulte a visão geral do ambiente flexível do App Engine.

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 direcionar e encaminhar o tráfego para recursos específicos com o uso de URLs. Por exemplo:

https://VERSION-dot-SERVICE-dot-PROJECT_ID.REGION_ID.r.appspot.com

As solicitações recebidas dos usuários são encaminhadas para versões ou serviços configurados para processar o tráfego. Também é possível direcionar e encaminhar solicitações para versões e serviços específicos. Para mais informações, consulte "Comunicação entre serviços" (padrão | flexível).

Como registrar solicitações de aplicativos

Ao lidar com uma solicitação, o aplicativo pode gravar as próprias mensagens de registro em stdout e stderr. Para detalhes sobre os registros do aplicativo, consulte "Como gravar registros do aplicativo" (padrão | flexível).

Limites

Os ambientes flexível e padrão compartilham os mesmos limites de serviços e versões. Por exemplo, se você tiver versões padrão e versões flexíveis no mesmo aplicativo, elas serão contabilizadas com relação ao mesmo limite. Para detalhes, consulte "Cotas e limites" (padrão | flexível).