O esforço e os detalhes para configurar uma instância clusterizada e com carga balanceada no EC2 da Amazon

O esforço e os detalhes para configurar uma instância clusterizada e com carga balanceada no EC2 da Amazon

Tenho tentado reunir todas as peças para configurar um cluster com balanceamento de carga de três servidores (2 para nós da Web e um para MySQL) como uma pilha LAMP no EC2. Isso serve apenas para executar testes de desempenho em um aplicativo, e preciso reunir as informações apropriadas para poder estimar o tempo que isso levará. Gostaria de saber se alguém poderia preencher os espaços em branco para mim sobre o seguinte:

O que exatamente é uma unidade de computação? Estou precisando de três instâncias espelhadas do AWS CentOS da RightScale, duas como nós da Web e uma com um banco de dados. Preciso de três instâncias pequenas então?

Se estou usando o Apache como meu servidor Web, o mod_proxy é a melhor maneira de balancear a carga no EC2 da Amazon? Vejo que a Amazon tem um balanceador de carga que pode ser configurado para funcionar com o Amazon CloudWatch para fornecer métricas. Esse é o melhor caminho a seguir?

Para cache de aplicativos, quero usar o memcache. Algum problema com isso no EC2 da Amazon? Estou pensando em usar o Siege (http://www.joedog.org/index/siege-faq) para fazer meu teste de estresse. A Amazon já fornece algo para fazer testes de estresse ou seria uma ferramenta apropriada?

Para alguém como eu, que não tem experiência no uso deste serviço, além de instalar nosso aplicativo em ambos os nós da Web, que tipo de tempo estamos olhando aqui? Estou familiarizado principalmente com a implantação de aplicativos em instâncias de servidor e tenho alguma experiência com configurações de servidor e ajuste de desempenho, mas sou programador de profissão. Estou pensando em 30 horas para configuração e provavelmente mais 15 a 20 para testes. Isso soa muito próximo?

Responder1

Conforme mencionado, uma unidade de computação é aproximadamente um processador antigo de classe de servidor de 1,0-1,2 GHz, e você deve considerar o Elastic Load Balancing da Amazon.

Para uma pilha LAMP com balanceamento de carga simples, você deve começar com um tipo de instância pequeno e trabalhar a partir daí com base em seus testes e benchmarking.

memcached funciona bem no EC2, mas você precisará considerar a natureza volátil do EC2 (às vezes as instâncias podem cair sem aviso).

Começando do zero, sem gerenciamento de configuração (você não mencionou nada, então não assumirei nada, mas gosto do Chef), você provavelmente terá cerca de 2 semanas de trabalho. Sempre superestimado, pois o EC2 pode ser... complicado de trabalhar.

Também sugiro usar as ferramentas da API EC2 (melhor ainda é uma biblioteca para sua linguagem de programação favorita) para que você possa controlar programaticamente suas instâncias.

Responder2

Responder3

Se você planeja operar as máquinas apenas por um curto período, provavelmente poderá simplificar muitas coisas e evitar o uso do armazenamento de blocos elásticos da Amazon. O que isso significa é que seus arquivos não persistirão no desligamento ou em uma falha. Se você não encerrar suas instâncias, é improvável que elas travem ou você perca seus dados. Você não gostaria de fazer isso em produção, mas para testes deve servir.

Para um balanceador de carga, basta usar o AmazonBalanceamento de carga elástico. Use o Amazon se você planeja executar um balanceador de carga de hardware em sua configuração de produção. Se na produção você planeja usar um balanceador de carga de software - então sim, use o mesmo no EC2.

Para testes, gosto de fazer testes http de baixo nível comhttperf. Para testes em nível de aplicativo, gosto de usar o JMeter. Normalmente, estou fazendo os testes ao contrário. Eu executo o JMeter no EC2 e tenho essa carga de teste em meu data center não EC2. Dessa forma estou fazendo um teste completo de ponta a ponta. No entanto, suponho que você esteja fazendo o teste porque não possui hardware extra localmente para executar uma configuração de produção simulada.

informação relacionada