Wybierając architekturę dla usługi, która w tak dużym stopniu opiera się na „klasycznej” architekturze, takiej jak mapy internetowe, nigdy nie lekceważ skuteczności bardziej tradycyjnych rozwiązań hostingowych, takich jak RackSpace Cloud Servers lub Linode .
Będziesz miał znacznie mniej opcji do wyboru (np. Użyj S3 lub nie, równoważenia obciążenia czy nie, kopii zapasowych itp., Czy nie, a ile to będzie kosztować?), Którego wynik trudno przewidzieć ORAZ, co ważniejsze, będziesz w stanie użyj narzędzi, które już znasz.
Przeszedłem to samo jakiś czas temu, mogę powiedzieć, że krytycznymi czynnikami mojej decyzji o hostowaniu usługi map internetowych w Rackspace zamiast AWS były:
- Serwer w chmurze jest (bardziej) odporny niż instancje EC2. Oczekuje się, że instancje EC2 zawiodą i zakończą się niepowodzeniem
- Wolumeny EBS również zawodzą (w wiadomościach jest wiele smutnych historii) i ogólnie mają słabe wejścia / wyjścia
- chyba że wybierzesz większe instancje Rywalizacja we / wy może stanowić problem (szczególnie jeśli planujesz wysiać kafelki na EC2, zamiast kopiować je). Może to być również problem z bazami danych MTBtiles
- Za każdym razem, gdy uruchomisz ponownie serwer, publiczny adres IP zmieni się: nie dzieje się tak na Linode ani w Rackspace
- Będziesz musiał sam wymyślić strategię tworzenia kopii zapasowych i przywracania, podczas gdy zarówno Linode, jak i Rackspace zapewniają codzienne i cotygodniowe automatyczne migawki i przywracanie
- Jeśli host z uruchomionym VPS zawiedzie, Rackspace zajmie się przeniesieniem instancji i ponownym uruchomieniem jej na innym serwerze i zrobi to w 4 godziny (jest to w ich umowie SLA). Zdarzyło mi się, kiedy byłem na wakacjach: czułem się bardzo profesjonalnie. Linode powinno zrobić to samo
- Linode ma doskonałą dostępność SLA: 99,9% i deklaruje doskonałą wydajność, ponieważ nie przesadza
- Rackspace ostatnio opracował strategię wolumenu, taką jak EBS, więc miejsce na dysku nie powinno już stanowić problemu. Wcześniej, jeśli potrzebujesz dużej ilości miejsca na dysku, MUSISZ uzyskać dużą instancję podczas korzystania z EC2, możesz zapewnić pamięć, procesor i pamięć z lepszą kontrolą
Nie twierdzę, że Amazon AWS jest gorszy od innych, po prostu mówię, że czasami tradycyjne rozwiązania hostingowe mogą być skalowane tak samo jak rozwiązania oparte na chmurze. Godnym uwagi przykładem jest sama sieć StackExchange .
Tak więc w twoim przypadku uruchomiłbym dużą instancję w Rackspace, a następnie załadowałem wszystkie dane do lokalnej instancji Postgis. Następnie, po skonfigurowaniu mechanizmu renderowania, zasiałbym pamięć podręczną. Duża instancja zakończy proces inicjowania wystarczająco szybko, aby jego uruchomienie nie stało się zbyt drogie. Możesz przechowywać kafelki w fs, MTBtiles, nawet na S3 (przy okazji możesz obsługiwać dane S3 na CDN za pomocą CloudFront ).
Po zakończeniu inicjowania zrestartowałem serwer i zmieniłem jego rozmiar na małą (może nawet 512 MB) instancję, ponieważ w tym momencie musiałby obsługiwać tylko dane statyczne.
To dość długa odpowiedź, więc zamierzam się tutaj zatrzymać. Jeśli chcesz, żebym rozwinął pewne aspekty, po prostu napisz komentarz.
Oświadczenie: Nie jestem powiązany z Rackspace, Linode ani żadnym innym cytowanym przeze mnie dostawcą.