Pergunta sobre estratégia de uptime para website

2

Estou trabalhando em um site em que precisamos ter um bom tempo de atividade. Especialmente nos curtos períodos de 15 dias que os eventos do site acontecem.

A página é simples e pode ser exibida quase completamente em um cache html. Embora exista uma parte baseada em php, isso não é essencial e, em caso de falha, podemos viver com o cache por uns 20 minutos, até que o eventual problema seja resolvido. Mais de 20 minutos não funcionarão, já que o site hospeda um placar ao vivo entre outras coisas.

Tivemos implementações bem-sucedidas na Amazon usando vários EC2 com balanceamento de carga elástico e também usando a nuvem da Rackspace (Cloud Sites e Cloud Servers).

Para este site específico, gostaríamos de ter o aplicativo em execução nesses dois provedores ao mesmo tempo, mas apenas veicular as páginas de um deles. No caso de o provedor principal falhar, basta mover para o outro e continuar.

Eu sei como fazer tudo funcionar em apenas um provedor. O que não estou claro sobre como alcançar é a mudança real de um provedor para outro. Por exemplo, se eu CNAME myapp.com para um domínio na Rackspace e ele falhar, quando eu mudar o CNAME para apontar para a Amazon, uma grande quantidade de usuários terá seu DNS armazenado em cache para a Rackspace e a coisa toda seria inútil. Esta é uma das muitas perguntas que tenho ...

Qualquer ajuda é muito apreciada ... dicas, conselhos, dicas, tudo é bem vindo ...

    
por Julian 11.02.2011 / 19:43

4 respostas

3

Eu acho que a Amazon ou a Rackspace sozinhas devem fornecer o tempo de atividade que você precisa. O ponto principal da nuvem é que você já tem uma situação de alta disponibilidade. Se o seu hardware da Amazon ou da Rackspace falhar, sua imagem será reiniciada em outro hardware. Você já teve um problema de tempo de atividade ou está tentando resolver um problema que ainda não ocorreu?

Se você tiver grandes surtos de tráfego e muito conteúdo estático, acho que deve considerar um CDN. Edgecast tem preços razoáveis e uma excelente rede. Todo o seu conteúdo estático pode ser servido a partir de seus servidores geo-redundantes e ajudá-lo com a disponibilidade do site.

    
por 11.02.2011 / 20:08
1

Você pode considerar a utilização de várias zonas / regiões de disponibilidade para fornecer maior disponibilidade e ainda usar apenas um provedor, o que pode facilitar isso. Isso não reduz o risco de negócios dos vários cenários que poderiam derrubar seu aplicativo em um provedor, portanto, executar várias nuvens é uma ideia decente.

Se você simplesmente confiar nas entradas de DNS, então estará à mercê do seu TTL (e de todos os softwares disponíveis, respeitando-o corretamente). Há um grande discussão de SF ao tentar extrair o failover instantâneo do DNS , e o resultado é que, se você fizer certo, provavelmente será bem rápido. Supondo que seja bom o suficiente para o seu caso de uso, você pode obtê-lo da maioria dos serviços de DNS de commodity (dns facilitado, dyn). Basicamente, você anuncia vários registros A e os clientes mais comportados usarão os que estão funcionando. Claro que no seu caso você não quer balancear você quer um failover "quente", que é realmente mais difícil.

Você poderia experimentar o BGP, mas não tenho certeza de como isso funcionaria; você pode ser capaz de executar o Vyatta (via Quagga) ou algo em uma caixa de cada lado, mas eu nunca vi isso funcionando.

    
por 11.02.2011 / 20:56
0

Este tutorial pode conter o que você precisa: link

Boa sorte!

    
por 11.02.2011 / 20:00
0

Se você tiver um conjunto TTL baixo para os registros DNS, poderá fazer com que eles façam a transição para o novo site automaticamente. Outra opção é usar um CDN. Ter o site servido a partir do CDN e fazer com que o CDN converse com seus servidores. Isso distribuirá a carga para servidores projetados para essa configuração. Usamos o link no passado para lidar com essas cargas.

    
por 11.02.2011 / 20:09