AWS Elastic Beanstalk vs Google App Engine vs Heroku

Need advice about which tool to choose?Ask the StackShare community!

AWS Elastic Beanstalk

2.1K
1.8K
+ 1
241
Google App Engine

10K
7.9K
+ 1
610
Heroku

25.3K
20.2K
+ 1
3.2K

AWS Elastic Beanstalk vs Google App Engine vs Heroku: What are the differences?

Key Differences between AWS Elastic Beanstalk, Google App Engine, and Heroku

Introduction

When it comes to deploying and managing applications in the cloud, there are several platform-as-a-service (PaaS) options available. Three popular choices are AWS Elastic Beanstalk, Google App Engine, and Heroku. Although all three offer similar features and functionalities, there are notable differences that distinguish them from each other. In this article, we will explore the key differences between these three platforms.

  1. Scalability: AWS Elastic Beanstalk and Google App Engine provide automatic scaling, allowing applications to handle increased traffic effortlessly. However, Heroku requires manual scaling, where users have to adjust the dyno count manually. This makes Elastic Beanstalk and App Engine more suitable for applications with unpredictable or fluctuating traffic patterns.

  2. Pricing: AWS Elastic Beanstalk and Google App Engine offer flexible pricing models based on resources utilized, such as compute resources, storage, and data transfer. In contrast, Heroku follows a simplified pricing approach with predefined plans, optimizing for ease of use and eliminating the need to calculate costs based on resource consumption.

  3. Platform Flexibility: Google App Engine is limited to running applications written in specific programming languages (Java, Python, Go, and Node.js). On the other hand, AWS Elastic Beanstalk and Heroku provide greater flexibility and support for various programming languages, frameworks, and technologies. This makes Elastic Beanstalk and Heroku suitable for a wider range of application stacks.

  4. Integration with Cloud Services: AWS Elastic Beanstalk integrates seamlessly with other AWS services, such as Amazon RDS for database management and Amazon S3 for storage. Similarly, Google App Engine leverages other Google Cloud services, while Heroku enables integration with various third-party add-ons. This integration enables developers to access additional resources and functionality directly from the platform.

  5. Deployment Control: Heroku offers a streamlined deployment process and automatic buildpack detection, making it ideal for quick and easy deployments. AWS Elastic Beanstalk and Google App Engine provide more granular control over deployment configurations, allowing developers to customize runtime settings and deploy containers or virtual machines.

  6. Ecosystem Support: AWS Elastic Beanstalk and Google App Engine have extensive documentation, community support, and a well-established ecosystem of tools and services. Heroku, being a PaaS provider itself, offers a narrower ecosystem focused on its specific platform. Depending on the requirements and developer preferences, the ecosystem support can play a significant role in the decision-making process.

In summary, AWS Elastic Beanstalk, Google App Engine, and Heroku differ in terms of scalability, pricing, platform flexibility, integration with cloud services, deployment control, and ecosystem support. Understanding these differences is essential for choosing the right platform for your specific application needs.

Decisions about AWS Elastic Beanstalk, Google App Engine, and Heroku

The Friendliest.app started on Heroku (both app and db) like most of my projects. The db on Heroku was on the cusp of becoming prohibitively expensive for this project.

After looking at options and reading recommendations we settled on Render to host both the application and db. Render's pricing model seems to scale more linearly with the application instead of the large pricing/performance jumps experienced with Heroku.

Migration to Render was extremely easy and we were able to complete both the db and application moves within 24 hours.

The only thing we're really missing on Render is a CLI. With Heroku, we could manage everything from the command line in VSCode. With Render, you need to use the web shell they provide.

See more

I'm transitioning to Render from heroku. The pricing scale matches my usage scale, yet it's just as easy to deploy. It's removed a lot of the devops that I don't like to deal with on setting up my own raw *nix box and makes deployment simple and easy!

Clustering I don't use clustering features at the moment but when i need to set up clustering of nodes and discoverability, render will enable that where Heroku would require that I use an external service like redis.

Restarts The restarts are annoying. I understand the reasoning, but I'd rather watch my service if its got a memory leak and work to fix it than to just assume that it has memory leaks and needs to restart.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of AWS Elastic Beanstalk
Pros of Google App Engine
Pros of Heroku
  • 77
    Integrates with other aws services
  • 65
    Simple deployment
  • 44
    Fast
  • 28
    Painless
  • 16
    Free
  • 4
    Well-documented
  • 3
    Independend app container
  • 2
    Postgres hosting
  • 2
    Ability to be customized
  • 145
    Easy to deploy
  • 106
    Auto scaling
  • 80
    Good free plan
  • 62
    Easy management
  • 56
    Scalability
  • 35
    Low cost
  • 32
    Comprehensive set of features
  • 28
    All services in one place
  • 22
    Simple scaling
  • 19
    Quick and reliable cloud servers
  • 6
    Granular Billing
  • 5
    Easy to develop and unit test
  • 4
    Monitoring gives comprehensive set of key indicators
  • 3
    Really easy to quickly bring up a full stack
  • 3
    Create APIs quickly with cloud endpoints
  • 2
    Mostly up
  • 2
    No Ops
  • 703
    Easy deployment
  • 459
    Free for side projects
  • 374
    Huge time-saver
  • 348
    Simple scaling
  • 261
    Low devops skills required
  • 190
    Easy setup
  • 174
    Add-ons for almost everything
  • 153
    Beginner friendly
  • 150
    Better for startups
  • 133
    Low learning curve
  • 48
    Postgres hosting
  • 41
    Easy to add collaborators
  • 30
    Faster development
  • 24
    Awesome documentation
  • 19
    Simple rollback
  • 19
    Focus on product, not deployment
  • 15
    Natural companion for rails development
  • 15
    Easy integration
  • 12
    Great customer support
  • 8
    GitHub integration
  • 6
    Painless & well documented
  • 6
    No-ops
  • 4
    I love that they make it free to launch a side project
  • 4
    Free
  • 3
    Great UI
  • 3
    Just works
  • 2
    PostgreSQL forking and following
  • 2
    MySQL extension
  • 1
    Security
  • 1
    Able to host stuff good like Discord Bot
  • 0
    Sec

Sign up to add or upvote prosMake informed product decisions

Cons of AWS Elastic Beanstalk
Cons of Google App Engine
Cons of Heroku
  • 2
    Charges appear automatically after exceeding free quota
  • 1
    Lots of moving parts and config
  • 0
    Slow deployments
    Be the first to leave a con
    • 27
      Super expensive
    • 9
      Not a whole lot of flexibility
    • 7
      No usable MySQL option
    • 7
      Storage
    • 5
      Low performance on free tier
    • 2
      24/7 support is $1,000 per month

    Sign up to add or upvote consMake informed product decisions

    What is AWS Elastic Beanstalk?

    Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.

    What is Google App Engine?

    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.

    What is Heroku?

    Heroku is a cloud application platform – a new way of building and deploying web apps. Heroku lets app developers spend 100% of their time on their application code, not managing servers, deployment, ongoing operations, or scaling.

    Need advice about which tool to choose?Ask the StackShare community!

    What companies use AWS Elastic Beanstalk?
    What companies use Google App Engine?
    What companies use Heroku?

    Sign up to get full access to all the companiesMake informed product decisions

    What tools integrate with AWS Elastic Beanstalk?
    What tools integrate with Google App Engine?
    What tools integrate with Heroku?

    Sign up to get full access to all the tool integrationsMake informed product decisions

    Blog Posts

    Sep 29 2020 at 7:36PM

    WorkOS

    PythonSlackG Suite+17
    6
    3054
    DockerAmazon EC2Scala+8
    6
    2712
    GitHubPythonNode.js+47
    54
    72335
    GitHubDockerAmazon EC2+23
    12
    6568
    GitHubPythonSlack+25
    7
    3160
    Jun 19 2015 at 6:37AM

    ReadMe.io

    JavaScriptGitHubNode.js+25
    12
    2362
    GitHubPythonDocker+24
    13
    17017
    What are some alternatives to AWS Elastic Beanstalk, Google App Engine, and Heroku?
    AWS CodeDeploy
    AWS CodeDeploy is a service that automates code deployments to Amazon EC2 instances. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.
    Docker
    The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere
    AWS CloudFormation
    You can use AWS CloudFormation’s sample templates or create your own templates to describe the AWS resources, and any associated dependencies or runtime parameters, required to run your application. You don’t need to figure out the order in which AWS services need to be provisioned or the subtleties of how to make those dependencies work.
    Azure App Service
    Quickly build, deploy, and scale web apps created with popular frameworks .NET, .NET Core, Node.js, Java, PHP, Ruby, or Python, in containers or running on any operating system. Meet rigorous, enterprise-grade performance, security, and compliance requirements by using the fully managed platform for your operational and monitoring tasks.
    Kubernetes
    Kubernetes is an open source orchestration system for Docker containers. It handles scheduling onto nodes in a compute cluster and actively manages workloads to ensure that their state matches the users declared intentions.
    See all alternatives