Unterschätzen Sie bei der Auswahl einer Architektur für einen Service, der sich so sehr auf eine „klassische“ Architektur wie Webkarten stützt, niemals die Wirksamkeit herkömmlicher Hosting-Lösungen wie RackSpace Cloud Server oder Linode .
Sie haben viel weniger Auswahlmöglichkeiten (wie S3 verwenden oder nicht, Load Balancer oder nicht, Backups usw. oder nicht und wie viel kostet das?), Deren Ergebnis schwer vorherzusagen ist UND, was noch wichtiger ist, Sie können Verwenden Sie Tools, mit denen Sie bereits vertraut sind.
Nachdem ich das vor einiger Zeit selbst durchgemacht habe, kann ich Ihnen sagen, dass die entscheidenden Faktoren für meine Entscheidung, einen Webkarten-Service auf Rackspace anstatt auf AWS zu hosten, folgende waren:
- Cloud Server sind (stabiler) als EC2-Instanzen. Es wird erwartet , dass EC2-Instanzen tatsächlich fehlschlagen, und sie werden fehlschlagen
- EBS-Volumes scheitern ebenfalls (es gibt viele traurige Nachrichten) und weisen im Allgemeinen eine schlechte E / A auf
- Wenn Sie nicht die E / A-Konflikte für größere Instanzen auswählen, kann dies ein Problem sein (insbesondere, wenn Sie die Kacheln in EC2 einbinden möchten, anstatt sie zu kopieren). Es könnte auch ein Problem mit MTBtiles-Datenbanken sein
- Jedes Mal, wenn Sie Ihren Server neu starten, ändert sich die öffentliche IP-Adresse: Dies ist bei Linode oder Rackspace nicht der Fall
- Sie müssen selbst eine Backup- und Restore-Strategie entwickeln, während sowohl Linode als auch Rackspace tägliche und wöchentliche automatische Snapshots und Restores per Mausklick bereitstellen
- Wenn der Host, auf dem Ihr VPS ausgeführt wird, ausfällt, sorgt Rackspace dafür, dass Ihre Instanz verschoben und auf einem anderen Server neu gestartet wird. Dies geschieht in 4 Stunden (dies ist in ihrem SLA enthalten). Das ist mir im Urlaub passiert: Es fühlte sich sehr professionell an. Linode sollte dasselbe tun
- Linode hat eine SLA mit hervorragender Verfügbarkeit: 99,9% und sie behaupten, dass sie eine hervorragende Leistung erbringen, weil sie nicht zu viel Leistung erbringen
- Rackspace hat kürzlich eine Volume-Strategie wie EBS entwickelt, sodass der Speicherplatz kein Problem mehr sein sollte. Wenn Sie zuvor viel Speicherplatz benötigt haben, um eine große Instanz auf EC2 zu erhalten, konnten Sie Speicher, CPU und Speicher mit einer genaueren Steuerung bereitstellen
Damit sage ich nicht, dass Amazon AWS anderen unterlegen ist, sondern dass herkömmliche Hosting-Lösungen manchmal sowohl skalierbar als auch Cloud-basiert sind. Ein bemerkenswertes Beispiel ist das StackExchange- Netzwerk.
In Ihrem Fall würde ich also eine große Instanz auf Rackspace starten und dann alle Daten in eine lokale Postgis-Instanz laden. Nach der Konfiguration der Rendering-Engine würde ich dann den Cache aussortieren. Eine große Instanz führt den Seeding-Vorgang so schnell aus, dass die Ausführung nicht zu teuer wird. Sie können Kacheln in der Datei fs, MTBtiles, auch in S3 speichern (übrigens können Sie S3-Daten auf einem CDN mit CloudFront bereitstellen ).
Nach Abschluss des Seedings würde ich den Server neu starten und seine Größe in eine kleine Instanz (möglicherweise sogar 512 MB) ändern, da zu diesem Zeitpunkt nur statische Daten bereitgestellt werden müssten.
Dies wird eine ziemlich lange Antwort, also höre ich hier auf. Wenn Sie möchten, dass ich bestimmte Aspekte erläutere, schreiben Sie einfach einen Kommentar.
Haftungsausschluss: Ich bin nicht mit Rackspace, Linode oder einem anderen von mir genannten Anbieter verbunden.