run - ¿Es Google App Engine mejor que Webfaction para un principiante en Django Dev?
run django app locally (6)
Soy un principiante en el desarrollo de sitios web por Django. Dirijo pequeños sitios web de discusión similares a SO.
Tengo una cuenta en Bluehost que ha sido una pesadilla en el desarrollo de Django. Descubrí que Webfaction y Google App Engine parecen ser las mejores opciones para Django.
Sin embargo, no estoy seguro de cuál es el mejor para mí.
¿Google App Engine es mejor que Webfaction para ejecutar sitios web pequeños?
Lo que hay que recordar sobre GAE es que funciona de manera diferente a una instalación de python estándar y las aplicaciones que tienes pueden no funcionar bien (o no funcionar) en ese entorno. La mayor diferencia es la base de datos. Si bien hay ventajas para la base de datos no relacional disponible con GAE, debe tratarlo de manera diferente y hay muchas cosas que su código puede esperar que su base de datos pueda hacer y que no pueda.
Si está empezando desde cero en una aplicación, cualquiera de las plataformas funcionaría bien. Si tienes una aplicación python existente, conseguir que funcione en GAE requerirá mucho trabajo.
No puedo hablar de Google App Engine, pero como un usuario bastante reciente de Django, recientemente cambié mi sitio de desarrollo a un servidor WebFaction y debo decir que quedé muy impresionado. Son extremadamente amigables con las configuraciones de Django (entre otros) y el personal de soporte respondió cualquier pequeño problema que tuve con prontitud. Yo definitivamente los recomendaría.
Para otros anfitriones amigos de Django, echa un vistazo a Djangofriendly.com .
Si ya ha escrito su aplicación django, puede ser realmente difícil instalarla en Google App Engine, ya que tendrá que adaptar su modelo de datos. GAE utiliza una gran tabla, una tienda (clave, datos), en lugar de un modelo relacional tradicional. Es excelente para el rendimiento, pero hace que su programación sea más difícil (por ejemplo, no hay administradores de relaciones de muchos a muchos).
Además, la mayoría de las aplicaciones disponibles para django no funcionarán en GAE ya que estas aplicaciones usan el modelo de datos relacionales. El problema más obvio es que la gran aplicación de administración de django no funcionará. Además, GAE tiende a hacer que use cuentas de google para su identificación. Esto se puede eludir, pero de nuevo, no usando aplicaciones django fácilmente disponibles. Esto podría ser bueno para usted, pero puede ser una molestia (por ejemplo, muchos de los nombres de usuario ya se tomaron en google).
Entonces, mi consejo final es que, si eres un principiante, debes evitar GAE.
Si tiene su sede en Europa, djangohosting.ch también es una buena opción, en lugar de webfaction.
Soy un desarrollador de motores de aplicaciones de Google, por lo que no puedo decir mucho sobre webfaction, pero por lo que he usado, la configuración de una aplicación web con el motor de aplicaciones es bastante sencilla¹. El personal de apoyo, sin embargo, no es muy bueno.
Un poco tarde con mi respuesta, pero sin embargo ... Soy principiante de Django y tengo mi primera aplicación Django en funcionamiento en GAE. Fue App Engine Patch lo que lo hizo posible. Al usarlo tienes django admin y varias otras aplicaciones disponibles de manera inmediata. Si desea probarlo, vaya a la versión troncal. Este proyecto está razonablemente bien documentado y tiene una comunidad receptiva.
Webfaction :
Más:
- Gran acceso de shell. Posibilidad de instalar módulos de python, o cualquier otra cosa que pueda necesitar. Le encantará comprobar el código fuente desde el intérprete de comandos para actualizar su producción (¡ya no es necesario transferir nada por FTP!)
- Muy buen rendimiento y confiabilidad
- Gran soporte + gran cantidad de información sobre la base de conocimientos de ayuda y en los foros. (OLVIDAR Bluehost o cualquier otra cosa que hayas probado). Me sorprendió la cantidad de respuestas que encontré a lo que pensé que serían preguntas difíciles.
- Puede usar la base de datos regular y puede hacer combinaciones (ver el motor de la aplicación menos el # 2)
Menos:
- Configurar la implementación inicial puede ser un poco complicado las primeras veces (como es de esperar desde el shell).
- El aumento de escala puede ser costoso y probablemente no sobrevivirá "slashdotted".
App Engine
Más:
- Gratis para comenzar
- La base de datos inicial es más fácil de configurar.
- La implementación es muy sencilla
- Aplicación de los principios de diseño "buenos" desde el principio que lo ayudan con el # 5. (Tales como límites duros, desnormalización db, etc.)
- Escalabilidad (pero esto no es gratis, debe pensar en el futuro).
- Sin mantenimiento: copias de seguridad automáticas, seguridad es gratis, registro + tablero centralizado, las actualizaciones de software son automáticas.
Menos:
- Configurar Django en App Engine no es tan sencillo, así como acostumbrarse a esta configuración. El marco de webapp de google es débil.
- El modelo de base de datos lleva un poco de tiempo para entender. Este no es el servidor SQL de tu moma. Por ejemplo, tiene que desnormalizar su base de datos desde el principio, y no puede hacer combinaciones (a menos que sean auto uniones)
- Las cosas habituales a las que estás acostumbrado no siempre están ahí. Algunas cosas como las pruebas y la importación de datos ya no son tan fáciles.
- Estás vinculado a App Engine y migrar tus datos a otro DB o servidor, aunque no es imposible, no es fácil. (¡No es que hagas una migración de datos tan a menudo! Probablemente nunca)
- Límites duros en solicitudes, respuestas y tamaños de archivo (la última vez que escuché sobre 1MB).
- App Engine actualmente solo es compatible con Python 2.5.
No puedo pensar en nada más hasta ahora. Actualmente estoy con Webfaction y estoy probando App Engine también. No tengo dificultad para pasar de Django-Webfaction a la forma de pensar de App-Engine. Sin embargo, no estoy seguro de si la ruta de los servidores autónomos de AppEngine sería igual de fácil.
Referencias
Negociaciones:
- Guido en Google App Engine http://www.youtube.com/watch?v=CmyFcChTc4M
- Colas de tareas en App Engine: http://www.youtube.com/watch?v=o3TuRs9ANhs