2009-09-02 24 views
42

Stiamo per iniziare a lavorare su un nuovo progetto web commerciale e considerare Google App Engine come una potenziale piattaforma.Google App Engine come piattaforma di produzione

Domande:

  1. fa Google App Engine è davvero scalabile e può essere considerato come una piattaforma di produzione per progetto commerciale ?
  2. È più costoso (o meno costoso) di un buon servizio di hosting a lungo termine?
  3. E ' possibile (e piuttosto a buon mercato) per spostare l'app da Google App Engine per di server/fattoria indipendente (ad esempio per usarlo come un sistema privato, di sfruttare il nostro proprio hardware, ecc)?
  4. C'è qualche meccanismo per gestire gli attacchi DDoS?
  5. Posso eseguire un backup completo dei dati dell'app ?

Ci scusiamo per domande così sciocche.

+2

+1 Buona domanda, in particolare su DDoS. Senza difese contro di esso gli attacchi possono consumare il tuo limite gratuito o anche i tuoi soldi :( –

risposta

3

Tutto dipende dalle vostre esigenze. Per un progetto che ha la necessità di scalare da pochissimi utenti a possibili milioni di utenti in breve tempo, google app engine potrebbe essere esattamente quello che stai cercando.

Tuttavia, si noti che si potrebbe essere sorpresi dalle limitazioni che GAE viene fornito. Datastore può tra l'altro non eseguire ricerche o query full-text utilizzando l'istruzione IN. Quindi, fai attenzione a specificare quali saranno i requisiti dell'applicazione e quali dati stai per archiviare e cercare.

Ciò significa anche che spostare l'applicazione da GAE a un server separato potrebbe essere problematico, poiché l'architettura del database sarà molto probabilmente diversa.

+1

+1 per limiti sorprendenti. Tuttavia, questi sono ciò che rende GAE così scalabile.Inoltre, non è possibile esportare facilmente i dati. –

+0

Inoltre, guarderei i video di I/O di Google su AppEngine del 2010. Sono abbastanza occupati a sfruttare i diversi modi di interrogare i dati. – Jilles

4
  1. Guarda google IO (whre tra l'altro si dice che: "Sì è scallable"
  2. Dipende ... Può anche essere liberi per voi (si paga per il carico che hai)
  3. ..
  4. È possibile spostare ad Amazon per esempio usando appdrop. E 'anche una buona idea di utilizzare app-engine-patch.
  5. ... buona domanda. mi sono davvero non lo so.
  6. usa GAEBar.
+0

appdrop sembra essere stato abbandonato e ha utilizzato l'SDK solo da ciò che posso raccogliere (ovvero non è una soluzione BigTable scalabile), quindi la domanda rimane ancora sulla portabilità nella mia mente. Per non dire che non potevi farlo, ma quanto sarebbe stato necessario uno sforzo? – RyanW

1

La domanda n. 3 alza una bandiera rossa. Se questo è un problema importante, farei attenzione contro App Engine in questo momento. Adoro la piattaforma e non dubito che i loro saranno percorsi di migrazione praticabili verso una soluzione self-hosted ad un certo punto, ma non ora. Cose come appdrop provano che sarebbe possibile fare, ma lo sforzo e l'investimento sarebbero valsi la pena? Questa è la domanda che vorrei chiedere. Mi piacerebbe sapere se qualcuno ha portato con successo un'app del motore di produzione di produzione reale in un altro host.

I backup devono essere facilmente programmati o ci sono strumenti come GAEbar come menzionato da Bolotov.

costo Per quanto riguarda, probabilmente si potranno ottenere decine (forse centinaia) di migliaia di oggetti (record) e decente traffico/uso gratis. Oltre a ciò, non sono sicuro dei costi di hosting comparativo, sembra una buona area in cui fare qualche ricerca (nota a se stessi).

Infine, Silfverstrom ha ragione su limitazioni, soprattutto intorno la ricerca full-text. Ci sono alcuni progetti in corso per affrontare questo, ma probabilmente nulla di solido come un RDBMS maturo.

10

Risponderò domanda 1:

Sono nella fase pilota di una nuova applicazione web sul motore di app. Abbiamo impiegato circa un mese per scrivere il codice e preparare le cose per il nostro primo cliente. Sono andati a vivere la scorsa settimana. Adorano il software, ma un paio di giorni fa ho iniziato ad avere una scadenza casuale che superava gli errori nell'applicazione. Cerchi un record o una lista e tornerebbe indietro di qualche millisecondo. Il prossimo andare ci vorrebbe 30 secondi e tornare con un errore di scadenza superato.

Le analisi di stack nel cruscotto danno risultati casuali. Ho provato di tutto, anche spogliando l'app in un mondo ciao. Inserisco un messaggio di log nel nostro middleware di richiesta del processo django, il primo bit del nostro codice che viene eseguito. Stava dimostrando che durante le richieste di timeout ci sono voluti 25 secondi da google per ottenere la richiesta di eseguire il nostro codice process_request. Ho pubblicato il forum di google e non ho ottenuto nulla. Ho contattato qualcuno su google e loro hanno risposto rapidamente, ma hanno solo detto che avrebbero contattato la squadra. Niente da allora

E 'possibile che ci sia qualcosa che sto facendo per causare questo ma davvero dubito. Google non fornisce supporto quindi sono praticamente sfortunato.

Se questo fosse un piena applicazione commerciale vera e sarei fuori dal mercato.

tl; dr: google motore di applicazione ha una grande promessa, ma ha bisogno di maturare e non è ancora adatto per la produzione commerciale

+0

Puoi fornire un collegamento al thread del forum? – Sergey

+2

La questione di fondo è qui: http://code.google.com/p/googleappengine/issues/detail?id=1695 mio thread originale è qui, ma ci sono decine di loro sullo stesso tema: http : //groups.google.com/group/google-appengine/browse_thread/thread/5373a2efe1a973bb Per me il problema si è effettivamente risolto questa settimana (21 settembre 2009) e Google ha eseguito un importante aggiornamento il 22. Altri stanno ancora vivendo il problema. –

0

Per aggiornare con alcune informazioni più recenti (2013), GAE ora ha un'API di ricerca testo. Non è possibile cercare direttamente i dati nel database; crei documenti ricercabili dai tuoi dati e li aggiungi a un indice ricercabile. Non è terribilmente difficile da fare, ma è una seccatura. In particolare, ogni volta che i dati cambiano, è necessario rigenerare nuovamente i documenti modificati e aggiornarli nell'indice.

È anche abbastanza facile esportare i dati in Google Big Query, il che rende facile fare report.