AWS Elastic Beanstalk vs Heroku

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

AWS Elastic Beanstalk

2K
1.6K
+ 1
240
Heroku

20.1K
15.6K
+ 1
3.2K
Add tool

AWS Elastic Beanstalk vs Heroku: What are the differences?

What is AWS Elastic Beanstalk? 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.

What is Heroku? Build, deliver, monitor and scale web apps and APIs with a trail blazing developer experience. 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.

AWS Elastic Beanstalk and Heroku can be categorized 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, Heroku provides the following key features:

  • Agile deployment for Ruby, Node.js, Clojure, Java, Python, Go and Scala.
  • Run and scale any type of app.
  • Total visibility across your entire app.

"Integrates with other aws services" is the primary reason why developers consider AWS Elastic Beanstalk over the competitors, whereas "Easy deployment" was stated as the key factor in picking Heroku.

StackShare, Heroku, and SendGrid are some of the popular companies that use Heroku, whereas AWS Elastic Beanstalk is used by Sellsuki, Edify, and eTobb. Heroku has a broader approval, being mentioned in 1496 company stacks & 937 developers stacks; compared to AWS Elastic Beanstalk, which is listed in 370 company stacks and 113 developer stacks.

Decisions about AWS Elastic Beanstalk 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 Private StackShare. Sign up for Private StackShare.
Learn More
Pros of AWS Elastic Beanstalk
Pros of Heroku
  • 77
    Integrates with other aws services
  • 65
    Simple deployment
  • 44
    Fast
  • 28
    Painless
  • 16
    Free
  • 3
    Independend app container
  • 3
    Well-documented
  • 2
    Ability to be customized
  • 2
    Postgres hosting
  • 704
    Easy deployment
  • 460
    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
  • 154
    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
    Focus on product, not deployment
  • 19
    Simple rollback
  • 15
    Natural companion for rails development
  • 15
    Easy integration
  • 12
    Great customer support
  • 8
    GitHub integration
  • 6
    No-ops
  • 6
    Painless & well documented
  • 4
    Free
  • 4
    I love that they make it free to launch a side project
  • 3
    Just works
  • 3
    Great UI
  • 2
    PostgreSQL forking and following
  • 2
    MySQL extension
  • 1
    Able to host stuff good like Discord Bot
  • 0
    Sec
  • 0
    Security

Sign up to add or upvote prosMake informed product decisions

Cons of AWS Elastic Beanstalk
Cons of Heroku
  • 2
    Charges appear automatically after exceeding free quota
  • 1
    Lots of moving parts and config
  • 0
    Slow deployments
  • 23
    Super expensive
  • 6
    Not a whole lot of flexibility
  • 5
    No usable MySQL option
  • 5
    Storage
  • 4
    Low performance on free tier
  • 1
    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 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 Heroku?
See which teams inside your own company are using AWS Elastic Beanstalk or Heroku.
Sign up for Private StackShareLearn More

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

What tools integrate with AWS Elastic Beanstalk?
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
2550
DockerAmazon EC2Scala+8
6
2234
GitHubPythonNode.js+47
50
69460
GitHubDockerAmazon EC2+23
12
6360
GitHubPythonSlack+25
7
2840
Jun 19 2015 at 6:37AM

ReadMe.io

JavaScriptGitHubNode.js+25
11
1733
GitHubPythonDocker+24
13
16746
What are some alternatives to AWS Elastic Beanstalk and Heroku?
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.
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.
See all alternatives