O Google Cloud Platform (GCP) ficou visivelmente atrás do AWS e do Azure na entrada no mercado com uma plataforma de computação em nuvem. Apesar disso, as porcentagens de crescimento do GCP foram maiores do que as do AWS, pois as empresas estão começando a considerar algumas das vantagens que o GCP oferece em relação ao AWS e ao Azure. Por exemplo, somente o GCP permite que você execute recursos em diferentes regiões do mundo na mesma rede privada por padrão. Isso significa que não é necessário vincular regiões por meio de VPN e que seu tráfego global nunca entra em contato com a Internet pública.
Estamos vendo mais clientes potenciais e clientes do Couchbase explorando e usando o GCP. Temos uma excelente documentação do Couchbase sobre como começar a usar o Couchbase no GCP para ajudar você:
- Ofertas do Couchbase no GCP Marketplace
- Implantar o Couchbase Server usando o GCP Marketplace
- Práticas recomendadas para executar o Couchbase no Google Compute Engine
Práticas recomendadas de alta disponibilidade
Embora as referências acima o ajudem a colocar um cluster em funcionamento, achei que seria útil abordar algumas noções básicas sobre o emprego de algumas práticas recomendadas de alta disponibilidade para o seu cluster do Couchbase no GCP, aproveitando nosso recurso Server Group Awareness e os recursos do Cross Data Center (XDCR) que estão disponíveis imediatamente em todas as instalações do Couchbase Server.
Conscientização do grupo de servidores oferece disponibilidade aprimorada ao fornecer redundância de serviço do Couchbase para garantir que você tenha nós para um serviço específico espalhados por grupos de servidores. Especificamente, isso protege um cluster contra falhas de infraestrutura em grande escala, por meio da definição de grupos. Mais sobre isso aqui.
XDCR replica dados entre um bucket de origem e um bucket de destino. Os buckets podem estar localizados em clusters diferentes e em data centers diferentes; isso protege contra falhas no data center e também fornece acesso a dados de alto desempenho para aplicativos de missão crítica distribuídos globalmente. Você pode ler mais sobre o XDCR aqui.
Etapas para implementar a alta disponibilidade
Nesta Parte 1 de um blog em duas partes, abordaremos a implementação do Server Group Awareness em um cluster GCE criado por meio do GCP Marketplace. A Parte 2 abordará a implantação do Couchbase para alta disponibilidade no GCE do Google Cloud Platform - XDCR para HA ativa/passiva.
Essas são as etapas de alto nível envolvidas e são abordadas em detalhes a seguir:
- Implante um cluster de sete nós alterando o modelo padrão para uma opção BYOL do Couchbase Server abordada em "Implantar o Couchbase Server usando o GCP Marketplace"
- Capture as zonas atribuídas a cada um dos sete nós
- Crie uma matriz para garantir que os nós de cada serviço sejam divididos entre as zonas do GCP disponíveis para seu cluster regional
- Remova e adicione novamente cada um dos nós para que apenas um serviço do Couchbase esteja em execução em cada nó, pois o modelo coloca todos os nossos serviços em cada nó de acordo com a matriz criada na etapa anterior
- Crie grupos de servidores na interface de administração do Couchbase Server que correspondam a cada uma das zonas do GCP e atribua o grupo a cada nó de acordo com nossa matriz na etapa 3
Etapa 1
Siga as instruções em Implantar o Couchbase Server usando o GCP Marketplacemas no local mostrado na captura de tela abaixo, você alterará "Contagem de nós do servidor Couchbase" de "3" a "7" e o Contagem de nós do gateway de sincronização do Couchbase de "2" para "0".
Mesmo que estejamos fazendo alterações no modelo de inicialização padrão, usá-lo economizará muito tempo para colocar um mecanismo do GCE Couchbase em funcionamento. Para casos de uso específicos com requisitos de carga de trabalho, é melhor trabalhar com um engenheiro de soluções do Couchbase para garantir que o cluster do Couchbase seja dimensionado adequadamente para seus requisitos e SLAs.
Depois de iniciar um cluster com o modelo do marketplace do Couchbase do GCP, observe que todos os nós estão em um Grupo de servidores e todos eles estão executando todos os seis serviços do Couchbase, conforme mostrado no exemplo abaixo. Para este exercício, reconfiguraremos os nós para que cada um execute somente o serviço Data, Query ou Index.
Etapa 2
Antes de começarmos a remover e adicionar novamente os nós com um serviço atribuído, precisamos identificar a quais zonas do GCE cada um dos nós foi atribuído no lançamento. Você pode fazer isso no Console do GCP, na seção "Instâncias de VM", conforme mostrado abaixo:
Etapa 3
Em seguida, planejaremos atribuir cada nó da seguinte forma a um serviço específico, conforme mostrado na tabela abaixo:
Endereço IP | Zona | Serviço |
10.142.0.23 | us-east-c | Dados |
10.142.0.24 | us-east-c | Índice |
10.142.0.25 | us-east-c | Consulta |
10.142.0.26 | us-east-d | Índice |
10.142.0.27 | us-east-d | Dados |
10.142.0.28 | us-east-b | Dados |
10.142.0.29 | us-east-b | Consulta |
Etapa 4
As instruções sobre como remover um nó de um cluster são aqui. Para adicionar o nó novamente a um cluster em execução, clique em aqui. Depois de remover e adicionar novamente os nós com um serviço por nó, ele deverá ter a seguinte aparência na seção "Servidores" Visualização da interface do usuário:
Observe que todos os nós estão no grupo "Grupo 1" por padrão.
Etapa 5
Agora, atribuiremos os nós do cluster do Couchbase a grupos que correspondem às zonas do GCP.
Na tela Serviços, clique em "GRUPOS“
Em seguida, clique em "ADICIONAR GRUPO". Adicione um "us-east1-b" e um "us-east1-c".
Divida os nós de cada serviço igualmente entre os grupos de acordo com a matriz que criamos na etapa 3. O Index e o Query estarão em apenas dois grupos, clicando em "Move to" (Mover para) na extrema direita de cada nó e escolhendo o grupo. Depois de escolher o novo grupo de destino para cada um dos nós que queremos mover, clique em "Apply Changes" (Aplicar alterações). Em seguida, você pode alterar o nome do Grupo 1 para "us-east1-d".
Após a reatribuição do grupo, temos três grupos, conforme mostrado abaixo, que correspondem à localização da zona GCP dos nós:
Conclusão
Agora você implementou totalmente o Server Group Awareness para seu cluster do Couchbase no GCE e aproveitou os recursos de dimensionamento multidimensional do Couchbase separando os serviços entre os nós e atribuindo-os a zonas de disponibilidade do GCP separadas, tornando seu cluster tolerante a falhas no nível do nó e do serviço. Isso, juntamente com a implementação de réplicas para seus dados, índices secundários globais e FTS, permitirá que você tenha redundância total de serviço no caso de uma zona de disponibilidade do GCP sofrer uma interrupção.
Na Parte 2 deste blog, abordaremos como proteger seu cluster do Couchbase Server de uma falha na região da nuvem ou no data center. Você também pode querer conferir as seguintes sessões da nossa conferência de usuários Connect, Preparando-se para a replicação - o que fazer e o que não fazer na implantação com o XDCR.
Continue lendo estes recursos para começar a usar o Couchbase no GCP: