Você não está realmente fazendo uso do conceito "Cloud" (dinamicamente escalonável) em sua arquitetura proposta - você está executando vários VPSs.
Então minha resposta seria; se você for desse jeito, não acho que você tenha alguma vantagem usando o Amazon EC2 sobre VPS / servidor dedicado. Na verdade, há provavelmente mais desvantagens (por exemplo, mais difícil de fazer armazenamento persistente, e sim, eu sei que você deve planejar a falha de disco / servidor em um VPS padrão)
Expandindo a resposta - você provavelmente acabaria com um desses 3 servidores em pleno funcionamento e sendo o gargalo enquanto outro estava quase fazendo nada.
Uma arquitetura mais 'parecida com a nuvem' seria ter
Instância do servidor Web usando o Balanceamento de carga elástica .
Quando ele fica ocupado (algumas métricas como carga da CPU / fila / tempo de carregamento da página, etc.), você tem um processo de monitoramento gira outra instância do servidor da Web e a adiciona ao farm. Repita conforme necessário. Quando as coisas se acalmam, as instâncias do servidor web podem ser removidas do farm.
Servidor de banco de dados
Se você puder usar o serviço Amazons SimpleDB , então tudo é feito para você. Se você precisa de um banco de dados mais tradicional, esta é provavelmente a parte mais difícil do sistema para arquitetar de uma maneira que seja facilmente escalável. Eu vou pular convenientemente aqui!
Uma instância de "processamento de trabalho"
Digamos que seus trabalhos em lote estejam armazenados em algum tipo de fila (por exemplo, Simple Queue Service - SQS ). Um servidor de processamento em lote seleciona jobs dessa fila e os processa. Se a fila crescer além de um certo tamanho, você gera mais instâncias de 'processamento em lote'.
Você pode ficar muito chique com isso e ter alguns de seus trabalhos em execução em uma instância do servidor da web quando a carga estiver leve e passar para instâncias dedicadas quando estiver pesada - ou praticamente qualquer mistura que você possa imaginar. Mas, para realmente usar o conceito de 'Nuvem', você deve ter uma arquitetura que suporte a adição dinâmica de um número X de servidores ao seu pool.
O garoto-propaganda dessa abordagem provavelmente é Animoto que é um serviço que tira as suas fotos, mistura-as com algumas músicas e cospe um vídeo. Um trabalho intensivo de CPU que é perfeito para um conjunto de instâncias do EC2. Confira o gráfico, indo de 50 a 3500 servidores em questão de dias - isso é o poder da computação em nuvem.