Google app engine or amazon web services

Google App-EngineAmazon Web-Services

Google App-Engine Problem Overview


I am a newbie to us cloud hosting. I want to know which is better to start with, either Google app engine or Amazon web service.

My questions are:

  1. My application is based on java, Database is MySQL. Do they support this?
  2. What are the free offers from both of them and which one is better to start?
  3. How easy would it be to migrate from one platform to another?
  4. Any good link for getting started with these service as I am a novice here.

Additionally, I'd appreciate some good links for getting started with these services as I am a novice here, and a high level view on how this works.

Google App-Engine Solutions


Solution 1 - Google App-Engine

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: AWS, GAE
  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: AWS, GAE.

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

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionShruti BasuView Question on Stackoverflow
Solution 1 - Google App-EngineIoan Alexandru CucuView Answer on Stackoverflow