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

AWS Elastic Beanstalk

2.1K
1.8K
+ 1
241
Heroku

25.5K
20.3K
+ 1
3.2K
Add tool

AWS Elastic Beanstalk vs Heroku: What are the differences?

AWS Elastic Beanstalk and Heroku are both Platform-as-a-Service (PaaS) solutions that simplify application deployment and management. Here are the key differences between AWS Elastic Beanstalk and Heroku:

  1. Platform and Flexibility: AWS Elastic Beanstalk is a PaaS offering from AWS. It allows developers to deploy and manage applications in various programming languages, including Java, .NET, Python, Node.js, and more. It provides more control over the underlying infrastructure, allowing users to configure and customize their environment settings. In contrast, Heroku is a cloud-based PaaS platform. While Heroku supports multiple programming languages, it abstracts much of the infrastructure management, focusing on ease of deployment and scalability. It provides a more streamlined experience for developers but may have limitations on customizing the underlying infrastructure.

  2. Deployment and Scaling: Elastic Beanstalk provides more options for environment configurations, including the ability to choose different instance types and network settings. It also offers features like Auto Scaling and Load Balancing to automatically adjust resources based on traffic. Heroku, on the other hand, follows a more opinionated approach to scaling. It automatically scales applications based on the selected dyno (unit of computing capacity), simplifying the scaling process for developers.

  3. Pricing and Cost Control: AWS Elastic Beanstalk pricing is based on the resources consumed by the underlying infrastructure, such as instances, storage, and data transfer. In contrast, Heroku pricing is more straightforward, with a pay-as-you-go model based on the number of dyno hours used. While Heroku offers simplicity in pricing, it may become more cost-effective or expensive depending on the application's specific resource needs.

  4. Ecosystem and Integration: AWS Elastic Beanstalk is part of the larger AWS ecosystem, which means it seamlessly integrates with other AWS services such as Amazon RDS for databases, Amazon S3 for storage, and more. Heroku, while not as tightly integrated with AWS, offers its own ecosystem of add-ons and extensions through the Heroku Elements marketplace, providing developers with a variety of third-party services and tools.

In summary, AWS Elastic Beanstalk provides more control and customization over the underlying infrastructure, making it suitable for developers who want a flexible and configurable environment within the AWS ecosystem. Heroku, on the other hand, offers a streamlined and developer-friendly experience with automatic scaling and easy deployment, making it an excellent choice for developers seeking simplicity and rapid application deployment without worrying about infrastructure management.

Decisions about AWS Elastic Beanstalk and Heroku
Mehdi Baaboura
Managing Director at Gigadrive · | 7 upvotes · 12K views

Platform.sh has great out-of-the-box support for PHP apps (especially Symfony, as it was made by the same people). Elastic Beanstalk does not have a lot of compelling PaaS features like Platform.sh. There, you have to install a lot of PHP extensions manually for example, while Platform.sh just handles it for you based on your config. Elastic Beanstalk also has terrible version updates (see link).

See more
Ben Diamond
Web Designer & Developer at Self-employed · | 6 upvotes · 16.7K views

As I was running through freeCodeCamp's curriculum, I was becoming frustrated by Replit's black box nature as a shared server solution for Node app testing. I wanted to move into a proper workflow with Git and a dedicated deployment solution just for educational or non-commercial purposes. Heroku solved that for me in spades.

Not only does Heroku support free app deployment if you don't use their extra service handlers, but you can directly hook into your GitHub repos and automatically update the app whenever you commit to the main branch. It's a simple way to get an app running as fast as possible if you wish to share a proof of concept or prototype before moving to dedicated servers.

See more

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
Manage your open source components, licenses, and vulnerabilities
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
  • 4
    Well-documented
  • 3
    Independend app container
  • 2
    Postgres hosting
  • 2
    Ability to be customized
  • 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 Heroku
  • 2
    Charges appear automatically after exceeding free quota
  • 1
    Lots of moving parts and config
  • 0
    Slow deployments
  • 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 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?
Manage your open source components, licenses, and vulnerabilities
Learn 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
3133
DockerAmazon EC2Scala+8
6
2744
GitHubPythonNode.js+47
55
72666
GitHubDockerAmazon EC2+23
12
6598
GitHubPythonSlack+25
7
3205
Jun 19 2015 at 6:37AM

ReadMe.io

JavaScriptGitHubNode.js+25
12
2426
GitHubPythonDocker+24
13
17063
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