Que técnicas você usa para projetar e dimensionar um aplicativo da web horizontalmente (no EC2)?

1

Especificamente, estou procurando técnicas para dimensionar um aplicativo da Web que não tenha um servidor de banco de dados central, na nuvem, mas as recomendações gerais são ótimas.

Eu já vi o GlusterFS , que parece ótimo, mas ainda não estou claro como ele se encaixa na arquitetura de uma aplicação web. Isso também é interessante para mim.

Obrigado pelos conselhos e links.

    
por jberryman 11.04.2010 / 01:21

2 respostas

1

Do topo da minha cabeça eu olharia para o Amazon SimpleDB já que você já está no ecossistema aws. Mas é difícil dizer sem mais informações sobre seu aplicativo do que apenas "um aplicativo da web".

    
por 11.04.2010 / 04:01
1

Você pode usar o link do Elastic Load Balancing para balancear a carga de alguns servidores web nginex e, em seguida, dois ou três servidores de aplicativos com Thin ( link ) configurado como um cluster. Como Cloud DBMS, você pode usar o RDS, que é a oferta da Amazon para o MySql. Você pode compartilhar as sessões, mas usando armazenamento de sessão AR ou usando memchaced.

O Thin é um servidor de aplicativos para Ruby, mas você pode substituir Thin por Apache + mod_php, Tomcat ou qualquer outra coisa.

Os servidores de aplicativos devem montar um sistema de arquivos em cluster, como o GlusterFS, onde você deve colocar seu código (o mesmo código para qualquer servidor).

Em seguida, usando a ferramenta de linha de comando da Amazon, você pode configurar quando os servidores novas instâncias devem ser criados, por exemplo, quando um servidor atingir 70% do uso da CPU.

Você pode usar o Varnish para armazenamento em cache estático, instalado na mesma instância do servidor da Web ou usando sua própria instância (melhor).

Existem várias soluções, embora a mais fácil seja usar o Heroku.

    
por 09.02.2011 / 12:20