Por que não está usando o Elastic Load Balancing (ELB) da Amazon? Existem pelo menos 3 motivos para não usar ELBs:
- Custo adicional - você pode executar sua própria micro instância por um custo menor do que o de um ELB, que deve ter energia mais que suficiente para fazer balanceamento de carga.
- Os ELBs são (ou pelo menos eram) balanceadores de carga da camada 4 - eles não suportavam a lógica da camada 7 que o HAProxy suporta. Além disso, até recentemente, eles não suportavam 'sessões persistentes'.
- Redundância - normalmente você executaria um único ELB - enquanto aqui você tem um backup. Enquanto os ELBs devem ser extremamente confiáveis, não ter um único ponto de falha é bom. Naturalmente, a portabilidade também é um fator.
Por que não está usando o Sistema de Banco de Dados Relacional (RDS) da Amazon?
- Mais uma vez, o custo é um fator - se você tem um modelo de '4 servidores', adicionar um RDS realmente aumenta isso. Os preços das instâncias do RDS são 30% mais altos que a instância equivalente do EC2. A vantagem reside principalmente em que "eles cuidarão de tudo para você". Se você puder configurar algo, provavelmente terá mais controle sobre isso.
- Controle: sem acesso ao my.cnf (embora alguns equivalentes da API); não binlog; nenhuma replicação de leitura; sem desligamento / super privilégios; a manutenção é agendada semanalmente (e você nem sempre tem certeza do que isso implica); Se algo der errado com o RDS (por exemplo, problemas devido a uma atualização), você precisará confiar neles para corrigi-lo; eles executam uma versão específica do MySQL - se você precisar de uma versão mais antiga, não poderá usá-la.