Como posso dimensionar dinamicamente servidores em nuvem para fornecer um serviço de hospedagem sob demanda?

2

Estou interessado em usar a Rackspace Cloud Servers API para criar um serviço de hospedagem dinamicamente escalável. A Cloud Servers API permite adicionar e remover instâncias do servidor programaticamente.

Requisitos do sistema

Haveria um único servidor compartilhado na maioria dos casos, mas também poderia ser um servidor dedicado e, com a largura de banda excedendo um determinado destino, um novo servidor seria provisionado, com os diretórios da web replicados ou restaurados de algum lugar (poderia usar o Cloud Arquivos, ou svn, git, etc). Poderia usar fantoche ou algum script personalizado para arquivos de configuração.

Idealmente, cada domínio ou grupo de domínios teria cotas de largura de banda que, uma vez ultrapassadas, acionariam a implantação de um novo servidor com apenas os arquivos desse domínio por um período de uma hora. Se a largura de banda ainda for excedida após esse destino, o servidor permanecerá em vigor por mais uma hora, e assim por diante, até que não seja mais necessário. Nesse ponto, ele será removido do serviço.

Se alguém já implantou um sistema desse tipo ou pode fornecer alguma assistência ao fazê-lo, seria muito apreciado!

Perguntas-chave:

1. Como posso determinar a largura de banda     uso em várias instâncias?

2. Como posso evitar o cache de DNS?     problemas quando um determinado servidor é apenas     por uma hora (posso usar um proxy     servidor aqui)?

3. Qual é a melhor maneira de garantir rapidez     implantação de arquivos para cada novo     servidor implantado?

4. Usando um cluster dinâmico como este,     como posso suportar FTP (prefiro não     para usar o FTP, mas alguns projetos podem     exigir isso).

    
por FilmJ 23.09.2009 / 21:19

2 respostas

1

Estou usando o Amazon EC2, mas essas recomendações podem se aplicar à Rackspace ou a outros provedores:

  1. Como posso determinar o uso da largura de banda em várias instâncias? Métricas, eu recomendo configurar um servidor de monitoramento com Cacti, Ganglia e Nagios para medir a largura de banda, CPU, memória, etc.

  2. Como posso evitar problemas de cache do DNS quando um determinado servidor está ativo por apenas uma hora (posso usar um servidor proxy aqui)? Coloque o balanceamento de carga atrás dos servidores proxy. Se o seu provedor não tiver sua própria solução, você poderá usar o HAproxy ou o nginx para fazer o balanceamento de carga.

  3. Qual é a melhor maneira de garantir a rápida implantação de arquivos em cada servidor recém-implantado? Estou usando o rsync e está funcionando bem, mas ainda estou procurando outras soluções.

  4. Usando um cluster dinâmico como este, como posso oferecer suporte a FTP (prefiro não usar o FTP, mas alguns projetos podem exigir isso). Seu provedor deve oferecer uma maneira de criar listas de acesso para endereços IP e portas (a Amazon permite criar ACL por meio de sua API).

por 24.09.2009 / 01:30
0

Esta é minha opinião sobre um problema semelhante: solução VPS para corresponder à nuvem escalabilidade e confiabilidade

    
por 23.09.2009 / 21:26