¿Alguien tiene experiencia con la ejecución de mapas web (servidor de mosaico + secuencias de comandos JS del cliente) en Amazon Web Services (S3, EC2, etc.)? ¿Qué tipo de configuración de AWS se necesita para ejecutar una aplicación de mapa web de ancho de banda bajo a medio, que cubre un área pequeña (-ish) (ciudad a tamaño de país pequeño)?
Todos los mosaicos se renderizarán previamente y se cargarán en S3. Idealmente, necesitaría una aplicación de servicio de mosaico en el servidor web que pudiera servir MBTiles (en lugar de cargar cientos de miles de mapas de bits de mosaico individualmente). Entonces se necesitaría algún tipo de instancia EC2, pero ¿de qué tipo?
Gracias por cualquier pista.
ACTUALIZACIÓN: solo para elaborar mi pregunta. Lo que básicamente estoy buscando es algún comentario sobre cuán viable es AWS para alojar sus propios mapas web como individuo (lo que significa que no debería costar demasiado, digamos hasta $ 30 / mes). He estado alojando mis mapas web durante algún tiempo a través de proveedores de alojamiento "normales", pero estos tienen sus propias limitaciones (el ancho de banda de carga es uno, la velocidad es otra). También estoy buscando buenas alternativas a AWS y cualquier cosa a tener en cuenta al usar servicios en la nube para mapas web.
fuente
Respuestas:
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:
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.
fuente
He estado usando WebFaction para alojar datos SIG en una base de datos Postgresql / PostGIS con MapServer y creo que el servicio no tiene rival por el costo
<$10
por mes. Si desea utilizar PostGIS 2.0, debe instalarlo usted mismo, lo cual es un poco complicado, pero proporcionan PostGIS 1.5 de forma predeterminada (debe abrir un ticket de soporte). Este es un servicio de alojamiento compartido en CentOS donde tiene total flexibilidad para instalar cualquier cosa en su propia porción del servidor.No he estado usando Webfaction para servir mosaicos, pero sí proporcionan 100 GB de espacio; No estoy seguro de si la RAM sería demasiado costosa, ya que el valor predeterminado es 256 MB (y cada bloque 256 cuesta $ 7 adicionales por mes)
fuente
Otra posibilidad que usa AWS:
Es posible que desee considerar el uso del método AWS Lambda Tiler que Seth Fitzsimmons ideó. Lo ha estado usando para el proyecto Open Aerial Map y lo usé para un proyecto de cliente privado mientras trabajaba en Stamen Design.
Hay una publicación de blog completa que escribí que documenta cómo configurar AWS Lambda Tiler en Medium.com . Tenga en cuenta que la publicación del blog solo cubre datos de trama de mosaico, pero también utilizamos este proceso en Stamen para conducir nuestros mosaicos de mapas globales de Terrain Classic que se generan a partir de una combinación de datos de OSM y Tierra natural a través de PostgreSQL, PostGIS, Mapnik y CartoCSS.
Uno de los beneficios de este enfoque es que no tiene un servidor de mosaico para mantener y solo paga por uso de cada llamada de función de AWS Lambda, lo que estoy bastante seguro es que es barato para proyectos más pequeños que no recibir una gran cantidad de tráfico web Una de las desventajas de este enfoque es que los mosaicos son sembrados por el usuario desplazando y haciendo zoom en el mapa, por lo que la primera representación puede ser lenta, aunque puede pre-sembrar los mosaicos con anticipación. Los mosaicos se escriben y almacenan en S3 después de que se procesan por primera vez, por lo que la carga posterior de mosaicos es mucho más rápida.
fuente
Para obtener precios detallados de los servicios de AWS, puede usar la calculadora en línea que se encuentra aquí: http://calculator.s3.amazonaws.com/calc5.html
Para una pequeña instancia EC2 que ejecuta Linux, si está dispuesto a comprometerse por un año, puede comprar una instancia reservada que costará alrededor de $ 25 / mes. Eso es en comparación con alrededor de 44 / mes para precios a pedido o precios sin contrato.
Creo que la respuesta breve a su pregunta es que si está buscando un proveedor de infraestructura para encargarse de sus necesidades personales de aplicaciones de mapeo web, AWS podría ser excesivo. Si está buscando un proveedor de TI para aplicaciones de producción, especialmente si requieren HA y escalabilidad, entonces AWS es su respuesta. Esto se vuelve aún más cierto si está creando aplicaciones que aprovechan los muchos servicios de pegamento que proporciona AWS, como SQS, SNS, SWF, etc.
¿Qué tipo de EC2 necesitas? Esa es una función del requisito específico de sus aplicaciones. El punto principal de la TI basada en la nube es que puedes probar antes de comprar. Pruebe su aplicación sin compromiso, y solo cuando sepa, tome una decisión informada acerca de comprometerse con un tipo EC2 durante un período de tiempo (la compra de RI).
fuente
No soy un experto con mucho o realmente ningún conocimiento al respecto, aparte de que he estado ejecutando un servidor web en Amazon EC2 durante algún tiempo, así que esta no es una respuesta.
No estoy seguro de que esté utilizando estas herramientas para su mejor uso mediante el procesamiento previo y la carga.
Si eso no disuade o causa un replanteamiento, probablemente primero elija su servidor de mapas favorito, luego elija un sistema operativo compatible para ese servidor de mapas, luego vaya a AWS EC2 y encuentre la instancia que mejor se adapte a sus necesidades (tamaño, memoria, espacio, región).
Puede o no haber una AMI que contenga toda la pila que necesita, por lo que luego configúrela y luego instale su pila.
Existe una gran posibilidad de que logre todo eso de forma "gratuita" o barata.
fuente
Es cierto que puede optar por AWS si está utilizando los diferentes servicios de ellos, ya que AWS es bastante costoso. Si desea obtener precios más baratos con los mismos beneficios, recomendaría https://fxdata.cloud o https://digitalocean.com, ya que ambos tienen servicios apreciables y precios más baratos. Básicamente obtendrá todas las opciones de SO y DBMS con alta confiabilidad.
fuente