Heroku vs AWS : what to choose in 2022? - Detailed comparison

As a developer, using Heroku (a Platform as a service (PaaS)) helps get our applications up and running quickly. Without worrying about servers, scaling, backup, network, and so many underground details. Heroku is the perfect solution to start a project. But as the project grows, the needs become more complex, and moving from Heroku to Amazon Web Services (AWS) becomes more and more a no-brainer choice (discover why so many CTOs decide to move from Heroku to AWS). In this article, I'll compare Heroku and AWS on the features, pricing, scaling, and developer experience criteria. At the end of the article, you will better understand what to choose between Heroku and AWS in 2022. Let's go!

Morgan Perry

Morgan Perry

December 28, 2021 · 8 min read
Heroku vs AWS : what to choose in 2022? - Detailed comparison - Qovery
Written byMorgan Perry

Morgan Perry

CRO and co-founder of Qovery. Morgan is a Tech entrepreneur with 10+ years of experience in marketing and growth operations.

See all articles
AWSHeroku

ℹ️ I suppose you already know the basics of what Heroku (defined as PaaS) and AWS (defined as IaaS) are and what their main pros and cons are. (If not, we've covered those principles in this article)

1. Heroku vs. AWS: features

Heroku AWS
Features - Fully flexible runtime environment with smart containers (dynos) system.
- Manual horizontal and vertical scaling
- Rollback your database or code in no time
- App monitoring system to keep track of metrics, like response time, throughput, memory, etc.
- Full GitHub Integration
- Multiple deployment options and the ability to roll back to the previous version
- Automatic scaling of web apps based on their specific needs and defined conditions.
- Quick restart of all app servers by using a single command
- App metrics
- Direct access to the processor and memory of the underlying server.
- AWS Service Integration
Languages - Ruby
- Java
- PHP
- Python
- Node.js
- Go
- Scala

- Docker*

*supported but not so simple as it was built before Docker does exist
- Any language is supported without any limitations but requires advanced knowledge
Addons and services - Heroku offers hundreds of addons for various purposes like security, mailing, content management, testing, alerts, notifications.
- About 700 pages of one-click-deployment third-party components and libraries are offered on the Heroku platform
- AWS includes over 200 services and more than 2000 features including computing, storage, databases, analytics, networking, mobile, developer tools, management tools, IoT, security, and enterprise applications.
Supported regions - Heroku has 2 regions available for apps in the Common Runtime: Europe and USA, and 6 small regions for Private Spaces: Virginia, Oregon, Dublin, Frankfurt, Sydney, and Tokyo. - AWS is available on a global scale in 190 countries and territories.
VPC - Supported with Heroku Enterprise plan and the Shield option. Subscription with a one-year commitment at least. - AWS includes VPC with no extra costs.
HIPAA and SOC2 compliance - Same as for the VPC support. You need to have a Heroku Enterprise with the Shield option. - AWS includes HIPAA and SOC2 compliance for their services and their infrastructure with no extra effort. E.g: Database encryption, VPC security group, Firewall, IP Static

Heroku is startup and beginner-friendly and easily integrates with many developer workflows. Its platform allows you to build an application using a customizable, self-regulating framework. This saves you time and money compared to starting an app from scratch. AWS works best with a DevOps engineer or development team since it isn't self-regulating. That gives them more control over the application and its various processes. It can help you build complex and sophisticated apps with multiple deployment options. You can even deploy your app in multiple places around the world at the same time.

2. Heroku vs. AWS: pricing

Heroku AWS
Cloud computing Dyno:

- standard 4 (30 GB RAM, 750 GB storage) - $750.00 per month
- performance-m (2.5GB) - $250.00 per month
- performance-l (14GB) - $500.00 per month
EC2:

On-Demand Linux instances:

- t3.micro (1GiB) – $0.0104 per hour - $7.48 per month
- t3.small (2GiB) – $0.0208 per hour - $14.98 per month
- c5.2xlarge (16GiB) – $0.34 per hour - $244.8 per month
Database Heroku Postgres:

- standard 4 (30 GB RAM, 750 GB storage, mono-AZ) $750.00 per month
RDS for PostgreSQL:

- db.t3.large (30 GB RAM, 750GB storage, mono-AZ) $546 per month
In-memory storage (i.e., cache) Heroku Redis:

- Premium-9 (10GB) $1,450.00 per month
ElastiCache:

- cache.r4.large (12.3 GiB) – $0.228 per hour - $164.16 per month
Object storage - Heroku has nothing to offer. They recommend using Amazon S3
Data streaming Apache Kafka:

- Basic-2 - $175 per month
KDS:

- 4 shard hours – $0.015 per hour - 527.04 million PUT Payload Units – $0.014 per 1,000,000 units - $50.58 per month
Support Heroku offers three support options:

- Standard - Free
- Premium - Starts from $1,000
- Enterprise - Starts from $1,000
AWS offers four support plans: Basic, Developer, Business, and Enterprise.

- The Basic plan is provided to all customers
- For the other plans, the price is calculated according to AWS usage for a particular amount of costs (For example, if you spend $5,000 on Amazon products, the price for support will be $500)

Heroku gives you more time to focus on building applications but quickly gets expensive, especially when you plan to scale. AWS offers a variety of options and solutions to manage your hosting infrastructure and save the budget.

3. Heroku vs. AWS: scaling

Heroku AWS
Scaling capabilities - Allows manual horizontal and vertical scaling using the Heroku dashboard or using a command-line interface.

- It also offers autoscaling for Private Space dynos
- Supports the AutoScale feature and has dedicated services for scaling and reserving computational capacities automatically.
Technical knowledge required - Beginner - Advanced
Cost - Low cost when starting a project, very expensive on while scaling. - High cost when starting a project, cost-effective while scaling.

Both Heroku and AWS allow for scalability; the main difference is in the degree of technical knowledge required to scale up or down. In addition, deciding whether to scale with AWS or Heroku will include a significant cost difference.

4. Heroku vs. AWS: Developer Experience

Heroku AWS
Documentation - Comprehensive documentation with step-by-step guides for every first-class language support and all Heroku essentials - Every service of AWS is documented and comes with tutorials for various cases. Can become tedious to digest and time consuming
Deployment speed - Quick deployment. To deploy an app on Heroku often need less than 30 minutes.

- Offers a ready-to-use environment that allows deploying the code fast
- The deployment process with AWS is quite complex, and launching multiple app instances for an app with the average workload can take a serious amount of time and requires skills.
Deployment Flexibility - A self-regulating framework leads to less flexibility compared to IaaS platform opportunities. - AWS provides developers with tools that give them full control over resources.
Technical knowledge required - Beginner - Advanced

Heroku is known for the simplicity of its use. The deployment process is made easy using Git, and many DevOps routines are handled automatically. In return, Heroku offers less flexibility and control over the computing infrastructure. For its part, AWS provides excellent flexibility and much more control but requires a skilled specialist to manage the computing infrastructure.

The Verdict

Heroku or AWS, both platforms have strong and weak sides. There is no straightforward answer to whether you should switch from Heroku to AWS, but we have listed above four things to consider when moving from Heroku to AWS and how to double-check if it makes sense for you.

But you need to understand what kind of feature your organization needs and how much you are ready to pay for them. You should also assess the skills and resources (especially DevOps) of your team before making your choice. The right platform is the one that helps you achieve your business goal while keeping your developers productive.

You also need to determine the skills sets (especially DevOps) in your team before you choose. The right platform helps you achieve your business goal and at the same time keeps your developers productive.

Heroku vs. AWS: which is right for you?

In a nutshell, use Heroku if:

  • You prioritize time over money (ideally if you want to build an MVP app, deploy, and test it)
  • You don't have DevOps engineers in the team
  • Your project is quite simple and doesn't require huge computing power
  • You like Git ;)

Use AWS if:

  • You need flexible infrastructure and more control over the server and environment configurations
  • You have DevOps engineers in your team
  • You need auto-scaling and support a more complex project (including microservices app)
  • You don't want to be lock-in by a PaaS platform and its way of doing things

Qovery - the best of both worlds

Qovery is the simplest way to deploy your apps in your AWS account
Qovery is the simplest way to deploy your apps in your AWS account

The idea behind Qovery is to fill the gap between Heroku and AWS. Qovery brings the simplicity of Heroku to your AWS account. Give it a try now!

AWSHeroku