Algumas coisas gerais que aprendi ao longo dos anos:
- Consulte esta pergunta para saber lista de bons livros sobre o assunto de sites de desempenho, dimensionamento e alta disponibilidade.
- "Cluster" é o termo correto. Você está usando várias máquinas para veicular um site na tentativa de aumentar a disponibilidade. Você também pode usar o cluster para fazer referência a partes específicas da sua configuração: por exemplo, os servidores 2 + 3 + 4 seriam o seu cluster de aplicativos.
- Existe alguma razão pela qual você só tem redundância no nível do aplicativo? E quanto ao MySQL e conteúdo estático? Especialmente desde que o seu conteúdo estático é relativamente grande, veja quanta largura de banda você pode servir para N usuários simultâneos, se necessário. O que acontece se o servidor MySQL falhar ou se o servidor nº 4 tiver um disco danificado?
- Se você está mudando tudo de uma máquina, comece pequeno, a menos que não se importe de gastar mais do que o necessário. Por exemplo, descobri um ganho de desempenho maior que o esperado em uma situação semelhante, passando de 1 para 3 servidores. Depois de dividir em vários servidores, você pode descobrir que o novo afunilamento está em uma área diferente.
- Ao planejar o dimensionamento agora, não esqueça completamente de possível dimensionamento futuro. Um pouco de pensamento e design avançado agora pode economizar seu tempo no futuro. Por exemplo, você tem um servidor estático agora, mas o que você quer múltiplos em um ano, ou vários servidores espalhados geograficamente.
- Considere a possibilidade de criar scripts para ajudar a configurar tipos específicos de servidores ... fazendo isso manualmente, cada um fica velho e você sempre esquece um passo. Eu fiz isso recentemente e gostaria de tê-lo feito desde o início. A execução de um script que executa 50 etapas de instalação automaticamente em poucos minutos economiza muito tempo a longo prazo.
- À medida que você obtém mais servidores, a probabilidade de experimentar algum tipo de falha de hardware torna-se maior. Planeje isso e jogue o jogo what-if: E se o disco rígido falhou no servidor X? O que nós perderíamos? Por quanto tempo o site estaria fora? Quanto tempo levaria para consertá-lo? etc ...