O mundo é um lugar razoavelmente grande e, embora a largura de banda da rede esteja aumentando constantemente a latência de rede entre uma parte do mundo e a extremidade oposta do globo, não vai desaparecer tão cedo.
Otimização e ajuste em vários níveis podem melhorar a experiência do usuário, mas no final você alcançará o nível em que a única maneira viável de melhorar o desempenho é reduzir a latência colocando seus dados fisicamente mais próximos do usuário final.
Umbomlivrocommuitosinsightseaorigemdográficoacimaé
O que é mais econômico / ideal depende de seu cenário específico, de sua base de código e requer testes cuidadosos. Não há solução única de infra-estrutura mágica.
A maioria dos aplicativos que precisam escalar em massa passam por um ou vários reprojetos para lidar com isso. Escolhas de design, tecnologia e suposições que pareciam válidas para a quantidade X de usuários provaram estar erradas por 100 ou 1000 vezes.
Lições interessantes aprendidas são encontradas no blog de alta escalabilidade
Redesenhar o código do seu aplicativo para que conteúdo dinâmico possa ser armazenado em cache melhor é uma abordagem, por ex. Dê uma olhada no modelo de verniz que permite que seu aplicativo da Web invalide o conteúdo dinâmico em cache sob demanda, o que funciona muito bem quando muito conteúdo dinâmico realmente não precisa ser regenerado completamente para cada solicitação. Isso deve permitir que você faça um melhor uso de um CDN e significa que você pode ficar em uma única região de disponibilidade.
Recriar seu aplicativo para que ele funcione em várias zonas de disponibilidade também melhorará a recuperação de diasters e não apenas melhorará o desempenho para usuários internacionais.