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 PerryDecember 28, 2021 · 8 min read
CRO and co-founder of Qovery. Morgan is a Tech entrepreneur with 7+ years of experience in the SaaS industry.See all articles
ℹ️ 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
|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
*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
- 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
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
- 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
- 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
- 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
|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
|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.
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
Create Production-like Environments at the Speed of Light
Qovery is a Platform to easily duplicate your infrastructure and create production-like environments in your AWS account; Compatible with all your AWS services!Try it out now!