Підбираючи архітектуру для сервісу, який так сильно покладається на "класичну" архітектуру, як веб-карти, ніколи не занижуйте ефективність більш традиційних хостингових рішень, таких як RackSpace Cloud Server або Linode .
У вас буде набагато менше варіантів зробити (наприклад, використовувати S3 чи ні, завантажувати балансири чи ні, створювати резервні копії тощо) чи ні, і скільки це буде коштувати?), Результат якого важко передбачити І, що ще важливіше, ви зможете використовувати інструменти, які ви вже знайомі.
Переглянувши те саме я деякий час тому назад, я можу вам сказати, що критичними факторами мого рішення про розміщення служби веб-карт на Rackspace, а не AWS були:
- Хмарний сервер є (більш) стійким, ніж екземпляри EC2. Екземпляри EC2 насправді очікуються невдачі, і вони будуть терпіти невдачу
- Обсяги EBS теж не вдається (в новинах є багато сумних історій) і, як правило, поганий I / O
- якщо ви не вибрали більші екземпляри, суперечка вводу / виводу може бути проблемою (особливо якщо ви плануєте висівати плитки на EC2, а не копіювати їх наново). Також це може бути проблемою з базами даних MTBtiles
- Щоразу, коли ви перезавантажуєте сервер, публічний ip буде змінюватися: цього не відбувається на Linode або Rackspace
- Вам доведеться самостійно придумувати стратегію резервного копіювання та відновлення, тоді як Linode та Rackspace забезпечують автоматичні знімки та відновлення щоденних та щотижневих точок та натискань.
- Якщо хост, який запускає ваш VPS, не вдасться, Rackspace подбає про переміщення вашого примірника та перезапуск його на іншому сервері, і вони зроблять це через 4 години (це в їх SLA). Це сталося зі мною, коли я був у відпустці: почувався дуже професійно. Ліноде має робити те саме
- Linode має велику доступність SLA: 99,9%, і вони вимагають чудової продуктивності, оскільки не надмірно забезпечені
- Компанія Rackspace нещодавно розробила таку стратегію, як EBS, тому дисковий простір більше не повинен бути проблемою. Раніше, якщо вам потрібно було багато місця на диску, ви HAD, щоб отримати великий екземпляр, тоді як на EC2 ви можете забезпечити сховище, процесор і пам'ять з більш точним керуванням
З цим я не кажу, що Amazon AWS поступається іншим, я просто кажу, що іноді традиційні хостингові рішення можуть масштабуватися так само, як і хмарні. Помітний приклад - сама мережа StackExchange .
Отже, у вашому випадку я запустив би великий екземпляр у Rackspace і потім завантажував усі дані в локальний екземпляр Postgis. Потім, після налаштування двигуна візуалізації, я закладав би кеш. Великий екземпляр завершить процес посіву досить швидко, щоб він не став занадто дорогим для запуску. Ви можете зберігати плитки у fs, MTBtiles, навіть у S3 (btw, ви можете подавати дані S3 на CDN з CloudFront ).
Після завершення висіву я перезавантажую сервер і зміню його розмір у невеликий (можливо, навіть 512 Мб) екземпляр, оскільки в цей момент він повинен був би лише подавати статичні дані.
Це отримує якусь довгу відповідь, тому я збираюся зупинитися тут. Якщо ви хочете, щоб я детальніше зупинився на певних аспектах, просто залиште коментар.
Відмова: Я не пов'язаний з Rackspace, Linode або будь-яким іншим процитованим мною постачальником.