it-swarm.dev

Qual é a diferença entre o Google Compute Engine, o App Engine e o Container Engine no Google Cloud?

Qual é a diferença real entre o Google Compute Engine, o App Engine e o Container Engine no Google Cloud Compute? Quando usar o que?

Existe algum bom exemplo para entender todos esses três mecanismos?

30
0xAliHn

(Isenção de responsabilidade: trabalho na equipe do Google Cloud Platform, mas esta é uma resposta pessoal.)

Todas essas são soluções que permitem hospedar seus aplicativos na nuvem. Você pode vê-los como uma espécie de espectro de controle/gerenciamento automático. Há também outra coisa a considerar: o App Engine vem em dois ambientes, "Padrão" e "Flexível".

Então o espectro acaba sendo:

  • Padrão do App Engine: tempos de execução limitados (Python, Java, PHP, Go), muito simples de instalar e executar, dimensionado automaticamente etc. APIs focadas projetadas especificamente para o App Engine.
  • App Engine Flexível: qualquer coisa que você possa colocar em um contêiner, dimensionado automaticamente etc.
  • Container Engine: você projeta seu aplicativo em termos de microsserviços, especifica como eles são dimensionados, etc., mas permite que o Container Engine (a implementação do Google Cloud Platform de Kubernetes ) realize o dimensionamento
  • Compute Engine: VMs hospedadas com benefícios, basicamente. Alguns recursos, como migração ao vivo, dimensionamento automático em Grupos de Instâncias Gerenciadas , mas é muito mais "bare metal" do que o descrito acima.

Basicamente, você precisa decidir o quão "prático" você quer ser. Quanto mais controle você decide, mais trabalho você tem que fazer, mas o ajuste (e flexibilidade) mais preciso você obtém.

Além disso, o App Engine Standard suporta "escalar para zero" - se o seu aplicativo não estiver recebendo tráfego, ele pode ficar completamente inativo. Isso o torna um ótimo ambiente para projetos de hobby.

67
Jon Skeet

O Compute Engine está mais no lado da infraestrutura. O App Engine é mais do lado do aplicativo. O Container Engine é mais um sistema de gerenciamento de cluster e orquestração de contêineres desenvolvido para executar e gerenciar contêineres do Docker.

0
Kervin L