Como as instâncias são gerenciadas

Instâncias são as unidades computacionais que o App Engine usa para realizar o dimensionamento automático do aplicativo. Em qualquer momento, o aplicativo pode estar em execução em uma ou várias instâncias, com solicitações espalhadas por todas elas.

Suas instâncias com dimensionamento manual e básico devem ser executadas indefinidamente. No entanto, não há garantia para o tempo de atividade. Falhas de hardware ou software que causam o encerramento antecipado ou reinícios frequentes podem ocorrer sem qualquer aviso e levar muito tempo para serem solucionadas.

Todas as instâncias flexíveis são reiniciadas semanalmente. Durante os reinícios, atualizações críticas e compatíveis com versões anteriores são automaticamente implementadas no sistema operacional subjacente. A imagem do aplicativo permanecerá a mesma durante os reinícios.

Verificação de integridade

O App Engine envia solicitações periódicas de verificação de integridade para confirmar que uma instância foi implantada com êxito, além de verificar se uma instância em execução mantém um status de integridade. Todas as verificações de integridade precisam ser respondidas dentro de um intervalo de tempo especificado. Uma instância apresenta problemas na integridade quando não responde a um número especificado de solicitações de verificação de integridade consecutivas. Uma instância com problemas na integridade não receberá qualquer solicitação de clientes, mas as verificações de integridade ainda assim serão enviadas. Se uma instância com problemas de integridade continuar a falhar ao responder a um número predeterminado de verificações de integridade consecutivas, ela será reiniciada.

Existem dois tipos de verificações de integridade: atualizadas e legadas. As solicitações de verificação de integridade atualizadas são ativadas por padrão e têm valores limite padrão. Você pode personalizar a verificação de integridade adicionando uma seção opcional ao arquivo app.yaml do aplicativo. Também é possível desativar totalmente as verificações de integridade.

Qualquer que seja o tipo de verificação de integridade usada, um aplicativo íntegro deve responder com um código de status HTTP de 200.

Como monitorar o uso de recursos

Na página "Instâncias" do Console do GCP, você tem visibilidade sobre o desempenho das instâncias. Nela, é possível ver o uso que cada instância faz da memória e da CPU, bem como o tempo de atividade, o número de solicitações e outras estatísticas. Você também pode iniciar manualmente o processo de encerramento de qualquer instância.

Local da instância

As instâncias são localizadas automaticamente por região geográfica, de acordo com as configurações do projeto.

Dimensionamento de instâncias

Durante a execução de um aplicativo, as solicitações recebidas são encaminhadas para uma instância existente ou nova do serviço ou versão apropriada. O tipo de dimensionamento de um serviço ou versão controla como as instâncias são criadas. As configurações de dimensionamento estão configuradas no arquivo app.yaml. Há dois tipos de dimensionamento:

Dimensionamento manual
Um serviço com dimensionamento manual usa instâncias residentes que executam continuamente o número especificado de instâncias, qualquer que seja o nível de carga. Isso permite a realização de tarefas como inicializações complexas e a execução de aplicativos que dependem do estado da memória ao longo do tempo.
Dimensionamento automático
Os serviços de dimensionamento automático usam instâncias dinâmicas criadas com base na taxa de solicitações, nas latências de resposta e em outras métricas do aplicativo. No entanto, se você especificar um número de instâncias ociosas mínimas, esse número especificado de instâncias será executado como instâncias residentes enquanto quaisquer outras instâncias serão dinâmicas.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentos do ambiente flexível do App Engine para Python