Actualización : la respuesta ya no está actualizada. Dado que Google Cloud SQL ya no está en BETA, eso significa que tanto AWS como GAE admiten aplicaciones Java escritas para usar una base de datos MySQL y que la migración ya no es tan difícil. La idea general es que ambos proveedores de nube tienden a llegar a un punto en el que ofrecen "todo": Google lanzó Compute Engine mientras Amazon trabaja en Beanstalk . Sin embargo, los servicios IaaS de Amazon son más maduros que los de Google, mientras que los servicios PaaS de Google son más maduros que los de Amazon. Todo se reduce a si desea IaaS o PaaS.
Existe una diferencia clave entre AWS y Google App Engine: AWS es infraestructura como servicio (IaaS), mientras que GAE es plataforma como servicio (PaaS). Lo que esto significa es que con AWS aún necesita administrar sus propios servidores (instancias ec2, instancias db, balanceadores de carga, etc.) => se requiere algo de trabajo de administrador de sistemas. Con GAE, solo necesita codificar su aplicación e implementarla en la nube de Google sin preocuparse por qué servidores o cuántos servidores ejecuta. Google hace todo el trabajo de administrador de sistemas por usted.
Ambos utilizan un modelo de pago por uso.
Respuestas para cada pregunta:
- Compatible con AWS. Para GAE, debe usar su propio almacenamiento de datos (se llama tabla grande). Puede usar JPA para acceder a datos de tablas grandes, pero hay muchas restricciones (como por ejemplo, no puede hacer uniones de tablas). GAE tiene soporte para bases de datos relacionales pero parece estar en beta.
- Ambos tienen algún plan gratuito: AWS , GAE
- Difícil. Como dije en el punto 1, gae usa un almacenamiento de datos patentado NoSql. Si desea cambiar a un modelo relacional, deberá rediseñar sus modelos.
- Lea sus tutoriales: AWS , GAE .
Nota : AWS también es compatible con PaaS a través de beanstalk elásticos , pero todavía está en BETA