Práticas recomendadas da AWS

Nesta seção, resumimos nossas práticas recomendadas e fornecemos nossas recomendações para usar o OPDK com a nuvem da AWS.

O Cassandra é usado como back-end e armazenamento de dados para quase todas as políticas e é uma parte essencial do ambiente de execução do Apigee Edge. Este documento se concentra na otimização do Casssandra para o ambiente da AWS.

Requisitos de armazenamento e E/S

A maioria das E/S do Cassandra é sequencial, mas há casos em que você precisa de E/S aleatória. Um exemplo é ao ler tabelas de strings classificadas durante operações de leitura. O SSD é o mecanismo de armazenamento recomendado para o Cassandra, porque fornece tempos de resposta de latência extremamente baixos para operações de leitura aleatórias e desempenho de gravação sequencial suficiente para operações de compactação. A replicação também é considerada aqui.

Muitas instâncias no AWS EC2 vêm com armazenamento local em que o disco rígido está fisicamente conectado ao hardware em que a instância do EC2 está hospedada. A Apigee recomenda usar os repositórios de SSD e instâncias ao executar o Cassandra na produção. Quando você usa um tipo de instância com mais de um SSD, pode usar o RAID0 para ter mais capacidade e armazenamento.

Requisitos de rede

O Cassandra usa o protocolo Gossip para trocar informações com outros nós sobre a topologia de rede. O uso do Gossip e a natureza distribuída do Cassandra, que envolve conversar com vários nós para operações de leitura e gravação, resultam em muita transferência de dados pela rede. A Apigee recomenda o uso de um tipo de instância com pelo menos 1 Gbps de largura de banda e mais de 1 Gbps para sistemas de produção.

Use uma VPC com CIDR de /16. Como as sub-redes na AWS não podem abranger mais de 1 AZ, a Apigee recomenda o seguinte:

  • Crie uma sub-rede por zona de disponibilidade (AZ, na sigla em inglês)
  • Use três sub-redes particulares para sua instalação da Apigee, com um nó do Cassandra em cada AZ. As três sub-redes precisam ter blocos CIDR suficientes para acomodar a expansão horizontal do cluster do Cassandra.
  • Configure três sub-redes públicas com NAT dedicada para o Cassandra se comunicar com a Internet para download de software e atualizações de segurança.

Ao contrário das arquiteturas mestre-escravo legadas, o Cassandra tem uma arquitetura sem mestre em que todos os nós desempenham um papel idêntico, portanto, não há um ponto único de falha. Espalhe seus nós do Cassandra em vários AZs para permitir alta disponibilidade. Ao distribuir os nós por AZs, é possível manter a disponibilidade e o tempo de atividade em caso de desastres.

Como escolher uma família de instâncias

Ao analisar os requisitos de CPU do Cassandra, é útil observar que as cargas de trabalho com uso intenso de inserção são limitadas pela CPU no Cassandra antes de se tornarem vinculadas a E/S. Em outras palavras, todas as operações de gravação vão para o registro de confirmação, mas o Cassandra é tão eficiente na gravação que a CPU se torna o fator limitante. O Cassandra é altamente simultâneo e usa o maior número possível de núcleos de CPU.

A Apigee recomenda o uso de uma família de instâncias que tenha um equilíbrio entre CPU e memória. Especificamente, recomendamos usar instâncias da família C5, se disponíveis na sua região da AWS, e C3 como uma opção alternativa. Em alguns casos, 4xlarge é a instância ideal em ambas as famílias que oferece o melhor preço/desempenho.

A Apigee também recomenda o uso de uma locação padrão para instâncias do Cassandra. Quando você escalona para mais de uma instância por AZ, é provável que todas as instâncias do Cassandra sejam colocadas no mesmo hardware subjacente, se você definir a locação como dedicada. Portanto, quando o hardware falhar, você provavelmente perderá todas as instâncias nesse AZ.

Resumo das recomendações

A tabela a seguir resume as recomendações da Apigee para usar a AWS com o Apigee Edge para nuvem privada:

Família de instâncias C5d (preferencial ) ou C3
Tipo de instância C(x).4xlarge
Armazenamento de instâncias SSD (armazenamento local) com RAID0
Tipo de locação padrão
Posicionamento do nó 1 nó do Cassandra por AZ
VPC e sub-rede Uma sub-rede por AZ e uma VPC por região

Para mais informações, consulte Tipos de instância da Amazon.