Frage

Mit Blick auf ein sehr kleines, schnelles ‚n schmutziges Seite Projekt zu tun. Ich mag die Tatsache, dass die Google App Engine auf Python läuft mit Django bereits eingebaut - gibt mir eine Ausrede, dass die Plattform, um zu versuchen ... aber meine Frage ist:

Hat jemand Verwendung der App Engine für etwas anderes als ein Spielzeug Problem gemacht? Ich sehe einige gutes Beispiel gibt apps aus, also würde ich nehme an, das ist gut genug für die eigentliche Behandlung ist, aber ich wollte ein Feedback erhalten.

Alle anderen Erfolg / Misserfolg Anmerkungen wäre toll.

War es hilfreich?

Lösung

Ich habe App Engine versucht, für meine kleine Beben Uhr Anwendung http://quakewatch.appspot.com/

war mein Ziel, die Fähigkeiten von App Engine, um zu sehen, so sind hier die wichtigsten Punkte:

  1. es nicht mit django standardmäßig kommt, hat es seinen eigenen Web-Framework, das hat URL Dispatcher wie django pythonic ist und es verwendet django-Vorlagen Also, wenn Sie django exp. Sie finden es einfach zu bedienen
  2. Sie können keine lange laufenden Prozess auf dem Server ausführen, was Sie tun, ist die Antwort auf Anfrage und die sonst schnell sein sollte appengine töten Also, wenn Sie Ihre App viele Backend-Verarbeitung appengine braucht, ist nicht der beste Weg, sonst werden Sie die Verarbeitung auf einem Server der eigenen zu tun haben
  3. My quakewatch App eine Abonnement-Funktion hat, es bedeutet, dass ich hatte letzte bebt per E-Mail, wie sie passiert ist, aber ich kann nicht einen Hintergrundprozess in App Engine zu überwachen neue Beben läuft Lösung ist hier einen dritten Teilservice wie pingablity.com zu verwenden, die an einem Ihrer Seite verbinden können, und das führt das Abonnement emailer aber auch hier werden Sie darauf achten, dass Sie verbringen nicht viel Zeit hier oder brechen Aufgabe in mehrere Stücke
  4. Sie stellt Django wie Modellierungsfunktionen, aber Backend ist völlig anders, aber für ein neues Projekt sollte es keine Rolle.

Aber alles in allem denke ich, es ist ausgezeichnet Anwendungen für die Erstellung, die nicht viel Hintergrundverarbeitung benötigen.

Edit: Jetzt Aufgabenwarteschlangen für die Ausführung von Batch-Verarbeitung oder geplante Aufgaben verwendet werden kann

Edit: nach der Arbeit für ein Jahr eine reale Anwendung auf GAE / erstellen, jetzt meine opnion ist, dass, wenn Sie eine Anwendung machen, den Millionen und Millionen von Benutzern skalieren soll, nicht GAE verwenden. Die Aufrechterhaltung und tut triviale Aufgaben in GAE ist ein Kopfschmerz durch verteilte Natur, zu vermeiden Frist Fehler überschritten wird, zählt Einheiten oder tut komplexe Abfragen komplexen Code erfordert, so klein, komplexe Anwendung auf LAMP bleiben sollte.

Edit: Modelle sollten speziell entworfen werden alle Transaktionen Erwägen Sie in Zukunft haben wollen, weil Entitäten nur in derselben Einheit Gruppe können in einer Transaktion verwendet werden, und es macht den Prozess der Aktualisierung zwei verschiedene Gruppen einen Alptraum z.B. Geld von user1 in der Transaktion Benutzer2 unmöglich ist, es sei denn, sie in derselben Einheit Gruppe sind, aber sie gleichen Entitätsgruppe machen möglicherweise nicht am besten für die häufige Aktualisierung Zwecke .... lesen Sie http://blog.notdot.net/2009/9 / Verteilen-Transaktionen-on-App-Motor

Andere Tipps

I GAE bin mit mehreren High-Traffic-Anwendungen zu hosten. Wie in der Größenordnung von 50 bis 100 req / sec. Es ist großartig, ich kann es gar nicht genug empfehlen.

Meine bisherigen Erfahrungen mit Web-Entwicklung waren mit Rubin (Rails / Merb). Learning Python war einfach. Ich habe nicht mit Zohan an Django oder Pylonen oder einem anderen Rahmen, nur von den GAE Beispielen gestartet und gebaut, was ich aus dem Grunde Webapp Bibliotheken benötigt, die bereitgestellt werden.

Wenn Sie die Flexibilität von SQL gewohnt sind kann der Datenspeicher etwas gewöhnungsbedürftig. Nichts zu traumatische! Die größte Einstellung bewegt sich weg von Joins. Sie haben die Idee zu vergießen, dass Normalisieren von entscheidender Bedeutung ist.

Ben

Eine der zwingenden Gründe, warum ich gekommen sind, über für die Verwendung von Google App Engine ist die Integration mit Google Apps für Ihre Domain. Im Wesentlichen ermöglicht es Ihnen, benutzerdefinierte zu erstellen, verwaltet Web-Anwendungen, die auf die (kontrollierte) Logins Ihrer Domain beschränkt sind.

Die meisten meiner Erfahrung mit diesem Code wurde eine einfache Zeit / Task-Tracking-Anwendung zu bauen. Die Template-Engine war einfach und hat noch eine mehrseitige Anwendung sehr zugänglich. Das Login / user Bewusstsein api ist ähnlich nützlich. Ich war in der Lage eine öffentliche Seite / private Seite Paradigma, ohne zu viel Thema zu machen. (Würde ein Benutzer anmelden, um die privaten Seiten zu sehen. Ein anonymer Benutzer wurde nur die öffentliche Seite.)

Ich war gerade erst in den Datenspeicher Teil des Projektes, als ich für „echte Arbeit“ entfernt wurde gezogen.

Ich konnte eine Menge tun (es ist nach wie vor noch nicht geschehen) in einer sehr kleinen Menge an Zeit. Da ich noch nie Python benutzt hatte, war dies besonders angenehm (beide denn es war für mich eine neue Sprache, und auch, weil die Entwicklung war immer noch schnell trotz der neuen Sprache). Ich lief in sehr wenig, was mich dazu gebracht zu glauben, dass ich nicht in der Lage sein, meine Aufgabe zu erfüllen. Ich habe stattdessen einen ziemlich positiven Eindruck von der Funktionalität und Features.

Das ist meine Erfahrung mit ihm. Vielleicht ist es nicht mehr als ein unfertiges Spielzeug Projekt darstellen, aber es ist eine fundierte Studie der Plattform darstellen, und ich hoffe, das hilft.

Die „App Engine läuft Django“ Idee ist ein wenig irreführend. App Engine ersetzt die gesamte Schicht Django Modells so vorbereitet werden, einige Zeit zu verbringen mit App Engine-Datenspeicher akklimatisiert zu werden, das eine andere Art und Weise der Modellierung erfordert und zum Nachdenken über Daten.

Ich habe GAE http://www.muspy.com

Es ist ein bisschen mehr als ein Spielzeug-Projekt, aber nicht übermäßig komplex entweder. Ich hänge immer noch auf ein paar Fragen von Google angesprochen werden, aber insgesamt die Website zu entwickeln, war eine sehr angenehme Erfahrung.

Wenn Sie nicht mit Hosting-Fragen beschäftigen möchten, Server-Administration, etc, ich kann es auf jeden Fall empfehlen. Vor allem, wenn Sie bereits wissen, Python und Django.

ich denke, App Engine für kleine Projekte ziemlich cool ist an dieser Stelle. Es gibt eine Menge zu sagen, für nie über Hosting zu kümmern. Die API schiebt man auch in Richtung Aufbau skalierbarer Anwendungen, die eine gute Praxis ist.

  • app-engine-patch ist eine gute Lage zwischen Django und App Motor, so dass die Verwendung des auth-App und vieles mehr.
  • Google hat einen SLA und Preismodell bis Ende 2008 versprochen.
  • Die Anträge müssen innerhalb von 10 Sekunden abgeschlossen ist, Unteranforderungen zu Web-Service erforderlich in 5 Sekunden abzuschließen. Dies zwingt Sie eine schnelle, leichte Anwendung zu entwerfen, Abladen ernsthafte Verarbeitung auf andere Plattformen (zum Beispiel einen gehosteten Dienstes oder eine EC2-Instanz).
  • Weitere Sprachen werden in Kürze! Google will nicht sagen, was allerdings :-). Mein Geld ist auf Java nächste.

Diese Frage vollständig beantwortet wurde. Was gut ist. Aber eine Sache ist vielleicht erwähnenswert. Die Google App Engine hat ein Plugin für die Eclipse-IDE, die eine Freude, mit zu arbeiten.

Wenn Sie bereits tun, um Ihre Entwicklung mit Eclipse Sie so glücklich darüber sein werden.

auf der Google App Engine-Website zu implementieren alles, was ich tun müssen, ist ein kleiner Knopf klicken - mit dem Flugzeug-Logo - Super.

Schauen Sie die SQL-Spiel , ist es sehr stabil und schob tatsächlich Verkehrsgrenzen an einem Punkt so dass es von Google gedrosselt zu werden. Ich habe nichts gesehen, aber ein gute Nachricht über App Engine, außer Sie App auf Servern jemand andere Kontrollen vollständig Hosting.

Ich habe GAE eine einfache Anwendung zu erstellen, die einige Parameter akzeptiert, Formate und E-Mail senden. Es war extrem einfach und schnell. Ich habe auch einige Performance-Benchmarks auf der GAE-Datenspeicher aus und memcache Dienste ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). Es ist nicht so schnell. Meine Meinung ist, dass GAE ernsthafte Plattform ist, die bestimmte Methodik erzwingen. Ich denke, es auf die wirklich skalierbare Plattform entwickeln wird, wo schlechte Praktiken einfach nicht erlaubt.

Ich habe GAE für meine Flash-Gaming-Site, Bearded Spiele . GAE ist eine großartige Plattform. Früher habe ich Django-Vorlagen, die so viel einfacher, als die alten Tage von PHP sind. Es kommt mit einem großen Admin-Panel, und gibt Ihnen wirklich gute Protokolle. Der Datenspeicher ist anders als eine Datenbank wie MySQL, aber es ist viel einfacher, mit zu arbeiten. Der Aufbau der Website war einfach und unkompliziert und sie haben viele hilfreiche Ratschläge auf der Website.

habe ich GAE und Django eine Facebook-Anwendung zu erstellen. Ich benutzte http://code.google.com/p/app-engine-patch als mein Ausgangspunkt, da es Django 1.1-Unterstützung hat. Ich versuche nicht, eine der manage.py Befehle zu verwenden, weil ich davon ausgegangen, dass sie nicht arbeiten, aber ich habe nicht einmal hineinschauen. Die Anwendung hatte drei Modelle und auch pyfacebook verwendet, aber das war das Ausmaß der Komplexität. Ich bin in dem Prozess eine viel kompliziertere Anwendung zu bauen, die ich auf http://brianyamabe.com .

scroll top