2009-09-02 4 views
42

Wir sind dabei, an einem neuen kommerziellen Webprojekt zu arbeiten und betrachten Google App Engine als eine potenzielle Plattform. FragenGoogle App Engine als Produktionsplattform

:

  1. Hat Google App Engine ist wirklich skalierbar und kann als Produktionsplattform für kommerzielle Projekt in Betracht gezogen werden?
  2. Ist es teurer (oder billiger) als gute Hosting-Unternehmen Service auf lange Sicht?
  3. Ist es möglich (und ziemlich billig) die App von Google App Engine zu unabhängigen Server/Farm zu verschieben (z es als privates System zu verwenden, unsere eigene Hardware usw. zu nutzen)?
  4. Gibt es einige Mechanismen, mit DDoS-Angriffen umzugehen?
  5. Kann ich eine vollständige Sicherung der App-Daten erstellen?

Sorry für solche dumme Fragen.

+2

+1 Gute Frage, besonders bei DDoS. Ohne Verteidigung dagegen können Angriffe Ihr freies Limit oder sogar Ihr Geld essen :( –

Antwort

3

Es hängt alles von Ihren Bedürfnissen ab. Für ein Projekt, das in kürzester Zeit von sehr wenigen Benutzern auf Millionen von Benutzern skaliert werden muss, könnte Google App Engine genau das sein, wonach Sie suchen.

Beachten Sie jedoch, dass Sie von den Einschränkungen von GAE überrascht sein könnten. Datastore kann unter anderem keine Volltextsuche oder Abfragen mit der IN-Anweisung durchführen. Seien Sie also vorsichtig, um anzugeben, was Ihre Anwendung benötigt und welche Daten Sie speichern und suchen werden.

Dies bedeutet auch, dass das Verschieben Ihrer Anwendung von GAE auf einen separaten Server mühsam sein kann, da die Datenbankarchitektur höchstwahrscheinlich unterschiedlich sein wird.

+1

+1 für überraschende Beschränkungen. Jedoch sind das, was GAE so skalierbar macht.Auch nicht, dass Sie Ihre Daten einfach exportieren können –

+0

Ich würde auch die Google I/O-Videos auf AppEngine von 2010 ansehen. Sie sind ziemlich beschäftigt, die verschiedenen Möglichkeiten zu erhöhen, Ihre Daten abzufragen. – Jilles

4
  1. Uhr google IO (Whre unter anderem sie sagen, dass: „yep es scallable“
  2. dass ... hängt auch für Sie Es kann für Last bezahlen (Sie frei sein, die du hast)
  3. .. mit appdrop
  4. Sie können beispielsweise auf Amazon bewegen. Es ist auch eine gute Idee app-engine-patch zu verwenden.
  5. ... gute Frage. ich wirklich nicht wissen.
  6. verwenden GAEBar.
+0

appdrop sieht so aus, als ob es aufgegeben wurde, und es verwendete nur das SDK von dem, was ich sammeln kann (d. H. Nicht eine skalierbare BigTable-Lösung), so bleibt die Frage nach Portabilität in meinem Kopf. Nicht zu sagen, du könntest es nicht tun, aber wie viel Aufwand wäre erforderlich? – RyanW

1

Sie sind Frage Nr. 3 wirft eine rote Fahne. Wenn dies ein wichtiges Problem ist, warne ich zu diesem Zeitpunkt vor App Engine. Ich liebe die Plattform und bezweifle nicht, dass sie irgendwann zu realisierbaren Migrationspfaden zu einer selbst gehosteten Lösung führen wird, aber nicht jetzt. Dinge wie appdrop beweisen, dass es möglich wäre, aber wäre der Aufwand und die Investition es wert? Das ist die Frage, die ich stellen möchte. Ich würde gerne wissen, ob jemand erfolgreich eine echte App für die Produktion App-Engine auf einen anderen Host portiert hat.

Backups sollten leicht skripted sein oder es gibt Tools wie GAEbar wie Bolotov erwähnt.

In Bezug auf Kosten, können Sie wahrscheinlich zehn (vielleicht Hunderte) von Tausenden von Objekten (Aufzeichnungen) und angemessenen Verkehr/Nutzung kostenlos bekommen. Darüber hinaus bin ich mir über vergleichende Hosting-Kosten nicht sicher, klingt nach einem guten Bereich, in dem man etwas recherchieren kann (Anmerkung zu sich selbst).

Schließlich stimmt Silfverstrom bezüglich Einschränkungen, insbesondere bei der Volltextsuche, recht. Es gibt einige Projekte, die in Angriff genommen werden, aber wahrscheinlich nichts, das so robust ist wie ein ausgereiftes RDBMS.

10

ich Frage beantworten werde 1:

ich in der Pilotphase eines neuen Web-Anwendung bin auf App Engine. Wir haben ungefähr einen Monat damit verbracht, Code zu schreiben und die Dinge für unseren ersten Kunden bereit zu machen. Sie sind letzte Woche live gegangen. Sie lieben die Software, aber vor ein paar Tagen fing ich an, zufällige Frist überschritten Fehler in der Anwendung zu bekommen. Sie suchen einen Datensatz oder eine Liste auf und es würde in Millisekunden zurückkommen. Das nächste Mal würde es 30 Sekunden dauern und mit einem Überschreitungsfehler zurückkommen.

Die Stack-Spuren im Dashboard ergeben zufällige Ergebnisse. Ich habe alles ausprobiert und die App sogar auf eine Hallo-Welt reduziert. Ich habe eine Protokollnachricht in unsere Django-Prozessanforderungs-Middleware geschrieben, das erste Bit unseres Codes, der ausgeführt wird. Es zeigte, dass es bei den Timeout-Anfragen 25 Sekunden dauerte, bis google die Anfrage zur Ausführung unseres process_request-Codes erhielt. Ich postete im Google Forum und bekam nichts. Ich kontaktierte jemanden bei Google und sie antworteten schnell zurück, sagten aber nur, dass sie das Team kontaktieren würden. Nichts seit.

Es ist möglich, dass ich etwas mache, um das zu verursachen, aber ich bezweifle es wirklich. Google bietet keine Unterstützung, daher bin ich im Grunde kein Glück.

Wenn dies eine vollständige kommerzielle Anwendung wäre, wäre ich aus dem Geschäft.

tl; dr: Google App Engine ein großes Versprechen hat aber braucht, um zu reifen und ist noch nicht geeignet für kommerzielle Produktion

+0

Könnten Sie einen Link zum Forum-Thread geben? – Sergey

+2

Das zugrunde liegende Problem ist hier: http://code.google.com/p/googleappengine/issues/detail?id=1695 Mein ursprünglicher Thread ist hier, aber es gibt Dutzende von ihnen zum gleichen Thema: http : //groups.google.com/group/google-appengine/browse_thread/thread/5373a2efe1a973bb Für mich hat sich das Problem in dieser Woche (21. September 2009) geklärt und Google hat am 22. ein größeres Upgrade durchgeführt. Andere sind immer noch mit dem Problem konfrontiert. –

0

Um mit einigen neueren Informationen (2013) zu aktualisieren, hat GAE jetzt eine Textsuch-API. Sie können Daten in der Datenbank nicht direkt suchen. Sie erstellen durchsuchbare Dokumente aus Ihren Daten und fügen diese einem durchsuchbaren Index hinzu. Es ist nicht sehr schwer zu tun, aber es ist eine Hektik. Insbesondere müssen Sie die geänderten Dokumente bei jeder Änderung Ihrer Daten neu generieren und im Index aktualisieren.

Es ist auch ziemlich einfach, Daten in Google Big Query zu exportieren, was die Berichterstellung erleichtert.