prices - google app engine python standard
Comentarios sobre el uso de Google App Engine? (11)
Buscando hacer un proyecto secundario muy pequeño, rápido y sucio. Me gusta el hecho de que Google App Engine se ejecute en Python con Django integrado, me da una excusa para probar esa plataforma ... pero mi pregunta es esta:
¿Alguien ha hecho uso del motor de la aplicación para algo más que un problema de juguete? Veo algunas buenas aplicaciones de ejemplo, así que supongo que esto es lo suficientemente bueno para el verdadero negocio, pero quería obtener algunos comentarios.
Cualquier otra nota de éxito / fracaso sería genial.
Creo que App Engine es genial para pequeños proyectos en este momento. Hay mucho que decir para nunca tener que preocuparse por el alojamiento. La API también lo empuja hacia la construcción de aplicaciones escalables, lo cual es una buena práctica.
- app-engine-patch es una buena capa entre Django y App Engine, que permite el uso de la aplicación de autenticación y más.
- Google ha prometido un SLA y un modelo de fijación de precios para fines de 2008.
- Las solicitudes deben completarse en 10 segundos, las solicitudes secundarias a los servicios web deben completarse en 5 segundos. Esto lo obliga a diseñar una aplicación rápida y liviana que descargue el procesamiento serio a otras plataformas (por ejemplo, un servicio alojado o una instancia EC2).
- ¡Más idiomas vendrán pronto! Google no dirá que sin embargo :-). Mi dinero está en Java el próximo.
Eche un vistazo al juego sql , es muy estable y en realidad empujó los límites de tráfico en un punto para que Google lo acelerara. No he visto más que buenas noticias sobre App Engine, aparte de hospedar tu aplicación en servidores que otra persona controla por completo.
Esta pregunta ha sido respondida completamente. Lo que es bueno. Pero una cosa tal vez vale la pena mencionar. El motor de la aplicación de Google tiene un complemento para el eclipse ide, que es un placer trabajar con él.
Si ya haces tu desarrollo con eclipse, estarás muy feliz con eso.
Para implementar en el sitio web del motor de la aplicación de Google, todo lo que tengo que hacer es hacer clic en un pequeño botón, con el logotipo del avión, super.
Estoy usando GAE para alojar varias aplicaciones de alto tráfico. Como en el orden de 50-100 req / seg. Es genial, no puedo recomendarlo lo suficiente.
Mi experiencia previa con el desarrollo web fue con Ruby (Rails / Merb). Aprender Python fue fácil. No me metí con Django o Pylons ni con ningún otro framework, solo comencé con los ejemplos de GAE y construí lo que necesitaba de las bibliotecas básicas de aplicaciones web que se proporcionan.
Si está acostumbrado a la flexibilidad de SQL, el almacén de datos puede tardar un poco en acostumbrarse. ¡Nada demasiado traumático! El mayor ajuste es alejarse de JOINs. Tienes que desechar la idea de que la normalización es crucial.
Ben
He probado el motor de aplicaciones para mi aplicación de vigilancia de terremotos pequeños http://quakewatch.appspot.com/
Mi propósito era ver las capacidades del motor de la aplicación, así que aquí están los puntos principales:
- no viene por defecto con django, tiene su propio marco web que es pythonic tiene un despachador de URL como django y usa plantillas django Entonces, si tienes django exp. lo encontrará fácil de usar
- Pero puedes usar cualquier framework python puro y django se puede agregar fácilmente ver http://code.google.com/appengine/articles/django.html google-app-engine-django ( http://code.google.com/p/google-app-engine-django/ ) es excelente y funciona casi como trabajar en un proyecto django
- No puede ejecutar ningún proceso de larga ejecución en el servidor, lo que hace es responder a la solicitud y debe ser rápido; de lo contrario, appengine lo matará. Si su aplicación necesita mucho procesamiento appengine no es la mejor manera, de lo contrario tendrá que procesar en un servidor propio
- Mi aplicación quakewatch tiene una función de suscripción, significa que tuve que enviar correos electrónicos de los terremotos más recientes, pero no puedo ejecutar un proceso en segundo plano en el motor de la aplicación para monitorear nuevos temblores. La solución aquí es usar un servicio de tercera parte como pingablity.com que puede conéctese a una de sus páginas y ejecute el e-mail de suscripción, pero aquí también deberá cuidar que no pase mucho tiempo aquí o dividir la tarea en varias partes.
- Proporciona capacidades de modelado similares a Django pero el backend es totalmente diferente, pero para un nuevo proyecto no debería importar.
Pero, en general, creo que es excelente para crear aplicaciones que no necesitan mucho procesamiento en segundo plano.
Editar: ahora las colas de tareas se pueden usar para ejecutar el procesamiento por lotes o las tareas programadas
Editar: después de trabajar / crear una aplicación real en GAE durante un año, ahora mi opinión es que a menos que esté haciendo una aplicación que necesite escalar a millones y millones de usuarios, no use GAE. Mantener y realizar tareas triviales en GAE es un dolor de cabeza debido a la naturaleza distribuida, para evitar errores excedidos en la fecha límite, contar entidades o realizar consultas complejas requiere código complejo, por lo que la aplicación compleja pequeña se debe apegar a LAMP.
Editar: los modelos deben diseñarse especialmente teniendo en cuenta todas las transacciones que desea tener en el futuro, porque las entidades solo en un mismo grupo de entidades pueden utilizarse en una transacción y convierte el proceso de actualización de dos grupos diferentes en una pesadilla, por ejemplo, transferir dinero de usuario1 a usuario2 en la transacción es imposible a menos que estén en el mismo grupo de entidades, pero hacer que el mismo grupo de entidades no sea el mejor para fines de actualización frecuente ... lea esto http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine
La idea de "App Engine ejecutando Django" es un poco engañosa. App Engine reemplaza toda la capa de modelo de Django, así que prepárate para pasar un tiempo aclimatado con el almacén de datos de App Engine, que requiere una forma diferente de modelar y pensar en los datos.
Una de las razones convincentes por las que me he encontrado para usar Google App Engine es su integración con Google Apps para su dominio. Básicamente, le permite crear aplicaciones web personalizadas y administradas que están restringidas a los inicios de sesión (controlados) de su dominio.
La mayor parte de mi experiencia con este código fue la creación de una simple aplicación de seguimiento de tiempo / tareas. El motor de plantillas era simple y, sin embargo, hacía que una aplicación de varias páginas fuera muy accesible. La API de inicio de sesión / conocimiento del usuario es similarmente útil. Pude crear un paradigma público de página / página privada sin demasiado problema. (un usuario iniciaría sesión para ver las páginas privadas. A un usuario anónimo solo se le mostró la página pública).
Estaba entrando en la parte del almacén de datos del proyecto cuando me detuvieron por "trabajo real".
Pude lograr mucho (todavía no se ha hecho) en muy poco tiempo. Como nunca antes había usado Python, esto fue particularmente agradable (tanto porque era un nuevo idioma para mí, como porque el desarrollo aún era rápido a pesar del nuevo lenguaje). Me encontré con muy poco que me llevó a creer que no sería capaz de llevar a cabo mi tarea. En cambio, tengo una impresión bastante positiva de la funcionalidad y las características.
Esa es mi experiencia con eso. Tal vez no represente más que un proyecto de juguete sin terminar, pero representa una prueba informada de la plataforma, y espero que eso ayude.
Usé GAE para construir http://www.muspy.com
Es un poco más que un proyecto de juguete, pero tampoco demasiado complejo. Todavía dependo de algunos problemas que debe abordar Google, pero el desarrollo general del sitio web fue una experiencia agradable.
Si no quieres lidiar con problemas de alojamiento, administración de servidores, etc., definitivamente puedo recomendarlo. Especialmente si ya conoces a Python y Django.
Usé GAE para crear una aplicación simple que acepta algunos parámetros, formatos y envía correos electrónicos. Fue extremadamente simple y rápido. También realicé algunos puntos de referencia de rendimiento en el almacén de datos de GAE y los servicios de Memcache ( http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html ). No es tan rápido. Mi opinión es que GAE es una plataforma seria que impone cierta metodología. Creo que evolucionará hacia la plataforma verdaderamente escalable, donde las malas prácticas simplemente no están permitidas.
Usé GAE para mi sitio de juegos flash, Bearded Games . GAE es una gran plataforma. Usé plantillas de Django que son mucho más fáciles que los viejos tiempos de PHP. Viene con un excelente panel de administración y te brinda registros realmente buenos. El almacén de datos es diferente a una base de datos como MySQL, pero es mucho más fácil trabajar con él. Construir el sitio fue fácil y directo y tienen muchos consejos útiles en el sitio.
Usé GAE y Django para construir una aplicación de Facebook. Utilicé http://code.google.com/p/app-engine-patch como mi punto de partida ya que tiene soporte para Django 1.1. No intenté usar ninguno de los comandos manage.py porque supuse que no funcionarían, pero ni siquiera lo analicé. La aplicación tenía tres modelos y también utilizaba pyfacebook, pero ese era el alcance de la complejidad. Estoy en el proceso de crear una aplicación mucho más complicada sobre la que estoy comenzando a bloguear en http://brianyamabe.com .