Mais do que é são ou não, se você não é um administrador de sistema e vai cuidar disso, você vai se tornar um administrador de sistemas, bem rápido. Você está disposto para isso? :) Eu poderia estar perdendo o ponto aqui, mas deixe-me contar um pouco da minha experiência de ser um cara ruby jogando como sysadmin na amazon:
Existem muitos truques que você precisa fazer para rodar no amazon: - O ELB (Elastic load balancer) na amazon é apenas um registro CNAME, então você não pode fazer yourdomain.com apontar para o ELB, então você precisará ter um webserver com um ip elástico para ter um .htaccess ou reflexo ou o que for a coisa reescrita em nginx ou unicórnio. Plano para que ele não te mordeu de volta.
No que diz respeito a thin vs unicorn, é uma estratégia de design além da amazon neste caso. Eu nunca usei magra, mas ouvi falar que há muito tempo associando o estilo dos cometas. Amazon deve ser muito bem para conexões de longa duração, IMHO. Se você quiser mesmo ir mais seguro, você pode usar os cookies para garantir que o navegador do cliente se atenha a apenas um servidor.
"Estou entrando em um atoleiro de custo?"
Sim, fica caro rapidamente na Amazon.
"Estou entrando num pântano de manutenção?"
Sim e não. Eu estava acostumado a ter as máquinas "com algumas milhas", onde eu poderia ir e apertar redefinir ou substituir um disco rígido. Na Amazon, você precisa estar preparado para ter uma de suas máquinas obsoletas, e você terá que reiniciá-lo. Então você precisa planejar para ter uma imagem strong e mantê-la atualizada ou ir para uma coisa de chef ou marionete para gerenciar seus servidores (e enlouquecer, que é tão difícil de configurar, levei um mês, mas aprendi de 0)
"Estou entrando em um atoleiro de desempenho?"
Lembre-se que o disco io está longe de ser o ideal, então o DB para gravações fica lento se o seu banco de dados escreve muito, definitivamente faça um teste simples para ter certeza de que a velocidade é boa o suficiente. E também, você terá que usar o EBS para arquivos de banco de dados.
A velocidade e a memória do processador são muito boas. Eu não me preocuparia.
E também, eu iria a instâncias maiores antes de ficar na horizontal em muitas instâncias pequenas, a menos que você planeje ficar sem portas por causa dessas conexões longas de pooling. Se você quiser ter um desempenho melhor, é mais barato dimensionar verticalmente até atingir o xlarge, em vez de girar toneladas de máquinas.
"Estou entrando em um pântano de manutenção?" --- novamente
Se você tem uma tonelada de pequenas máquinas, você quer fazer com que as máquinas fiquem elásticas para cima e para baixo, e é um incômodo fazer isso.
Se você quiser desenvolvedor amigável, eu gostaria de ir com o EngineYard e verificar se você pode implantar com o serviço deles. Vale a pena.
Por favor, sinta-se livre para fazer perguntas!