2010-08-09 25 views
29

Recientemente tuve que realizar un proyecto en Google AppEngine. Al principio era escéptico. Pero hay algunos enfoques realmente agradables en Appengine:¿Alternativa para Google App Engine?

  • Sin configuración de servidor. Todo funciona de la caja. Gzip, bibliotecas, etc.
  • Despliegue de un clic. Encienda GAE Launcher en la Mac y haga clic en DEPLOY. Hecho.
  • Bajos costes
  • fácil de la producción de registro de

Pero hay algunas cosas que no me gustan, si estoy pensando en proyectos profesionales

  • El almacén de blob. Es solo ... raro. Y no se puede retrotraer
  • Todas las restricciones de 1 MB
  • La sensación de que su código solo se ejecutará en App Engine. (BigTable)

¿Conoces alguna alternativa similar a AppEngine? Y no me refiero a servicios como EC2.

+0

¿Qué es exactamente lo que te molesta de la tienda de blob? es "backupable", como Nick menciona en su respuesta. –

+0

Me gustaría sugerir que se use dependiendo de su alcance use parse.com o mongolab para backend en lugar de costoso almacén de datos de Google y luego puede escalar como se requiera sin problemas con mongolab (https://mongolab.com/) –

+0

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

Respuesta

15

Creo Heroku es una gran alternativa.

Se puede ejecutar la mayoría de GAE aplicaciones existentes, ya que es compatible con Django, sino también:

  • Es compatible con Ruby (w o w/o rieles), Java (W o W/O de primavera), el Nodo .js, Clojure, ...
  • Tiene una fuerte compatibilidad con CLI (git push para publicación, creación de aplicaciones, escalado, registro, ps, ...)
  • Es compatible con MySql y PostgreSQL (y, etc. , MongoDB, Amazon RDS, etc.)
  • Tiene un nivel gratuito de 750 horas al mes (~ 1 máquina siempre activa) para cada aplicación.
  • Tiene una colección de complementos para proporcionar servicios en la nube como recursos para las aplicaciones
  • Tiene un programa complementario para desarrollar sus propios complementos.

Realmente, es una buena alternativa.

Si desea que su aplicación no esté vinculada a GAE, el mejor enfoque es utilizar langs conocidos y proveedores de persistencia bien conocidos. Ruby + PostgreSQL, por ejemplo, podría ser una combinación muy portátil. Django también, pero sin BigTable ...

+1

¿Heroku trabaja con WebRTC? – YumYumYum

+0

heroku por ahora no es tan confiable como turno abierto.Me gustaría sugerir Openshift para sus necesidades –

32

Usted puede echar un vistazo a AppScale

Su una implementación de código abierto de App Engine que se puede implementar en sus propias máquinas, con una serie de bases de datos para elegir.

+1

esto tiene mucho más sentido que la respuesta aceptada. Si mi aplicación está escrita en python usando el motor de aplicaciones, entonces el hecho de que Heroku soporte a Ruby no significa nada para mí. – rutherford

15

AppScale y TyphoonAE son implementaciones de terceros de la plataforma de App Engine. TyphoonAE está dirigido a una escala de pequeña a mediana, mientras que AppScale está dirigido al extremo de la gran escala de cosas.

En cuanto a la copia de seguridad de blobstore, esto es bastante factible: simplemente use el controlador incorporado para mostrar blobs y, junto con remote_api, puede descargar sus blobs muy bien.

+0

No funcionan en RED HAT ENTERPRISE LINUX 6.4 y Amazon EC2. ¿Tienes alguna solución? – YumYumYum

+5

@YumYumYum "No funcionan" es excepcionalmente inútil. ¿Por qué no funcionan? –

+0

En CentOS 6 lo estoy instalando y dice: 'Obteniendo el código fuente ..../build_script.sh: línea 23: apt-get: comando no encontrado' – YumYumYum

6

Casi odio mencionar a Microsoft en una pregunta relacionada con Google, pero soy completamente independiente del proveedor. Por lo tanto, ofreceré Azure de Microsoft como una plataforma que ofrece muchas similitudes con App Engine, pero hay suficientes diferencias como para responder a su pregunta.

Azure y App Engine son similares, ya que ambos están diseñados para permitirle crear aplicaciones fácilmente escalables. Azure le ofrece opciones de kit de herramientas web estándar de Microsoft: C#, VB.NET, ASP.NET ASP.NET MVC, pero también ofrece PHP. Tiene una base de datos de documentos NoSQL como App Engine, pero también le ofrece la opción de elegir una instancia más estándar de SQL Server. Aunque no lo he usado, parece que AppEngine for Business ahora también ofrece SQL.

Azure le proporciona un medio listo para tener procesos de fondo de larga ejecución. App Engine no es lo mejor de mi conocimiento.

Desde mi punto de vista, App Engine tiene la enorme ventaja de cobrarle por el uso solo cuando se está procesando realmente una solicitud. Una instancia de Azure hace que se te facture incluso por un tiempo que está completamente inactivo. Eso es completamente típico, pero el hecho de que Google no lo haga así me hace elegir App Engine cada vez. Mi presupuesto es demasiado ajustado como para permitirme gastar dinero en horas de inactividad de la CPU.

+0

Por cierto, ¿qué pasa con los contenedores Docker? ¿Pueden activarse cuando una solicitud se está procesando en realidad o es demasiado lenta para ser factible? –

+1

Debo señalar que una gran cantidad de información en mi publicación ahora está desactualizada, al menos en términos de las capacidades de AppEngine. Realmente me gustaría saber más sobre Docker, pero a mi entender, hacer girar una nueva instancia de contenedor no ocurre tan rápido como para proporcionar tiempos de respuesta aceptables para una solicitud web. Por otro lado, podría ser viable desde la perspectiva de escalar para satisfacer la demanda. Se podría construir un equilibrador de carga inteligente para crear nuevas instancias que satisfagan la creciente demanda, ¿verdad? –

1

Hay un puerto de django para bases de datos no relacionales que funciona con el motor de aplicaciones o mongodb.

Google para Django no rel

documentación es un poco escaso, aunque