Pregunta

Buscando hacer una muy pequeña, quick 'n lado sucio del proyecto.Me gusta el hecho de que el Google App Engine se está ejecutando en Python con Django construido en el derecho - me da una excusa para tratar de que la plataforma de...pero mi pregunta es esta:

Alguien ha hecho uso de la app engine para otra cosa que un juguete problema?Veo que algunos buen ejemplo de aplicaciones por ahí, así que supongo que esto es lo suficientemente bueno para que el verdadero negocio, pero quería tener algo de feedback.

Cualquier otro éxito/fracaso notas sería genial.

¿Fue útil?

Solución

He tratado de app engine para mi pequeño temblor reloj de la aplicación http://quakewatch.appspot.com/

Mi propósito era ver las capacidades de app engine, así que aquí están los puntos principales:

  1. no vienen por defecto con django, tiene su propio framework web que es python ha URL despachador como django y utiliza plantillas de django Así que si usted tiene django exp.usted encontrará que es fácil de usar
  2. No se puede ejecutar el largo proceso que se ejecuta en el servidor, lo que tienes que hacer es responder a la solicitud y que debe ser rápido de lo contrario, appengine lo matan Así que si tu aplicación tiene un montón de procesamiento de servidor appengine no es la mejor manera de lo contrario, usted tendrá que hacer el procesamiento en un servidor de su propia
  3. Mi quakewatch aplicación tiene una característica de suscripción, esto significa que yo tenía al correo electrónico sismos más recientes como lo que ha ocurrido, pero no puedo ejecutar un proceso en segundo plano en app engine para supervisar nuevos sismos la solución aquí es el uso de una tercera parte de servicios como pingablity.com que puede conectarse a uno de tu página y que ejecuta la suscripción emailer pero aquí también tendrás que tener cuidado de que no pasa mucho tiempo aquí o romper tarea en varios pedazos
  4. Proporciona Django como las capacidades de modelado, pero backend es totalmente diferente, pero para un nuevo proyecto no debería importar.

Pero en general creo que es excelente para la creación de aplicaciones que no necesitan una gran cantidad de procesamiento en segundo plano.

Editar:Ahora tarea colas puede ser utilizado para ejecutar el procesamiento por lotes o tareas programadas

Editar:después de trabajar/la creación de una aplicación real en GAE por un año, ahora mi opnion es que a menos que usted está haciendo una aplicación que necesita para escalar a millones y millones de usuarios, no uso GAE.Mantener y hacer tareas triviales en GAE es un dolor de cabeza debido a la naturaleza distribuida, para evitar fecha límite excedido errores, recuento de entidades o hacer consultas complejas requiere de un código complejo, tan pequeño complejo aplicación debe palo a la LÁMPARA.

Editar:Los modelos deben ser especialmente diseñados teniendo en cuenta todas las transacciones que usted desea tener en el futuro, porque las entidades sólo en el mismo grupo de entidad puede ser utilizado en una transacción y hace que el proceso de actualización de dos grupos diferentes en una pesadilla por ejemplo,la transferencia de dinero desde usuario1 usuario2 en la transacción es imposible, a menos que se encuentran en el mismo grupo de entidades, pero haciendo el mismo grupo de entidad puede no ser lo mejor para la frecuente actualización de los efectos....leer esto http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine

Otros consejos

Estoy usando GAE para albergar a varias de alto tráfico de las aplicaciones.Como en el orden de 50-100 req/seg.Es genial, yo no puedo recomendar lo suficiente.

Mi anterior experiencia con el desarrollo web fue con Ruby (Rails/Merb).El aprendizaje de Python fue fácil.No me lío con Django o Torres de alta tensión o cualquier otro marco, empezó desde el GAE ejemplos y construido lo que se necesita de la básica webapp las bibliotecas que se prestan.

Si estás acostumbrado a la flexibilidad de SQL el almacén de datos puede tomar algún tiempo para acostumbrarse.Nada demasiado traumático!El mayor ajuste se está alejando de la Une.Usted tiene que arrojar la idea de que la normalización es crucial.

Ben

Una de las razones de peso que me he encontrado para el uso de Google App Engine es su integración con Google Apps para tu dominio.Esencialmente, esto le permite crear personalizado, administrado aplicaciones web que están restringidos a la (controlada) de inicios de sesión de su dominio.

La mayor parte de mi experiencia con este código fue la construcción de un tiempo simple/seguimiento de tareas de la aplicación.El motor de plantilla era simple y, sin embargo, hizo un multi-página de la aplicación muy accesible.El inicio de sesión/usuario conciencia de la api es igualmente útil.Yo era capaz de hacer una página pública/privada de la página de paradigma sin demasiado problema.(un usuario inicie sesión en ver las páginas privadas.Un usuario anónimo se sólo se muestra la página pública.)

Yo estaba empezando en el almacén de datos de parte del proyecto, cuando me tiró lejos para un "trabajo real".

Yo era capaz de lograr mucho (aún no se ha hecho aún) en una cantidad muy pequeña de tiempo.Ya que yo nunca había usado Python antes, esto era particularmente agradable (porque era un idioma nuevo para mí, y también debido a que el desarrollo estaba siendo rápido a pesar de la nueva lengua).Me encontré muy poco lo que me llevó a creer que yo no sería capaz de llevar a cabo mi tarea.En su lugar tengo una bastante impresión positiva de la funcionalidad y características.

Esa es mi experiencia con ella.Tal vez no representa más que una pendiente de juguete proyecto, pero sí representan una informado a juicio de la plataforma, y espero que le ayude.

La "App Engine ejecuta Django" la idea es un poco engañoso.App Engine reemplaza toda Django capa de modelo, así que prepárate para gastar algo de tiempo para aclimatarse con la Aplicación del Motor de almacén de datos que requiere una forma diferente de modelado y pensar acerca de los datos.

He utilizado GAE para construir http://www.muspy.com

Es un poco más que un juguete proyecto, pero no demasiado complejo cualquiera.Yo todavía dependen de un par de temas que serán tratados por Google, pero en general el desarrollo de la página web fue una experiencia agradable.

Si usted no quiere tratar con problemas de hosting, administración de servidores, etc, que puedo la recomiendo sin duda.Especialmente si usted ya sabe Python y Django.

Creo App Engine es bastante fresco para proyectos pequeños en este punto.No hay mucho que decir para no tener que preocuparse del alojamiento.La API también te empuja en la dirección de construir escalable de aplicaciones, que es una buena práctica.

  • app-motor-revisión es una buena capa de entre Django y App Engine, que permite el uso de la autenticación de la aplicación y más.
  • Google ha prometido una SLA y el modelo de precios por el final de 2008.
  • Las solicitudes se deben completar en 10 segundos, sub-peticiones a los servicios web necesarios para completar en 5 segundos.Esto obliga a diseñar un rápido, ligero, de aplicación, de descarga seria de procesamiento a otras plataformas (por ejemplo,un servicio alojado o una instancia de EC2).
  • Más idiomas próximamente!Google no voy a decir que si :-).Mi dinero en Java siguiente.

Esta pregunta se ha respondido.Lo cual es bueno.Pero una cosa que tal vez vale la pena mencionar.El google app engine tiene un plugin para el ide de eclipse que es un placer trabajar con el.

Si usted ya su desarrollo con eclipse va a ser tan feliz.

Implementar en el google app engine del sitio web todo lo que necesitas hacer es hacer clic en un pequeño botón con el logotipo de avión - super.

Echa un vistazo a la de la sql juego, es muy estable y, de hecho empujado los límites de tráfico en un punto, con lo que se estaba haciendo estrangulado por Google.No he visto nada pero las buenas noticias acerca de App Engine, otros que aloja la aplicación en los servidores de alguien más controla completamente.

He utilizado GAE para crear una sencilla aplicación con la que acepta algunos parámetros, formatos y enviar correo electrónico.Era extremadamente simple y rápido.También hice algunos puntos de referencia de rendimiento en el GAE de almacén de datos y memcache servicios (http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ).No es tan rápido.Mi opinión es que el GAE es grave plataforma que el cumplimiento de ciertas metodología.Creo que va a evolucionar la verdad plataforma escalable, donde las malas prácticas simplemente no permitido.

He utilizado GAE para mi flash sitio de juegos, Barbudo Juegos.GAE es una gran plataforma.He usado plantillas de Django, que son mucho más fáciles que en los viejos días de PHP.Viene con un gran panel de administración, y le da muy buenos registros.El almacén de datos es diferente a la de una base de datos como MySQL, pero es mucho más fácil trabajar con.La construcción del sitio fue fácil y sencilla y tienen un montón de consejos útiles sobre el sitio.

He utilizado GAE y Django para crear un Facebook de la aplicación.He utilizado http://code.google.com/p/app-engine-patch como mi punto de partida como se ha Django 1.1 apoyo.Yo no intente utilizar cualquiera de los manage.py los comandos porque supuse que no iba a funcionar, pero no me atreví a mirar en él.La aplicación tenía tres modelos y también se utiliza pyfacebook, pero esa era la medida de la complejidad.Estoy en el proceso de construcción de una mucho más complicado de la aplicación que estoy empezando un blog sobre http://brianyamabe.com.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top