Google app engine or amazon web services

Update: The answer is no longer up to date. Since Google’s Cloud SQL is no longer in BETA that means that both AWS and GAE support java apps written to use a MySQL database and that migrating is no longer that difficult. The overall idea is that both cloud providers tend to get to a point where they offer “everything”: Google launched Compute Engine while Amazon is working on Beanstalk. However, Amazon’s IaaS services are more mature than Google’s while Google’s PaaS services are more mature than Amazon’s. It all boils down to whether you want IaaS or PaaS.


There is a key difference between AWS and Google App Engine: AWS is infrastructure as a service (IaaS) whereas GAE is platform as a service (PaaS). What this means is that with AWS you still need to administer your own servers (ec2 instances, db instances, load balancers and so on) => some sysadmin work required. With GAE you just need to code your app and deploy it to the google cloud without caring on what servers or on how many servers it runs. Google does all the sysadmin work for you.

Both use a pay-for-use model.

Answers for each question:

  1. Supported by AWS. For GAE you need to use their own data storage (it’s called big table). You can use JPA for accessing big table data, but there are a lot of restrictions (like you can’t do table joins for example). GAE has support for relational databases but it seems to be in beta.
  2. They both have some free plan: AWSGAE
  3. Difficult. As I said at point 1, gae uses a proprietary NoSql data storage. If you want to switch to a relational model you will need to redesign your models.
  4. Read their tutorials: AWSGAE.

Note: AWS also has support for PaaS through elastic beanstalk , but that’s still in BETA

Leave a Comment