Aplicativo da Web barato, mínimo e robusto que hospeda pelo menos três noves (99,9%) de tempo de atividade?

3

Como é possível obter a configuração de aplicativo da web mais confiável, porém mais confiável?

Vamos supor pelo menos dois servidores de aplicativos por US $ 80 / mês, além de um servidor de banco de dados suportar a maioria dos aplicativos das pessoas por algum tempo - e queremos apenas obter boa confiabilidade (pelo menos 3 noves).

É possível alugar uma solução VPS muito boa por cerca de US $ 80 / mês agora mesmo de qualquer provedor razoável ( Amazon EC2 , Slicehost , etc.). No entanto, nenhuma dessas soluções de hospedagem VPS é perfeita, e eu experimentei mais de 99,9% de tempo de inatividade com cada uma delas.

Não sei qual é a melhor forma de configurar essas três máquinas - o melhor seria colocar os dois servidores de aplicativos em provedores diferentes (melhor com diferentes conexões de rede) e usar o HAProxy para ficar de olho uns nos outros. Se um falhar, ele atualizará o DNS para removê-lo do pool de endereços IP do seu aplicativo. Mas o que fazer com o servidor de banco de dados? Esse ainda é um ponto único de falha.

Já tive problemas com DNS no passado, mas isso pode ser tratado por um provedor externo dedicado como DNS Made Easy por muito barato (US $ 15 / ano). Isso também permite dinamicamente modificar entradas de DNS, se necessário, o que é útil se você não estiver planejando atualizá-las manualmente durante uma crise.

Os backups devem ser feitos para uma fonte externa (site S3 ou FTP) pelo menos uma vez por dia - novamente um mínimo a cada mês. Você precisa de um script de implantar e restaurar automatizado para obter mais de 3 noves do seu backup também.

Eu não sinto que isso esteja lá devido à disponibilidade do DB, mas ele custará em torno de $ 80x3 + espaço em disco + DNS = $ 250 / mês.

Pode alguém fazer melhor?

    
por Chris Harris 01.07.2009 / 18:42

6 respostas

4

Barato, mínimo e robusto? Você acabou de acertar o triângulo do mal de "Good / Fast / Cheap" - Escolha 2, você não pode ter todos os 3.:)

Realisticamente, você está indo muito bem se puder fazer um aplicativo geograficamente redundante com failover por $ 250 / mês.

A única alternativa em que posso pensar seriam as soluções de VPS que você já teve ou talvez o Microsoft Azure possa ser adequado.

    
por 01.07.2009 / 18:53
2

Concordo que você está indo muito bem onde está.

Certifique-se de ter processos de recuperação sólidos, para que qualquer falha que você tenha possa ser resolvida rapidamente.

A disponibilidade "Three Nines" equivale a aproximadamente 8 horas de inatividade em um ano. Se você não conta janelas de manutenção, isso não é um padrão particularmente exigente para uma empresa de hospedagem convencional. Eu sou cético que você tenha visto pior em dois serviços de hospedagem bem conceituados.

Lembre-se, no que diz respeito ao host, quando você fornecer um servidor em funcionamento, estará de volta. Se você tiver uma falha e, 90 minutos depois, ele tiver fornecido outro servidor, seu tempo de inatividade será de 90 minutos. Se você levar três dias para fazê-lo funcionar, esses três dias adicionais não são problema deles.

O servidor de banco de dados é claramente um ponto único de falha. você tem que determinar sua tolerância para esse risco e o custo para mitigá-lo. Eu não sei muito sobre como tornar um servidor de banco de dados redundante diferente de ser realmente difícil para sistemas pequenos. Se isso o incomoda, sua melhor opção é contratar a hospedagem do próprio banco de dados, em vez de usar um VPS e gerenciar seu próprio servidor de banco de dados. Um exemplo (do Google, não uma recomendação ) pode ser encontrado aqui ; não é particularmente caro.

    
por 01.07.2009 / 19:24
1
O

link tem sido muito confiável para alguns de meus amigos. Eles têm vários locais e você pode escalar com facilidade.

    
por 01.07.2009 / 18:59
1

Acho que você está enfrentando 2-3 problemas aqui:

Definição de tempo de atividade

Três noves incluindo janelas de manutenção anunciadas ou excluindo? Com que antecedência você anunciará as janelas de manutenção?

Tempo de atividade do hardware

Isso só será dimensionado com redundância. Você nunca sabe quando vai quebrar e três noves significa apenas cerca de 9h tempo de inatividade por ano. Assim, mesmo um contrato de 4 horas lhe concederá apenas um tempo de inatividade (2 se for realmente corrigido dentro de 4 horas - mas isso não é exatamente barato para se obter). IMHO você tem que ter 2 servidores para isso

Uptime de Software / Serviço

Você vai definir o tempo de atividade por acessibilidade de ping, respostas HTTP, como? - Você pode facilmente resolver isso definindo com antecedência o que você considera "up" (ou se é mais fácil o que você considera "down" - mas isso seria enumeração de maldade)

No que diz respeito ao barato, não sei se por preços baratos você quer dizer custos iniciais ou despesas correntes. Você pode obter algum servidor barato em quase todos os lugares, mas provavelmente precisará de mais deles para descartar quebra de hardware ou adquirir um hardware decente com HP, Dell, IBM com custo inicial mais alto, mas uma probabilidade muito menor de quebra de hardware e assim terá um menor custo de funcionamento. Basta calcular o tempo de vida de uma pessoa que será mais barata.

Se você quiser apenas algumas URLs:

server4you foi muito legal para mim EC2 com localizações georedundantes (UE e EUA) também poderia ser muito interessante

EDIT: Para ser claro quando digo 2 Machines quero dizer Machines redundantes por caso de uso (DB redundante, Web redundante, DNS redundante, redundante $whatever

    
por 01.07.2009 / 19:07
0

Dependendo do seu tráfego exato e das necessidades e requisitos, hospedei vários aplicativos da web menores em 1 e 1 sem muita dificuldade.

Além disso ... praticamente qualquer provedor de hospedagem popular tem tempos de trabalho decentes (leia-se: publicados).

O uptime de 99,9% significa que você está aceitando um período de inatividade de 8 horas, 45 minutos e 35 segundos em um período de um ano.

As empresas de hospedagem mais decentes atingem isso facilmente.

    
por 01.07.2009 / 18:49
-2

Eu recomendaria o desconto ASP.net . Eu gosto do fato de que você pode obter um servidor de sandbox gratuito e não me lembro de nenhum tempo de inatividade que eu tenha visto.

    
por 01.07.2009 / 18:57