2010-08-09 16 views
29

Recentemente ho dovuto realizzare un progetto su Google AppEngine. All'inizio ero scettico. Ma ci sono alcuni approcci davvero carini su Appengine:Alternativa per Google AppEngine?

  • Nessuna installazione del server. Tutto funziona fuori dalla scatola. Gzip, librerie, ecc.
  • Distribuzione con un clic. Avvia GAE Launcher sul Mac e fai clic su DEPLOY. Fatto.
  • Bassi costi
  • Facile nel-produzione-logging

Ma ci sono alcune cose che non mi piacciono se sto pensando a progetti professionali

  • Il blobstore. È solo ... strano. E non sostituibile
  • Tutte le restrizioni da 1 MB
  • La sensazione che il tuo codice venga eseguito solo su AppEngine. (BigTable)

Conosci qualche alternativa simile a AppEngine? E non intendo servizi come EC2.

+0

che cosa ti dà fastidio esattamente sulla blobstore? è "backupable", come Nick cita nella sua risposta. –

+0

Mi piacerebbe suggerire è utilizzare a seconda del proprio ambito utilizzare parse.com o mongolab per il backend piuttosto che costoso datastore di google quindi successivamente è possibile scalare come richiesto senza problemi con mongolab (https://mongolab.com/) –

+0

duplicato di https://stackoverflow.com/questions/153721/what-alternatives-are-there-to-google-app-engine –

risposta

15

Credo Heroku è una grande alternativa.

E 'possibile eseguire la maggior parte delle GAE applicazioni esistenti, dato che supporta Django, ma anche:

  • Esso supporta Rubino (w o w/o Rails), Java (w o w/o primavera), Nodo .js, Clojure, ...
  • Ha un forte supporto CLI (git push per pubblicazione, creazione di app, ridimensionamento, log, ps, ...)
  • Supporta MySql e PostgreSQL (e così via , MongoDB, Amazon RDS, ecc)
  • ha un livello gratuito per 750 ore al mese (~ 1 macchina sempre) per ogni app.
  • Ha una raccolta di componenti aggiuntivi per fornire servizi cloud come risorse per le app
  • Ha un programma aggiuntivo per sviluppare i propri componenti aggiuntivi.

Davvero, è una buona alternativa.

Se si desidera che l'applicazione non è binded al GAE, l'approccio migliore è quello di utilizzare Langs ben noti e fornitori di persistenza ben noti. Ruby + PostgreSQL, ad esempio, potrebbe essere una combinazione molto portabile. Django pure, ma w/o BigTable ...

+1

Heroku funziona con WebRTC? – YumYumYum

+0

heroku per ora non affidabile come open shift. Vorrei suggerire Openshift per le vostre esigenze –

32

Si può avere uno sguardo a AppScale

La sua un'implementazione open-source di AppEngine che è possibile distribuire sulle proprie macchine, con una serie di banche dati tra cui scegliere.

+1

questo rende molto più senso allora la risposta accettata. Se la mia app è scritta in Python utilizzando il back-end del motore delle app, il fatto che Heroku supporti Ruby non significa nulla per me. – rutherford

15

AppScale e TyphoonAE sono entrambe implementazioni di terze parti della piattaforma App Engine. TyphoonAE è indirizzato a piccole e medie scale, mentre AppScale è mirato alla fine su larga scala.

Per quanto riguarda il backup del blobstore, questo è abbastanza fattibile: basta usare il gestore integrato per servire BLOB e, in combinazione con remote_api, è possibile scaricare i BLOB bene.

+0

Non funzionano in RED HAT ENTERPRISE LINUX 6.4 e Amazon EC2. Avete qualche soluzione? – YumYumYum

+5

@YumYumYum "Non funzionano" è eccezionalmente inutile. Perché non funzionano? –

+0

In CentOS 6 lo sto installando e dice: 'Ottenere il codice sorgente ..../build_script.sh: riga 23: apt-get: comando non trovato' – YumYumYum

6

Quasi odio parlare di Microsoft in una domanda relativa a Google, ma sono completamente indipendente dal venditore. Quindi, offrirò l'Azure di Microsoft come una piattaforma che offre molte somiglianze con AppEngine ma abbastanza differenze che potrebbero essere considerate una buona risposta alla tua domanda.

Azure e AppEngine sono simili in quanto entrambi sono progettati per consentire di creare applicazioni facilmente scalabili. Azure offre le opzioni standard per i toolkit web di Microsoft: C#, VB.NET, ASP.NET ASP.NET MVC, ma offre anche PHP. Ha un NoSQL, database di documenti come AppEngine, ma ti dà anche la possibilità di scegliere un'istanza più standard di SQL Server. Anche se non l'ho usato da solo, sembra che AppEngine for Business ora offra anche SQL.

Azure offre un mezzo pronto per avere processi in background di lunga durata. AppEngine non è il meglio della mia conoscenza.

Dal mio punto di vista, AppEngine ha l'enorme vantaggio di farti pagare per l'utilizzo solo quando una richiesta viene effettivamente elaborata. Un'istanza di Azure ti fa addebitare anche per il tempo in cui è completamente inattivo. Questo è del tutto tipico, ma il fatto che Google non lo fa in questo modo mi fa scegliere AppEngine ogni volta. Il mio budget è troppo stretto per permettermi di spendere soldi per ore di inattività della CPU.

+0

BTW, che dire dei contenitori Docker? Possono essere attivati ​​quando una richiesta viene effettivamente elaborata o è troppo lento per essere fattibile? –

+1

Vorrei sottolineare che una grande quantità di informazioni nel mio post è ormai superata, almeno in termini di ciò che le capacità di AppEngine sono. Mi piacerebbe davvero sapere di più su Docker, ma, per quanto ne so, girare una nuova istanza contenitore non avviene così rapidamente da fornire tempi di risposta accettabili per una richiesta web. D'altra parte, potrebbe essere praticabile dal punto di vista del ridimensionamento per soddisfare la domanda. È possibile creare un bilanciamento del carico intelligente per creare nuove istanze per soddisfare la crescente domanda, giusto? –

1

C'è una porta di django in database non relazionali che funziona con motore app o mongodb.

google per Django non rel

documentazione è un po 'scarne anche se

Problemi correlati