Ao escolher uma arquitetura para um serviço que depende tanto de uma arquitetura 'clássica' como os mapas da Web, nunca subestime a eficácia de soluções de hospedagem mais tradicionais, como o RackSpace Cloud Servers ou o Linode .
Você terá muito menos opções a fazer (como usar S3 ou não, balanceadores de carga ou não, backups etc. ou não e quanto isso vai custar?), Cujo resultado é difícil de prever E, mais importante, você será capaz de use ferramentas que você já conhece.
Tendo passado pelo mesmo processo há algum tempo, posso dizer que os fatores críticos na minha decisão de hospedar um serviço de mapas da web no Rackspace, em vez da AWS, foram:
- O Cloud Server é (mais) resiliente que as instâncias do EC2. Instâncias de EC2 são realmente esperado a falhar e eles irão falhar
- Os volumes do EBS também falham (há muitas histórias tristes nas notícias) e geralmente têm E / S ruins
- a menos que você escolha as instâncias maiores, a contenção de E / S pode ser um problema (especialmente se você planeja propagar os blocos no EC2, em vez de copiá-los). Também pode ser um problema com os bancos de dados MTBtiles
- Sempre que você reiniciar o servidor, o IP público será alterado: isso não acontece no Linode ou no Rackspace.
- Você precisará criar uma estratégia de backup e restauração, enquanto o Linode e o Rackspace fornecem apontar e clicar instantâneos e restaurações automáticas diárias e semanais
- Se o host que estiver executando o seu VPS falhar, o Rackspace cuidará de realocar sua instância e reiniciá-la em um servidor diferente e eles farão isso em 4h (está no SLA). Aconteceu comigo enquanto eu estava de férias: parecia muito profissional. Linode deve fazer o mesmo
- O Linode possui um excelente SLA de disponibilidade: 99,9% e eles reivindicam um ótimo desempenho porque não aprovisionam demais
- A Rackspace recentemente criou uma estratégia de volume como o EBS, portanto o espaço em disco não deve ser mais um problema. Anteriormente, se você precisava de muito espaço em disco, tinha para obter uma instância grande enquanto estiver no EC2, pode provisionar armazenamento, CPU e memória com controle mais preciso
Com isso, não estou dizendo que o Amazon AWS seja inferior aos outros, apenas estou dizendo que, às vezes, as soluções de hospedagem tradicionais podem ser escaláveis e também as baseadas na nuvem. Um exemplo notável é a própria rede StackExchange .
Portanto, no seu caso, eu iniciaria uma instância grande no Rackspace e carregaria todos os dados em uma instância local do Postgis. Depois de configurar o mecanismo de renderização, eu propriamente o cache. Uma instância grande concluirá o processo de propagação rápido o suficiente para que não fique muito caro para executar. Você pode armazenar blocos no fs, MTBtiles, mesmo no S3 (entre, você pode servir dados do S3 em uma CDN com o CloudFront ).
Depois que a propagação foi concluída, eu reinicializava o servidor e o redimensionava em uma instância pequena (talvez até 512 MB), pois, nesse ponto, seria necessário apenas servir dados estáticos.
Está recebendo uma resposta longa, então vou parar por aqui. Se você quiser que eu elabore alguns aspectos, basta comentar.
Isenção de responsabilidade: Eu não sou afiliado à Rackspace, Linode ou a qualquer outro provedor que citei.