pricing - Pros y contras de Google App Engine
google app engine tutorial español (11)
(Un gran nuevo) PRO: GAE ahora es compatible con MySQL : https://developers.google.com/cloud-sql/
[Una lista actualizada el 21 de agosto de 2009]
Ayudame a compilar una lista de todas las ventajas y desventajas de crear una aplicación en Google App Engine
Pros:
- No es necesario comprar servidores ni espacio en el servidor (sin mantenimiento).
- Hace que resolver el problema de escalar sea más fácil.
- Libere hasta cierto nivel de recursos consumidos.
Contras:
- ¿Bloqueado en Google App Engine?
- Los desarrolladores tienen acceso de solo lectura al sistema de archivos en App Engine.
- App Engine solo puede ejecutar código llamado desde una solicitud HTTP (excepto para tareas de fondo programadas).
- Los usuarios pueden cargar módulos de Python arbitrarios, pero solo si son puros-Python; Los módulos C y Pyrex no son compatibles.
- App Engine limita las filas máximas devueltas desde una entidad a 1000 filas por llamada de Datastore. ( Actualización : App Engine ahora admite cursores para acceder a consultas más grandes)
- Las aplicaciones Java solo pueden usar un subconjunto (la Lista blanca de la clase JRE) de las clases de la edición estándar de JRE.
- Las aplicaciones Java no pueden crear nuevos subprocesos.
¡¡Problemas conocidos!! : http://code.google.com/p/googleappengine/issues/list
Límites duros
Aplicaciones por desarrollador - 10
Tiempo por solicitud - 30 seg
Archivos por aplicación - 3.000
Tamaño de respuesta HTTP - 10 MB
Tamaño del elemento del almacén de datos: 1 MB
Tamaño del código de la aplicación - 150 MB
Actualizar la tienda Blob ahora permite el almacenamiento de archivos de hasta 50 MB
Pro o Con?
La infraestructura de App Engine elimina muchos de los desafíos de administración y desarrollo del sistema de crear aplicaciones para escalar a millones de visitas. Google maneja la implementación de código en un clúster, la supervisión, la conmutación por error y el inicio de instancias de aplicaciones según sea necesario.
Mientras que otros servicios permiten a los usuarios instalar y configurar casi cualquier software * NIX compatible, App Engine requiere que los desarrolladores utilicen Python o Java como el lenguaje de programación y un conjunto limitado de API. Las API actuales permiten almacenar y recuperar datos de una base de datos no relacional de BigTable; haciendo solicitudes HTTP; enviando correo electrónico; manipulación de imágenes; y almacenamiento en caché La mayoría de las aplicaciones web existentes no se pueden ejecutar en App Engine sin modificaciones, ya que requieren una base de datos relacional.
Con: No Otras bases de datos RDBMS o NoSQL no son posibles ...
Con: No disponible en algunos países (Argentina).
Editar
Disponible en todo el mundo, pero solo a través de Grupos de Google para App Engine.
Con: limitado a Java y Python
Con: toda su base es de nosotros
... En una nota seria:
Con: Usted no controla el entorno en el que se ejecuta su aplicación. Las mismas desventajas que con la externalización de cualquier componente. Diversión para los juguetes, no para los negocios (todavía) en mi humilde opinión.
Varias cosas como la API para backends patentados de Google, como su sistema de base de datos y otros "lockdowns" y marcos que significan que su código está vinculado, en algún sentido amplio a su sistema puede crear problemas de costos más adelante si desea migrar de GAE. Por supuesto, podrías abstraer estos.
Me gusta GAE, AppJet y otros. Ellos son geniales. Pero todo tiene su lugar. Si desea libertad y la capacidad de controlar los módulos de su idioma, la API, las versiones de sintaxis / stdlib y otras cosas ... no ceda el control a un proveedor de servicios.
La falta de estándares para los entornos y las especificaciones de lo que puede esperar de su aplicación me preocupa en el ámbito de la nube.
cosas de sentido común realmente.
Creo que GAE todavía está por madurar en términos de proporcionar las características básicas para negocios serios, como Datastore con clave primaria compleja, java.awt. * Soporte, estas son solo algunas de las que estoy nombrando.
Además del espacio libre y para construir algunos sitios web de "Hobby", creo firmemente que GAE NO es el lugar en el que los chicos de Java deberían investigar.
Tengo aplicaciones creadas en JSP / Servlets y MySQL, pensando en migrar a GAE, pero creo que gastaré más "tiempo de valor" en la migración que simplemente comprar un espacio de algún proveedor de alojamiento de Java como EATJ, etc. (Lo siento, no marketing, solo una experiencia).
Otro gran problema que tengo es la migración de mis datos mySQL existentes a GAE, bulkupload es realmente patético y no cuenta con soporte de clientes.
No se admite la carga de DB de local a servidor.
Una vez que el GAE esté listo con "todos los contras" mencionados anteriormente, entonces creo que podremos ver esta migración.
Pro: escalabidad ilimitada para su aplicación y escala con la demanda.
Usted tiene la obligación de poseer una línea de teléfono celular, y su país + proveedor debe poder recibir SMS internacionales.
(Odio los teléfonos celulares, y los de mi madre o compañeros de trabajo no recibirán los mensajes SMS)
Pros:
- Escalable
- Fácil y más barato (a corto plazo).
- Buena opción para nuevas empresas / particulares.
- Adecuado para aplicaciones que simplemente almacenan y recuperan datos.
Contras:
- No es adecuado para cálculos intensivos de CPU. Son más lentos y caros.
- La escalabilidad no importa mucho porque una aplicación funciona a escala de Google, entonces probablemente genere suficiente dinero para ejecutarse en sus propios servidores.
- Tienen muchas limitaciones arrojadas aquí y allá, como resultado el análisis profundo de datos es difícil. Al igual que no puede producir un gráfico social con GAE.
Yo diría que no es para negocios serios y costoso a largo plazo.
Pros:
interfaz de usuario incorporada para registros unificados
interfaz web incorporada para colas de tareas
índices incorporados en la lista de objetos primarios.
Contras:
registros sueltos muy rápido
Muy caro
Muy caro
Muy caro
No pirateable Escalas porque estás obligado a codificar de una manera que se escala.
Ciclos de desarrollo más largos. A veces solo quieres hackear algo y tirarlo después de 5 hors. Con appengine tienes que codificarlo adecuadamente y escribir muchas cosas para asegurarte de que se escala. No se puede simplemente hacer un "find. | Grep .avi | xargs ffmpeg -compress ...." :)
Perderá horas tratando de hacer las tareas más simples como enviar notificaciones automáticas a APNS (iPhone). Aunque está bien si solo quieres admitir Android en el futuro.
Terrible para hacer limpiezas en la base de datos. Es un gran dolor en el culo arreglar las filas en la base de datos, principalmente porque es terriblemente lento, pero también requiere una gran cantidad de código para enlazar correctamente dentro de sus limitaciones de tiempo.
Fue un dolor hacer que Lucene trabaje en su "sistema de archivos".
Lento por lo que pagas.
Incluso MÁS caro si su aplicación tiene picos de tráfico. Mi aplicación tiene esos picos si un usuario que tiene muchos seguidores realiza una acción y tenemos que enviar notificaciones a sus seguidores. Por eso tengo que mantener 10 servidores inactivos siempre activados ($$$$$) para manejar los picos.
Appengine no es tan malo debido al hecho de que tengo la opción de grabar $$$$ en lugar de preocuparme por la escalabilidad y la solución de cuellos de botella para reducir el uso del servidor. A veces vale la pena.
Mi consejo para las personas que comienzan nuevos productos es ir con hetzner.de, que es donde hospedo mis otros servidores de productos. Es barato y extremadamente pirateable. Tengo un servidor en Hetzner que maneja 3 veces más tráfico que el producto que tengo en appengine. ¡La diferencia en el precio es de $ 100 por mes y de $ 2700 por mes!
Tengo experiencia en administración de sistemas, por lo que la conclusión es que nunca elegiría appengine para tener mi propio servidor ROOT. ¡No seas un ingeniero de software aburrido que quiera experimentar cosas nuevas en lugar de crear productos geniales!
Al evaluar los pros y los contras, creo que es importante aclarar el mercado para el que uno está representando. Los desarrolladores que buscan una solución rentable para ayudarlos con la parte más empinada de su curva de crecimiento de la palanca de hockey planificada pesarán mucho con los contras que ya figuran en la lista. Para el propietario de una pequeña empresa, sin embargo, GAE es un regalo de Dios. Estas personas generalmente buscan "la nube" como un medio para administrar sus negocios de manera más efectiva (es decir, vender productos y servicios físicos). Para las PYMES, GAE los profesionales ya mencionados pueden ser mucho más valiosos en comparación con el desarrollador de búsqueda de palo de hockey, mientras que el peso de los cons en una fracción de la medida de los desarrolladores. No veo que el equipo de GAE haga nada relacionado con el posicionamiento de SMB, así que supongo que respuestas como esta me pongo la capa de Superman y escupo al viento. Realmente GAE debería estar gobernando absolutamente el espacio SMB ahora. Si no (no tengo ideas re: base de usuarios), entonces es una falla lamentable.