standard google features engine compute change app google-app-engine web-applications

google-app-engine - features - google app engine python



Google App Engine como plataforma de producción (6)

Estamos a punto de comenzar a trabajar en un nuevo proyecto web comercial y considerar Google App Engine como una plataforma potencial.

Preguntas:

  1. ¿Google App Engine es realmente escalable y puede considerarse como una plataforma de producción para proyectos comerciales?
  2. ¿Es más caro (o más barato) que un buen servicio de compañía de hosting a largo plazo?
  3. ¿Es posible (y bastante barato) mover la aplicación de Google App Engine a un servidor / granja independiente (por ejemplo, para usarla como sistema privado, para explotar nuestro propio hardware, etc.)?
  4. ¿Hay algún mecanismo para lidiar con los ataques DDoS?
  5. ¿Puedo hacer una copia de seguridad completa de los datos de la aplicación?

Perdón por tales preguntas tontas.


  1. Mire google IO (Whre entre otros dicen que: "sí, es escalable".
  2. Eso depende ... Incluso puede ser gratis para ti (pagas por la carga que tienes).
  3. Puede trasladarse a Amazon, por ejemplo, usando el appdrop . También es una buena idea usar el app-engine-patch .
  4. ... Buena pregunta. Realmente no lo sé.
  5. Use GAEBar .

Mis respuestas:

  1. BuddyPoke ejecuta en gae (probablemente la aplicación más grande), revisa their millones de números.
  2. No pagas hasta que tu aplicación crezca un poco
  3. Si está familiarizado con Python, web2py ofrece esta característica con algunas limitaciones
  4. Protección Dos ( java , python )
  5. Gaebar , here un gran artículo.

Para actualizar con información más reciente (2013), GAE ahora tiene una API de búsqueda de texto. No puede buscar datos en la base de datos directamente; usted crea documentos con capacidad de búsqueda a partir de sus datos y los agrega a un índice de búsqueda. No es terriblemente difícil de hacer, pero es una molestia. En particular, siempre que sus datos cambien, necesita volver a generar los documentos modificados y actualizarlos en el índice.

También es bastante fácil exportar datos a Google Big Query, lo que facilita la creación de informes.


Todo depende de tus necesidades. Para un proyecto que tiene la necesidad de escalar de muy pocos usuarios a millones de usuarios posibles en poco tiempo, el motor de la aplicación google podría ser exactamente lo que está buscando.

Sin embargo, tenga en cuenta que puede sorprenderse por las limitaciones que viene con GAE. Datastore puede, entre otros, no realizar búsquedas de texto completo o consultas utilizando la instrucción IN. Por lo tanto, tenga cuidado de especificar qué necesidades tendrá su aplicación y qué datos va a almacenar y buscar.

Esto también significa que mover su aplicación de GAE a un servidor separado puede ser problemático, ya que la arquitectura de la base de datos probablemente será diferente.


Tu pregunta n. ° 3 levanta una bandera roja. Si se trata de un problema importante, me gustaría advertirle a App Engine en este momento. Me encanta la plataforma, y ​​no dudo de que serán rutas de migración viables a una solución autohospedada en algún momento, pero no ahora. Cosas como el appdrop demuestran que sería posible hacerlo, pero ¿ appdrop la pena el esfuerzo y la inversión? Esa es la pregunta que haría. Me encantaría saber si alguien ha portado con éxito una aplicación de motor de aplicación de producción del mundo real a otro host.

Las copias de seguridad se deben GAEBar fácilmente o hay herramientas como GAEBar como mencionó Bolotov.

Con respecto al costo, probablemente pueda obtener decenas (quizás cientos) de miles de objetos (registros) y tráfico / uso decentes de forma gratuita. Más allá de eso, no estoy seguro acerca de los costos comparativos de alojamiento, suena como un buen lugar para investigar (nota para mí).

Finalmente, Silfverstrom tiene razón sobre las limitaciones, especialmente en torno a la búsqueda de texto completo. Hay algunos proyectos en curso para abordar esto, pero probablemente nada tan sólido como un RDBMS maduro.


Voy a responder la pregunta 1:

Estoy en la fase piloto de una nueva aplicación web en el motor de la aplicación. Hemos pasado alrededor de un mes escribiendo código y preparando las cosas para nuestro primer cliente. Se pusieron en marcha la semana pasada. Les encanta el software, pero hace un par de días comencé a obtener errores de fecha límite excedidos en la aplicación. Busca un registro o una lista y volverá en milisegundos. El siguiente paso tomaría 30 segundos y volvería con un error de límite de tiempo.

Los rastreos de pila en el tablero dan resultados aleatorios. Lo intenté todo, incluso desvistiendo la aplicación a un mundo de hola. Puse un mensaje de registro en nuestro middleware de solicitud de proceso django, el primer bit de nuestro código que se ejecuta. Demostraba que, en las solicitudes de tiempo de espera, Google tardó 25 segundos en obtener la solicitud para ejecutar nuestro código de solicitud de proceso. Publiqué en el foro de google y no obtuve nada. Me puse en contacto con alguien en Google y respondieron rápidamente, pero solo dijeron que se pondrían en contacto con el equipo. Nada desde entonces.

Es posible que haya algo que estoy haciendo para causar esto, pero realmente lo dudo. Google no brinda soporte, así que básicamente no tengo suerte.

Si esta fuera una aplicación comercial completa, estaría fuera del negocio.

tl; dr : el motor de la aplicación de google es muy prometedor pero necesita madurar y aún no es adecuado para la producción comercial