Se você já usou o Google App Engine, você sabe que é uma das formas mais rápidas de obter a partir da idéia de trabalhar protótipo., Desde que você esteja em conformidade com as restrições do sandbox, você não precisa configurar servidores, instalar pacotes, ou fazer qualquer uma das tarefas tediosas do DevOps que o atrasam.
com a introdução do ambiente flexível motor App (anteriormente conhecido como gerenciado VMs), o Google levantou muitas das restrições sandbox e adicionou mais tempo de execução embutido, incluindo Node.js e Ruby. Você pode mesmo personalizar tudo, especificando o seu próprio Dockerfile!
veja a comparação aqui.no entanto, esta flexibilidade tem um preço., O ambiente flexível é mais lento de implantar e não pode escalar tão rapidamente quanto o ambiente padrão. A implantação padrão também é exagero para prototipagem.
A maior diferença na minha opinião é a falta de ” escala a zero.”Com App Engine Standard, se ninguém está usando sua aplicação, ele desliga tudo. No momento em que um usuário visita, o motor do aplicativo gira acima de uma instância em milisegundos para atender o novo pedido. Combinado com o generoso nível livre, você realmente não tem que se preocupar com os custos de infraestrutura para protótipos., Actualmente, o ambiente flexível necessita de pelo menos uma instância a funcionar para servir o tráfego e não existe um nível livre.
vamos dar uma olhada em algumas boas práticas para prototipagem com o ambiente flexível que pode minimizar o custo.
2019 Update: é altamente recomendável usar a execução em nuvem em vez de Flex motor App para a maioria das tarefas. Na minha opinião, ele mistura o melhor do App Engine Standard (pay per use, scale to zero) com App Engine Flex (flexibility, Dockerfiles). A única grande vantagem que Flex tem é o tamanho de instância maior.,
let’s launch a Node.aplicação js no ambiente flexível do motor do aplicativo. A aplicação por omissão.yaml é algo como isto:
runtime: nodejs
env: flex
Implantá-lo com a gcloud comando:
$ gcloud app deploy
Após a implantação do aplicativo, nós podemos confira as “Instâncias” seção do App Engine para ver o seguinte:
Por padrão, lança dois n1-padrão-1 VMs., Isto é projetado para proporcionar maior confiabilidade.vamos ver o custo mensal para esta implantação. Configurei esta implementação padrão na Calculadora de preços do Google Cloud aqui.são mais de 80 dólares por mês!enquanto este preço seria bom se você estivesse servindo o tráfego de produção, é bastante ridículo na fase de prototipagem.
Passo 1: Reduzir o número de instâncias
podemos reduzir o nosso custo para metade, lançando uma instância em vez de duas. Faça isso ativando a escala manual (você não precisa de auto-escala para um protótipo) e configurando as instâncias para 1., Você pode ler mais sobre escala aqui.
modifique a aplicação.yaml:
runtime: nodejs
env: flex
manual_scaling:
instances: 1
Isto irá reduzir o nosso custo de cerca de $80 para $40! Boa!