Criando um aplicativo da web que será usado a partir de localizações geográficas distantes

5

Eu projetei / construí um número de pequenos aplicativos web. A maioria tem sido usada por clientes que operam em uma área geográfica específica, principalmente dentro do mesmo estado / província. Para esses, eu seguiria as práticas recomendadas, mas normalmente não me preocupei muito com problemas causados pela distância do servidor.

Eu tenho um cliente em potencial cujos locais estão espalhados em vários países ao redor do mundo. Quais considerações específicas devo fazer ao criar um aplicativo que será usado em locais que não são próximos uns dos outros?

Algumas das mais óbvias que eu já pensei:

  • i18n / strings localizadas
  • Entrega de conteúdo estático via CDN
  • Reduzindo instâncias em que o cliente precisa se comunicar com o servidor
  • Comunicando-se com o servidor em segundo plano enquanto o cliente está fazendo outras coisas

Eu sinto que a lista deve ser mais longa, mas eu não tenho a amplitude de experiência para ter certeza.

Estou mais preocupado com as questões marginais apresentadas, atendendo a uma base de usuários geograficamente distribuída que, de outra forma, não seria uma preocupação de alto nível para os clientes mais próximos.

    
por Farray 07.02.2012 / 01:51
fonte

2 respostas

1

Bem, isso vai depender dos detalhes do seu cliente, mas o que eu perguntaria inclui o seguinte

  • Que tipo de conexão de rede os usuários finais terão? Largura de banda e latência
  • Eles terão navegadores modernos? Se usar as opções off-line do HTML5 pode fazer sentido
  • Podemos colocar os servidores perto dos principais locais onde os clientes estarão?
  • Podemos colocar proxies em cache em locais úteis

Eu também faria o seguinte

  • Assegure-se de que todos os dados sejam enviados pelo fio compactado
  • Minimize a quantidade de dados enviados.
por 07.02.2012 / 10:09
fonte
2

Não sou desenvolvedor da Web, mas posso adicionar alguns indicadores como usuário final. Vivendo abaixo, eu aprecio quando os desenvolvedores pensam sobre isso. As principais coisas a considerar:

  • Latência. O tempo que leva um fóton para percorrer metade do mundo é determinado pelas leis da física, e você não pode mudar isso. O que você pode fazer é projetar tarefas para que a latência alta não seja uma preocupação. Por exemplo, o streaming de vídeo HD não é afetado pela alta latência, mas o processamento de entrada de texto de cada lado do servidor de pressionamento de tecla é. Essencialmente, se você está esperando por uma resposta, deve ser por algumas grandes tarefas, não um grande número de pequenas tarefas.

  • Largura de banda - geralmente não é rápida, às vezes os dados são caros (temos limites de dados na maioria dos planos de internet).

Os melhores sites que você não sabe onde está o servidor, e não se importam, os piores que você simplesmente não pode e não usa.

    
por 07.02.2012 / 05:10
fonte