Al elegir una arquitectura para un servicio que se basa tanto en una arquitectura 'clásica' como los mapas web, nunca subestimes la efectividad de las soluciones de alojamiento más tradicionales como RackSpace Cloud Servers o Linode .
Tendrá muchas menos opciones para tomar (como usar S3 o no, equilibradores de carga o no, copias de seguridad, etc. o no y ¿cuánto va a costar eso?) Cuyo resultado es difícil de predecir Y, lo que es más importante, podrá use herramientas con las que ya esté familiarizado.
Después de haber pasado por lo mismo hace algún tiempo, puedo decirles que los factores críticos en mi decisión de alojar un servicio de mapas web en Rackspace en lugar de AWS fueron:
- Cloud Server son (más) resistentes que las instancias EC2. Instancias de EC2 son en realidad espera a fallar y que van a fallar
- Los volúmenes de EBS también fallan (hay muchas historias tristes en las noticias) y generalmente tienen E / S deficientes
- a menos que elija las instancias más grandes, la contención de E / S podría ser un problema (especialmente si planea sembrar los mosaicos en EC2, en lugar de copiarlos). También podría ser un problema con las bases de datos MTBtiles
- Cada vez que reinicie su servidor, la IP pública cambiará: esto no sucede en Linode o Rackspace
- Tendrá que idear una estrategia de copia de seguridad y restauración usted mismo, mientras que Linode y Rackspace proporcionan instantáneas y restauraciones automáticas diarias y semanales.
- Si el host que ejecuta su VPS falla, Rackspace se encargará de reubicar su instancia y reiniciarla en un servidor diferente y lo hará en 4h (está en su SLA). Me pasó mientras estaba de vacaciones: me sentí muy profesional. Linode debería hacer lo mismo
- Linode tiene un gran SLA de disponibilidad: 99.9% y afirman un gran rendimiento porque no sobreaprovisionan
- Rackspace ha presentado recientemente una estrategia de volumen como EBS, por lo que el espacio en disco ya no debería ser un problema. Anteriormente, si necesitabas mucho espacio en disco, TENÍAS que obtener una gran instancia mientras estabas en EC2, puedes aprovisionar almacenamiento, CPU y memoria con un control más preciso
Con esto no digo que Amazon AWS sea inferior a otros, solo digo que a veces las soluciones de alojamiento tradicionales pueden escalar tan bien como las basadas en la nube. Un ejemplo notable es la red StackExchange en sí.
Entonces, en su caso, iniciaría una instancia grande en Rackspace y luego cargaría todos los datos en una instancia local de Postgis. Luego, después de configurar el motor de representación, sembraría el caché. Una instancia grande completará el proceso de siembra lo suficientemente rápido como para que no sea demasiado costoso ejecutarlo. Puede almacenar mosaicos en fs, MTBtiles, incluso en S3 (por cierto, puede servir datos S3 en un CDN con CloudFront ).
Una vez completada la inicialización, reiniciaría el servidor y cambiaría su tamaño a una instancia pequeña (quizás incluso de 512 MB), ya que en ese momento solo tendría que servir datos estáticos.
Esto está obteniendo una respuesta un poco larga, así que voy a parar aquí. Si quieres que explique ciertos aspectos, solo deja un comentario.
Descargo de responsabilidad: no estoy afiliado a Rackspace, Linode ni a ningún otro proveedor que haya citado.