AWS Elastic Beanstalk vs Google App Engine: What are the differences?
Developers describe AWS Elastic Beanstalk as "Quickly deploy and manage applications in the AWS cloud". Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring. On the other hand, Google App Engine is detailed as "Build web applications on the same scalable systems that power Google applications". Google has a reputation for highly reliable, high performance infrastructure. With App Engine you can take advantage of the 10 years of knowledge Google has in running massively scalable, performance driven systems. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow.
AWS Elastic Beanstalk and Google App Engine can be primarily classified as "Platform as a Service" tools.
Some of the features offered by AWS Elastic Beanstalk are:
- Elastic Beanstalk is built using familiar software stacks such as the Apache HTTP Server for Node.js, PHP and Python, Passenger for Ruby, IIS 7.5 for .NET, and Apache Tomcat for Java
- There is no additional charge for Elastic Beanstalk - you pay only for the AWS resources needed to store and run your applications.
- Easy to begin – Elastic Beanstalk is a quick and simple way to deploy your application to AWS. You simply use the AWS Management Console, Git deployment, or an integrated development environment (IDE) such as Eclipse or Visual Studio to upload your application
On the other hand, Google App Engine provides the following key features:
- Zero to sixty: Scale your app automatically without worrying about managing machines.
- Supercharged APIs: Supercharge your app with services such as Task Queue, XMPP, and Cloud SQL, all powered by the same infrastructure that powers the Google services you use every day.
- You're in control: Manage your application with a simple, web-based dashboard allowing you to customize your app's performance.
"Integrates with other aws services" is the top reason why over 74 developers like AWS Elastic Beanstalk, while over 140 developers mention "Easy to deploy" as the leading cause for choosing Google App Engine.
Snapchat, Accenture, and Movielala are some of the popular companies that use Google App Engine, whereas AWS Elastic Beanstalk is used by Accenture, Sellsuki, and Close. Google App Engine has a broader approval, being mentioned in 481 company stacks & 343 developers stacks; compared to AWS Elastic Beanstalk, which is listed in 374 company stacks and 118 developer stacks.
What is AWS Elastic Beanstalk?
What is Google App Engine?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using Google App Engine?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
When creating the web infrastructure for our start-up, I wanted to host our app on a PaaS to get started quickly.
A very popular one for Rails is Heroku, which I love for free hobby side projects, but never used professionally. On the other hand, I was very familiar with the AWS ecosystem, and since I was going to use some of its services anyways, I thought: why not go all in on it?
It turns out that Amazon offers a PaaS called AWS Elastic Beanstalk, which is basically like an “AWS Heroku”. It even comes with a similar command-line utility, called "eb”. While edge-case Rails problems are not as well documented as with Heroku, it was very satisfying to manage all our cloud services under the same AWS account. There are auto-scaling options for web and worker instances, which is a nice touch. Overall, it was reliable, and I would recommend it to anyone planning on heavily using AWS.
We initially started out with Heroku as our PaaS provider due to a desire to use it by our original developer for our Ruby on Rails application/website at the time. We were finding response times slow, it was painfully slow, sometimes taking 10 seconds to start loading the main page. Moving up to the next "compute" level was going to be very expensive.
We moved our site over to AWS Elastic Beanstalk , not only did response times on the site practically become instant, our cloud bill for the application was cut in half.
In database world we are currently using Amazon RDS for PostgreSQL also, we have both MariaDB and Microsoft SQL Server both hosted on Amazon RDS. The plan is to migrate to AWS Aurora Serverless for all 3 of those database systems.
Additional services we use for our public applications: AWS Lambda, Python, Redis, Memcached, AWS Elastic Load Balancing (ELB), Amazon Elasticsearch Service, Amazon ElastiCache
I use Gunicorn because does one thing - it’s a WSGI HTTP server - and it does it well. Deploy it quickly and easily, and let the rest of your stack do what the rest of your stack does well, wherever that may be.
uWSGI “aims at developing a full stack for building hosting services” - if that’s a thing you need then ok, but I like the principle of doing one thing well, and I deploy to platforms like Heroku and AWS Elastic Beanstalk where the rest of the “hosting service” is provided and managed for me.
With Cloud Endpoints you can create and deploy mobile backend in one hour or less. And it is free (until you need extra scale). I would not recommend to use Java - python is faster and has all new appengine features.
Pros: everything is in one place: task queue, cron, backend instances for data processing, datastore, mapreduce. Cons: you cannot easily move your code from GAE. Even with special 3rd party services.
With Cloud Endpoints you can create and deploy mobile backend in one hour or less.
PaaS for back-end components, including external data ingestion APIs, front-end web service APIs, hosting of static front-end application assets, back-end data processing pipeline microservices, APIs to storage infrastructure (Cloud SQL and Memcached), and data processing pipeline task queues and cron jobs. Task queue fan-out and auto-scaling of back-end microservice instances provide parallelism for high velocity data processing.
checking a swap require a lot of cpu resource, roster normally come out same day of month, every month, at a particular time. Which make very high spike, our flag ship product, iSwap, with the capability looking swap possibility with 10000 other rosters base on user critieria, you need a cloud computing give you this magnitude of computing power. gae did it nicely, user friendly, easy to you, low cost.
Elastic Beanstalk gives us a managed platform for our front end servers to make sure that traffic is never overloading our servers and that deployments are always successful.
App engine fills in the gaps in the increasingly smaller case where it's necessary for us to run our own APIs.
Elastic Beanstalk manages our environments. We rely on it to manage rolling out new versions of services.
Easy to get started. Essentially a package of several AWS products integrated for you.
Very easy to make cloud computing of ML models , and use containers like Kubernetes.
Cloud instances to run our app, Cloud MySQL , Network Load Balancer
For convenience I use Elastic Beanstalk to host all my sites.