📜 ⬆️ ⬇️

Google App Engine (GAE) vs. Amazon Web Services (AWS)

Introduction:


The most interesting part of the development usually falls on the first 33% of the project life cycle. And the most interesting is the creation of a draft prototype demonstrating your idea. After this point, the excitement begins to gradually decline as you begin to look out for something to be nesting, and you try to make your application scalable enough that it can withstand its success. Currently, I am a lonely actor, so on the one hand I don’t have the resources to mess with the hardware myself, but on the other hand my projects have no need for data centers.

The purpose of my analysis is to compare the two main players in the cloud computing world, Google App Engine (GAE) and Amazon Web Services (AWS). Both of them have overclocked in the past few years, but which one is better for me? Let's figure it out.

Requirements:


Java support
Easy and fast development
Standard and future confidence
High availability and ease of maintenance
Easy reuploading
Easy scaling
Flexibility
Cheapness

Brief comparison of compliance requirements:


Let's see how GAE and AWS meet some of my important requirements:
DemandGoogle App Engine (GAE)Amazon Web Service (AWS)Winner
Java supportYes limitedYesAWS
Easy and fast developmentYesNotGAE
Standard and future confidenceLimitedYesAWS
High availabilityYesYesDraw
Easy maintenanceYesNotGAE
Easy reuploadingYesYes, with extra workGAE
Easy scalingYesYes you can doGAE
FlexibilityLimitedYesAWS
Google App Engine fits most requirements very well. GAE is a comprehensive platform that makes development extremely quick and easy, as it provides a set of tools and controls that allow you to create and share programs without serious consequences. In it, you have ready APIs for login, storing and indexing data, sending letters and even for memking. However, due to limitations of the GAE platform, only a limited set of Java libraries are supported. Also, if you want to move your application from GAE to another place, it can be quite difficult, because you are forced to use some libraries that can be used ONLY in GAE. However, there is a platform called AppScale that allows you to run your GAE applications on Amazon Web Services — and this somewhat reduces the risk of choosing a GAE. The biggest problem with GAE is that because it is a controlled environment, there are whole clouds of applications that you can forget about - and this can limit the scope for creativity.
')
Amazon Web Services is slightly different from Google App Engine, because AWS is more about infrastructure than platform, and this means that you have complete control over the hardware and everything that works on it. You can do whatever you want with the machine, run any programs and use any libraries. But "the more power, the more responsibility" (as Uncle Ben said in Spider-Man 2). You can really shoot yourself in AWS because you are on your own with regards to username, database, or memcache. You have the opportunity to do all this, but besides this you must be ready to support all this. For Eclipse, there is a special plugin that makes it easy to lay out builds on AWS, but it's still very difficult . The AWS learning curve is definitely much higher and it will take a significant amount of time to make it work.

Brief comparison of free resources:


I want to minimize the cost of investments at this stage, since I do not even know what I will develop. Let's see what I get for free!
DemandGoogle App Engine (GAE)Amazon Web Service (AWS)Winner
CPU time:6.5 CPU hours per dayPAID!GAE
Queries:1.3 million requests per day--
Outgoing traffic:1 GB per day1 GB per monthGAE
Inbound traffic:1 GB per day1 GB per monthGAE
Disk space:1 GBPAID!GAE
Number of indexes:100--
Storage Requests:10 million per day--
Mail API requests:7 thousand a day--
Recipients of letters:2,000 recipients per day--
URL requests:657 thousand a day--
Comparison failed. Google App Engine provides far more free daily resources than Amazon Web Services. Most smaller applications can run completely free on GAE, while AWS will force you to pay for any number of visitors. On GAE, your application may well roll out before you have to increase quotas. However, one thing I like about AWS is that they don’t watch every little thing, they just dump everything and look at CPU time and traffic. And the smaller the number of monitored parameters, the less likely that something will exceed the quota.

Brief comparison of paid resources:


When habraeffekt = D happens to my projects, I will have to prepare for the worst, namely, to pay for the resources that I use. I definitely want the lowest price since I'm trying to make money, not spend it.
DemandGoogle App Engine (GAE)Amazon Web Service (AWS)Winner
CPU time:$ 0.10 / CPU hour$ 0.085- $ 2.40 / CPU-hourGAE
Outgoing traffic:$ 0.12 / GB$ 0.08- $ 0.15 / GBGAE
Inbound traffic:$ 0.10 / GB$ 0.08- $ 0.15 / GBGAE
Disk space:$ 0.15 per gb / month$ 0.08- $ 0.15 per Gb / monthAWS
Recipients of letters:$ 0.0001 per recipient--
Google App Engine again takes the lead in most cases - with a very reasonable price for CPU time and traffic. The only point where AWS stands out is potentially cheaper disk space, but you have to burn more than 50 TB to see at least some discounts.

Advantages and disadvantages:


Google App Engine (GAE)

pros
Minuses
Amazon Web Services (AWS)

pros
Minuses

Conclusion:


To be honest, I think this comparison was a bit unfair. My needs are very different from the needs of a typical business, when they are looking for maximum flexibility and can hire full-time engineers to learn everything from and to, and at the same time support the server. I also need a platform on which I can quickly implement the ideas that came to my mind without worrying about high prices, and at the moment Google App Engine is better suited than Amazon Web Services. GAE no doubt imposes more restrictions and in some ways it is worse than AWS, but I think that I am fully capable of working within this framework and making a high-quality product. So I chose Google App Engine as my cloud computing platform - and see what happens.


Winner: Google App Engine


References:

  1. http://consultingblogs.emc.com/jaddy/archive/2010/04/09/google-app-engine-amazon-web-services-and-the-cloud.aspx
  2. http://stackoverflow.com/questions/791447/windows-azure-vs-amazon-ec2-vs-google-app-engine
  3. http://www.ardentlord.com/apps/blog/show/829881-spring-3-0-on-google-app-engine
  4. http://www.acrhodes.com/2010/02/spring-3-0-with-google-app-engine/
  5. http://www.royans.net/arch/google-app-engine-java-edition/
  6. http://code.google.com/p/appscale/
  7. http://ru.wikipedia.org/wiki/Google_App_Engine
  8. http://code.google.com/appengine/
  9. http://aws.amazon.com/

Source: https://habr.com/ru/post/117146/


All Articles