2010-08-25 21 views
5

Sto per iniziare un nuovo progetto di Django con gli amici. Questo progetto include un sito Web, API per le applicazioni mobili, compensazione e fatturazione, aspetti di internazionalizzazione ecc ...Pro App di Google App Engine per Django?

Quali sono i pro e i contro per l'utilizzo di Google App Engine rispetto a una normale soluzione di hosting Web?

Naturalmente la documentazione di GAE elogia il loro supporto per il django, ma mi piacerebbe sentire da persone con esperienza di prima mano.

Here's a general discussion in merito a pro \ cons per GAE. Sono più interessato ai dettagli riguardanti il ​​supporto di django (e librerie correlate).

risposta

8

Ciò che mi ha venduto su Google App Engine vs ospitare un app Django erano i punti seguenti:

  1. No DB Admin: non abbiamo avuto bisogno di preoccuparsi di amministrare e gestire un database. Questo è stato super produttivo per una squadra di due uomini.
  2. The Datastore Rende il senso: Dato che non avevamo esperienza RDBMS, GAE Datastore ha molto senso: si tratta di una tabella hash di grandi dimensioni con supporto delle transazioni. Sicuramente meno complicato - saggio saggio - di un database tradizionale.
  3. Nessuna capacità di amministratore di sistema richiesta: Non sono sicuro di te, ma non avevamo competenze di sysadmin pazzo. Abbiamo appena scritto un semplice script Python che ha compresso i nostri JavaScript e CSS e implementato. È stato abbastanza buono
  4. Distribuzione semplice e controllo versioni: l'interfaccia online consente di testare una nuova versione prima di impostarla come predefinita. Quindi, se la nuova versione si rompe, puoi facilmente passare a una versione precedente.
  5. Scalabilità facile: Abbiamo abilitato la fatturazione per un massimo di $ 4 al giorno, il che ci ha dato un sacco di cicli di CPU e un'enorme quota di email. Non dovevamo preoccuparci di server in calo. Ancora una volta, questo ti dà la pace della mente se sei una piccola squadra.

È inoltre possibile accedere facilmente a cron, attività offline e e-mail. Oh, e puoi anche usare il motore dei template di Django, che è uno dei miei pezzi preferiti di Django.

Contro:

  1. Nessun supporto FTP: Un sacco di aziende usano ancora FTP. È possibile effettuare richieste requrests su HTTP/S con GAE, quindi non è possibile pubblicare o caricare file FTP.
  2. 3000 file per app: l'app non può avere più di questo. Ma per la versione Python, puoi raggruppare librerie aggiuntive nei file zip e usare zipserve per servirle. Io di solito anche sprite up small images into one e comprimo JavaScript e CSS e li raggruppo in un unico file ciascuno.
  3. Nessun calcolo costoso: Tutte le richieste devono finire in 30 secondi. Ma GAE ti offre cron e code di attività, quindi se hai bisogno di fare calcoli super-costosi, dovrai romperle.
  4. Solo librerie Python pure: ad esempio, non è possibile utilizzare cPickle.
  5. Nessuna elaborazione di immagini legit: L'API di elaborazione immagini fornisce un sottoinsieme di PIL, ma se è necessario eseguire operazioni di sollevamento pesante è meglio portarlo all'esterno (di GAE).

Consiglio vivamente GAE se si dispone di un piccolo team, che sembra proprio il tuo, e non ti piace scherzare con la configurazione dei server. .

Buona fortuna!

+0

Questa è una buona serie di pro (anche se non specifici per il django). Ti capita di sapere anche dei contro? – Jonathan

+0

Nessuna elaborazione legittima delle immagini. Inoltre, puoi usare e caricare solo librerie che sono in puro Python; quindi niente cPickle per esempio. Oltre a questo, è davvero fantastico. – mahmoud

+0

potresti aggiungere gli svantaggi alla risposta? Una volta fatto, lo contrassegnerò come accettato. – Jonathan

2

Le sue quote gratuite sono abbastanza generose, quindi non pagherete nulla fino a quando il vostro sito non inizierà a ricevere una quantità considerevole di visite. Ciò lo rende ideale per un progetto come il tuo, in cui potresti non sapere se sarà un successo.