Servidor do SQL Azure em região diferente do servidor da web

1

Acabei de assumir um projeto da Web hospedado no Windows Azure.

Estamos com problemas de desempenho e percebemos hoje que nosso servidor SQL Azure está na região da Europa Ocidental, enquanto as instâncias que hospedam nosso site estão na região do Norte da Europa.

  1. Qual é o tamanho do problema?
  2. Assumindo que é um problema (e eu suponho que seja pelo menos um problema do ponto de vista de faturamento de largura de banda!) como faço para corrigir isso?

Existe uma maneira mais fácil de migrar do que comprar um segundo servidor SQL Azure na região correta, colocando o site offline, exportando do servidor atual, importando para o novo servidor, modificando a configuração do site para que aponte para o novo servidor ? Se isso pode ser feito sem tempo de inatividade, isso me deixaria muito feliz.

    
por Iain Galloway 20.01.2012 / 17:46

2 respostas

4

Q: Qual é o tamanho do problema?

R: É um problema potencialmente significativo, devido a:

  1. Latência - Você está vendo tempos de ping de milissegundos de dois dígitos entre seu servidor da Web e seu banco de dados de back-end. Isso é bobagem e só pode deixar seu site menos responsivo do que deveria.
  2. Custo - A transferência de dados entre sub-regiões é faturável, enquanto a transferência de dados dentro de uma sub-região é gratuita.

P: Como faço para corrigir isso com o mínimo de tempo de inatividade?

R: É difícil para nós fazer uma recomendação específica sem saber nada sobre o tamanho ou a complexidade do seu banco de dados. A Microsoft oferece muitas opções para mover dados de um servidor SQL para outro:

  1. Copiando bancos de dados inteiros
  2. Cópia somente de dados
  3. Serviço de Sincronização de Dados do SQL Azure
De modo geral, se você tiver dados suficientes para que um backup e uma restauração simples não sejam rápidos o suficiente para satisfazer sua necessidade de minimizar o tempo de inatividade, Data Serviço de Sincronização é provavelmente sua melhor aposta.

    
por 20.01.2012 / 17:57
0

O caso ideal é ter seu banco de dados no mesmo datacenter de suas instâncias de computação, como mencionado por @Miles. Eu queria abordar o tópico de "comprar" outro servidor de banco de dados.

Quando você configura um servidor do SQL Azure, não há custo para o próprio servidor, apenas para o banco de dados. E esse custo do banco de dados é amortizado diariamente, com base no tamanho do banco de dados para cada dia.

Para uma migração de um datacenter para outro, digamos que você conseguiu fazer backup do banco de dados e armazenar o backup em um blob. Você pode restaurar esse banco de dados para o novo servidor. Depois que você souber que seus dois bancos de dados estão sincronizados (talvez configurando o serviço de sincronização), você poderá modificar a cadeia de conexão do aplicativo para apontar para o banco de dados recém-criado. Supondo que sua conexão com o banco de dados esteja armazenada na configuração da web do seu aplicativo, você provavelmente precisará implantar uma nova versão do seu aplicativo. Você pode implantar no staging, garantir que tudo funcione corretamente e fazer uma troca VIP para implantar o novo aplicativo na produção.

Depois de migrar para o novo banco de dados e garantir que todos os dados estejam atualizados, você pode excluir com segurança o banco de dados no data center original. Supondo que tudo isso ocorreu em, digamos, 3 dias, você só incorreria em custos de banco de dados duplo por esses três dias.

    
por 21.03.2012 / 16:38

Tags