Como arquiteto de nuvem ou administrador de TI, ao planejar executar um aplicativo no Compute Engine, você precisa projetar uma topologia de VM que possa ser provisionada e operada com eficiência.
O Compute Engine oferece diversas opções de implantação: por exemplo, você pode implantar um grupo de VMs gerenciadas como uma entidade única ou provisionar e gerenciar as VMs como recursos individuais. Cada abordagem tem méritos e limitações distintos. Como você escolhe uma estratégia de implantação ideal?
- Comece avaliando os principais requisitos da sua aplicação.
- Revise as opções de implantação disponíveis e seus méritos relativos.
- Selecione uma estratégia que atenda aos seus requisitos e aproveite ao máximo os recursos do Compute Engine.
Avalie sua carga de trabalho
Use as perguntas a seguir para analisar os principais requisitos da carga de trabalho que você deseja implantar. Suas respostas ajudarão você a mapear os recursos de cada opção de implantação (listada na próxima seção) de acordo com os requisitos da sua carga de trabalho.
Estado do aplicativo
O aplicativo tem estado?
- Um aplicativo com estado armazena determinados dados, como o ID do cliente ou da sessão, até que esses dados não sejam mais necessários. Por exemplo, em um aplicativo de compras on-line, o serviço de carrinho de compras pode armazenar detalhes de itens que são adicionados ou removidos à medida que o usuário continua comprando e persistir no estado final do carrinho quando o usuário inicia o processo de finalização da compra.
- Um aplicativo sem estado não precisa armazenar nenhum dado de cliente, transação ou sessão. Por exemplo, um servidor web pode fechar uma sessão após servir o conteúdo solicitado pelo cliente.
Para saber mais sobre aplicativos com e sem estado, consulte Como as cargas de trabalho com estado são diferentes das cargas de trabalho sem estado .
Algum metadado específico da instância deve ser preservado quando as VMs forem reinicializadas ou quando o Compute Engine recriar (recuperar automaticamente) as VMs?
Provisionamento
- As VMs devem usar uma combinação de tipos de máquinas ou imagens? Por exemplo, algumas VMs precisam de tipos de máquinas com otimização de memória enquanto outras usam tipos de máquinas de uso geral?
- A infraestrutura deve ser dimensionada automaticamente em sintonia com as mudanças na carga, para que você mantenha um equilíbrio ideal entre custo e tempo de resposta?
- Todas as VMs podem ser executadas em uma única zona, rede VPC e sub-rede?
- O aplicativo deve ser executado na mesma zona que outros recursos? Por exemplo, a aplicação requer uma conexão de baixa latência com um banco de dados?
Operações
- Quer gerenciar as VMs como um único grupo? Por exemplo, você gostaria de automatizar a implementação de atualizações de aplicativos em todas as VMs?
- Você precisa usar uma ferramenta personalizada ou de terceiros para gerenciar as VMs?
- Você precisa de controle sobre como lidar com VMs com falha? Por exemplo, se uma VM falhar, você gostaria que ela permanecesse parada enquanto você determina a causa raiz da falha?
- Você precisa de controle sobre a sequência ou programação start-stop-suspend-resume de suas VMs? Por exemplo, para economizar custos, você planeja parar as VMs durante os finais de semana ou em determinadas horas do dia?
Resiliência
- O aplicativo precisa de proteção contra falhas zonais? Em outras palavras, se uma zona estiver inativa, você gostaria que o aplicativo continuasse atendendo solicitações de VMs em outras zonas da região?
- Se uma VM parar ou falhar por algum motivo, ou se o aplicativo não responder às solicitações, o Compute Engine deverá recriar a VM automaticamente?
- O aplicativo precisa de endereços IP internos ou externos fixos para as VMs host?
Agora que você avaliou seus requisitos, conheça as opções de implantação que o Compute Engine oferece.
Revise as opções de implantação disponíveis
Revise e entenda os recursos e as vantagens relativas das opções que você pode considerar para implantar suas cargas de trabalho no Compute Engine.
- VMs autônomas
- Com esta opção, você escolhe o tipo de máquina, a imagem, os discos e outros atributos individualmente para cada VM provisionada. E você gerencia as VMs como recursos separados.
- Grupo de instâncias não gerenciadas
- Você pode provisionar VMs autônomas e adicioná-las a um grupo de instâncias. Você pode então usar o grupo de instâncias não gerenciadas como back-end para um balanceador de carga.
- Grupo de instâncias gerenciadas (MIG)
Um MIG é um grupo de instâncias idênticas ou configuradas de forma semelhante que você provisiona usando um modelo de instância .
Você pode tornar um MIG stateful , para que discos ou metadados específicos sejam preservados.
Para um MIG sem estado , você pode habilitar o escalonamento automático e configurar uma política de escalonamento.
Ao criar um MIG, você pode optar por implantar as VMs em uma única zona ou distribuí-las em mais de uma zona em uma região para obter alta disponibilidade.
A tabela a seguir resume os principais recursos de cada opção de implantação.
Capacidade | VMs autônomas | Grupo de instâncias não gerenciadas | MIG com estado | MIG apátrida |
---|---|---|---|---|
Provisionamento baseado em modelo de um grupo de VMs | ||||
Mistura de tipos de máquinas e imagens | ||||
Endereços IP internos ou externos fixos | ||||
Recuperação automática de VMs com falha | ||||
Controle sobre operações de início-parada e suspensão-retomada da VM | ||||
Configurando um grupo de VMs como back-end do balanceador de carga | ||||
Preservação de disco e metadados para cargas de trabalho com estado | ||||
Atualização controlada de VMs específicas | ||||
Atualização contínua automática de todas as VMs | ||||
Dimensionamento horizontal automático (e preditivo) |
Os diagramas a seguir mostram exemplos de implantações lado a lado para ajudar você a entender as principais diferenças.
VMs autônomas | MIG com estado | MIG apátrida |
---|---|---|
Este exemplo mostra três VMs criadas individualmente. | Este exemplo mostra um MIG contendo três VMs configuradas de forma semelhante, provisionadas usando um modelo de instância. | Este exemplo mostra um MIG contendo três VMs idênticas, provisionadas usando um modelo de instância. |
|
|
|
Agora você avaliou sua carga de trabalho, revisou as opções de implantação que o Compute Engine oferece e está pronto para escolher uma abordagem de implantação.
Selecione uma estratégia de implantação
As recomendações discutidas aqui são baseadas em um mapeamento de características específicas da carga de trabalho para os recursos de cada opção de implantação do Compute Engine.
Use o seguinte fluxo de tomada de decisão. Se preferir um guia visual, consulte a árvore de decisão posteriormente neste documento.
Escolha entre VMs autônomas e grupos de instâncias.
Requisitos Estratégia de implantação recomendada Pelo menos um dos requisitos a seguir é essencial para sua carga de trabalho. - O aplicativo deve ser executado em VMs que usam uma combinação de tipos de máquinas ou imagens.
- O aplicativo precisa de endereços IP internos ou externos fixos para as VMs host.
- Você precisa de controle sobre o tratamento de VMs com falha.
- Você precisa de controle sobre as operações de início-parada ou suspensão-retomada de suas VMs.
- Você precisa usar um script personalizado ou uma ferramenta de terceiros para provisionar e remover VMs.
Escolha VMs autônomas.
Se todas as VMs autônomas puderem ser executadas em uma única zona, rede VPC e sub-rede, considere adicionar as VMs a um grupo de instâncias não gerenciadas. Você pode então usar o grupo de instâncias não gerenciadas como back-end para um balanceador de carga.
Ignore o restante deste fluxo de tomada de decisão.
Nenhum dos requisitos acima é essencial para o seu caso de uso. Use um MIG para configurar uma topologia do Compute Engine que seja fácil de gerenciar, altamente disponível e escalonável.
Prossiga para a próxima etapa.
Escolha entre um MIG com estado e sem estado.
Requisitos Tipo MIG recomendado O aplicativo requer preservação de disco e metadados; ou seja, o aplicativo tem estado. Escolha um MIG com estado e configure os discos que o Compute Engine deve preservar durante eventos disruptivos, como recriação de VM, recuperação automática e atualizações.
Prossiga para a próxima etapa.
O aplicativo não tem estado. Escolha um MIG sem estado e aproveite o recurso de escalonamento automático. Durante operações disruptivas, o Compute Engine recria discos de acordo com o modelo de instância.
Prossiga para a próxima etapa.
Escolha entre um MIG zonal e regional.
Requisitos Tipo MIG recomendado O aplicativo deve ser executado em uma única zona ou a proteção contra falhas zonais não será essencial. Escolha um MIG zonal. O aplicativo deve continuar em execução mesmo quando ocorre uma falha zonal. Escolha um MIG regional.
Árvore de decisão
O diagrama a seguir orienta você nos fatores a serem considerados ao decidir sua estratégia de implantação do Compute Engine:
O que vem a seguir
- Saiba mais sobre modelos de instância .
- Saiba como funcionam os MIGs com estado .
- Saiba mais sobre MIGs regionais .
- Crie um MIG .
- Grupos de instâncias de escalonamento automático .
- Migre uma carga de trabalho existente para um MIG com estado .