Enquanto arquiteto de nuvem ou administrador de TI, quando planeia executar uma aplicação no Compute Engine, tem de criar uma topologia de VM que possa aprovisionar e operar de forma eficiente.
O Compute Engine oferece uma variedade de opções de implementação: por exemplo, pode implementar um grupo de VMs que gere como uma única entidade ou pode aprovisionar e gerir as VMs como recursos individuais. Cada abordagem tem vantagens e limitações distintas. Como escolhe uma estratégia de implementação ideal?
- Comece por avaliar os principais requisitos da sua candidatura.
- Reveja as opções de implementação disponíveis e as respetivas vantagens relativas.
- Selecione uma estratégia que cumpra os seus requisitos e tire o máximo partido das capacidades do Compute Engine.
Avalie a sua carga de trabalho
Use as seguintes perguntas para analisar os principais requisitos da carga de trabalho que quer implementar. As suas respostas ajudam a mapear as capacidades de cada opção de implementação (indicadas na secção seguinte) para os requisitos da sua carga de trabalho.
Estado da aplicação
A aplicação tem estado?
- Uma aplicação com estado armazena determinados dados, como o cliente ou o ID da sessão, até que esses dados deixem de ser necessários. Por exemplo, numa app de compras online, o serviço de carrinho de compras pode armazenar detalhes dos artigos que são adicionados ou removidos à medida que o utilizador continua a fazer compras e manter o estado final do carrinho quando o utilizador inicia o processo de pagamento.
- Uma aplicação sem estado não precisa de armazenar dados de clientes, transações nem sessões. Por exemplo, um servidor Web pode fechar uma sessão depois de publicar o conteúdo que o cliente pediu.
Para saber mais sobre aplicações com estado e sem estado, consulte o artigo Como as cargas de trabalho com estado são diferentes das cargas de trabalho sem estado.
Os metadados específicos da instância devem ser preservados quando as VMs são reiniciadas ou quando o Compute Engine recria (autorrepara) as VMs?
Aprovisionamento
- As VMs devem usar uma combinação de tipos de máquinas ou imagens? Por exemplo, algumas VMs precisam de tipos de máquinas otimizados para memória, enquanto outras usam tipos de máquinas de uso geral?
- A infraestrutura deve ser dimensionada automaticamente de acordo com as alterações na carga, para que mantenha um equilíbrio ideal entre o custo e o tempo de resposta?
- Todas as VMs podem ser executadas numa única zona, rede VPC e sub-rede?
- A aplicação deve ser executada na mesma zona que outros recursos específicos? Por exemplo, a aplicação requer uma ligação de baixa latência a uma base de dados?
Operações
- Quer gerir as VMs como um único grupo? Por exemplo, quer automatizar a implementação de atualizações de aplicações em todas as VMs?
- Precisa de usar uma ferramenta personalizada ou de terceiros para gerir as VMs?
- Precisa de controlo sobre o processamento de VMs com falhas? Por exemplo, se uma VM falhar, quer que permaneça parada enquanto determina a causa principal da falha?
- Precisa de controlo sobre a sequência de início, paragem, suspensão e retoma ou programação das suas VMs? Por exemplo, para poupar custos, planeia parar as VMs durante os fins de semana ou em determinadas horas do dia?
Resiliência
- A aplicação precisa de proteção contra falhas zonais? Por outras palavras, se uma zona estiver inativa, quer que a aplicação continue a processar pedidos de VMs noutras zonas da região?
- Se uma VM parar ou falhar por qualquer motivo, ou se a aplicação não responder a pedidos, o Compute Engine deve recriar a VM automaticamente?
- A aplicação precisa de endereços IP internos ou externos fixos para as VMs de anfitrião?
Agora que avaliou os seus requisitos, saiba mais sobre as opções de implementação que o Compute Engine oferece.
Reveja as opções de implementação disponíveis
Reveja e compreenda as funcionalidades e as vantagens relativas das opções que pode considerar para implementar as suas cargas de trabalho no Compute Engine.
- VMs autónomas
- Com esta opção, escolhe o tipo de máquina, a imagem, os discos e outros atributos individualmente para cada VM que aprovisiona. Além disso, gere as VMs como recursos separados.
- Grupo de instâncias não gerido
- Pode aprovisionar VMs autónomas e adicioná-las a um grupo de instâncias. Em seguida, pode usar o grupo de instâncias não gerido como um back-end para um equilibrador de carga.
- Grupo de instâncias geridas (GIG)
Um GIG é um grupo de instâncias idênticas ou configuradas de forma semelhante que aprovisiona através de um modelo de instância.
Pode tornar um MIG com estado, para que os discos ou os metadados específicos sejam preservados.
Para um MIG sem estado, pode ativar o dimensionamento automático e configurar uma política de dimensionamento.
Ao criar um MIG, pode optar por implementar as VMs numa única zona ou distribuí-las por mais do que uma zona numa região para ter uma elevada disponibilidade.
A tabela seguinte resume as principais funcionalidades de cada opção de implementação.
Capacidade | VMs autónomas | Grupo de instâncias não gerido | MIG com estado | GMIG sem estado |
---|---|---|---|---|
Aprovisionamento baseado em modelos de um grupo de VMs | ||||
Mistura de tipos de máquinas e imagens | ||||
Fixos internos ou externos endereços IP | ||||
Recuperação automática de VMs com falhas | ||||
Controlo sobre as operações de início/paragem e suspensão/retoma da VM | ||||
Definir um grupo de VMs como um back-end do balanceador de carga | ||||
Preservação de discos 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 | ||||
Escala horizontal automática (e preditiva) |
Os diagramas seguintes mostram implementações de exemplo lado a lado para ajudar a compreender as principais diferenças.
VMs autónomas | MIG com estado | GMIG sem estado |
---|---|---|
Este exemplo mostra três VMs criadas individualmente. | Este exemplo mostra um MIG que contém três VMs configuradas de forma semelhante, aprovisionadas através de um modelo de instância. |
Este exemplo mostra um MIG que contém três VMs idênticas, aprovisionadas através de um modelo de instância. |
|
|
|
|
|
|
Agora, avaliou a sua carga de trabalho, reviu as opções de implementação que o Compute Engine oferece e está pronto para escolher uma abordagem de implementação.
Selecione uma estratégia de implementação
As recomendações abordadas aqui baseiam-se num mapeamento das características específicas da carga de trabalho para as capacidades de cada opção de implementação do Compute Engine.
Use o seguinte fluxo de tomada de decisões. Se preferir um guia visual, consulte a árvore de decisões mais adiante neste documento.
Escolha entre VMs autónomas e grupos de instâncias.
Requisitos Estratégia de implementação recomendada Pelo menos um dos seguintes requisitos é essencial para a sua carga de trabalho. - A aplicação tem de ser executada em VMs que usam uma combinação de tipos de máquinas ou imagens.
- A aplicação precisa de endereços IP internos ou externos fixos para as VMs do anfitrião.
- Precisa de controlo sobre o processamento de VMs com falhas.
- Precisa de ter controlo sobre as operações de iniciar/parar ou suspender/retomar das suas VMs.
- Tem de usar um script personalizado ou uma ferramenta de terceiros para aprovisionar e remover VMs.
Escolha VMs autónomas.
Se todas as VMs autónomas puderem ser executadas numa única zona, rede VPC e sub-rede, considere adicionar as VMs a um grupo de instâncias não gerido. Em seguida, pode usar o grupo de instâncias não gerido como um back-end para um equilibrador de carga.
Ignorar o resto deste fluxo de tomada de decisões.
Nenhum dos requisitos acima é essencial para o seu exemplo de utilização. Use um MIG para configurar uma topologia do Compute Engine fácil de gerir, altamente disponível e escalável.
Continue para o passo seguinte.
Escolha entre um MIG com estado e sem estado.
Requisitos Tipo de MIG recomendado A aplicação requer a preservação do disco e dos metadados, ou seja, a aplicação tem estado. Escolha um GIG com estado e configure os discos que o Compute Engine deve preservar durante eventos disruptivos, como a recriação de VMs, a autorreparação e as atualizações.
Continue para o passo seguinte.
A aplicação não tem estado. Escolha um MIG sem estado e tire partido da capacidade de escalamento automático. Durante as operações disruptivas, o Compute Engine recria os discos de acordo com o modelo de instância.
Continue para o passo seguinte.
Escolha entre um MIG zonal e regional.
Requisitos Tipo de MIG recomendado A aplicação tem de ser executada numa única zona ou a proteção contra falhas zonais não é essencial. Escolha um MIG zonal. A aplicação tem de continuar a ser executada mesmo quando ocorre uma falha zonal. Escolha um MIG regional.
Árvore de decisões
O diagrama seguinte explica os fatores a ter em conta ao decidir a sua estratégia de implementação do Compute Engine:
O que se segue?
- Saiba mais acerca dos modelos de instâncias.
- Saiba como funcionam os MIGs com estado.
- Saiba mais sobre os MIGs regionais.
- Crie um MIG.
- Dimensionar automaticamente grupos de instâncias.
- Migre uma carga de trabalho existente para um MIG com estado.