Heroku vs AWS | What are the differences?
This article will explore the differences and similarities between Heroku and AWS. It will cover each provider’s core features, pricing structure, use cases, and featured clients.
Before diving into Heroku and AWS, it’s essential to understand some technical concepts regarding cloud computing.
The first concept to understand is IaaS or Infrastructure as a Service. This cloud model allows users to move from on-premise deployment and owing servers to a model that they pay the servers by the usage.
Generally speaking, users are trading a CAPEX investment in acquiring servers for an OPEX expenditure and paying by the month.
Other benefits of the IaaS model include scalability, security, multiple regions, uptime, capital expenditure reduction, and self-service provisioning.
A second cloud model to understand is PaaS or Platform as a Service. This cloud model will provide similar functionalities of the IaaS model plus operating systems, middleware, and runtime.
IaaS delivers users direct control over OS – Operating Systems, and PaaS offers users more significant development speed and ease of use. PaaS platforms will also deliver a managed services versus self-service approach of a IaaS.
That said, we can categorize AWS as an IaaS provider. However, it offers multiple products and has some PaaS offerings like AWS Beanstalk.
On the other hand, Heroku is a PaaS provider. However, it also offers additional products like managed databases and add-ons.
Now that you know the basics let’s explore AWS and Heroku cloud services with further details.
Contents
Key Takeaways
- IaaS and PaaS are two different cloud models
- AWS is mainly an IaaS platform
- Heroku is a PaaS provider
- Heroku runs the platform using AWS as the underlying infrastructure
- AWS also has PaaS offerings like AWS Elastic Beanstalk
What is AWS?
According to Alliedmarketresearch, the infrastructure as a service market will reach astounding $481 billing in 2030, and AWS – Amazon Web Services is the core player in this field and has a market share of around 39%.
AWS started its journey in 2006 and nowadays operates in 27 regions, 87 availability zones, and 410+ points of presence. According to Statista, AWS’s revenue in 2021 reached $62 billion and has been growing steadily since its inception.
AWS Products
AWS offers more than 200 products and services. The core offerings include:
- Compute
- Storage
- Databases
- Networking and CDN
- Analytics
- Machine Learning
- Security & Identity
The compute offerings encompass EC2 instances, container services like Fargate, EKS, ECS, functions with AWS Lambda, and auto-scaling features.
AWS storage covers the S3 object storage, EBS – Elastic Block Storage, cold storage services like Glacier, and automated backups.
AWS does also provide managed database services. The offerings cover SQL and NoSQL databases, including Postgres, MySQL, and DynamoDB.
The products related to Networking include Amazon Cloudfront, a CDN service, Elastic Load Balancers, VPNs, and API gateways.
Analytics services include querying S3 data via SQL, analyzing video and data streams, and analyzing financial data.
AWS also offers a broad range of machine learning products that allow customers to detect fraud, build chat and text chatbots, detect anomalies, and reduce equipment downtime.
The security and identity services provide authentication tools, threat detection, firewall management, and identity/access management.
AWS Pricing
Generally speaking, AWS pricing works the following way:
- Small free tier for testing
- Pay as you go
AWS EC2 charges are calculated by the second or hour depending on the instance type, OS, and region. AWS also offers discounted rates for a long-term commitment, and savings can reach up to 70% compared to the standard price.
For more information about AWS pricing, please refer to this page.
Advantages of using AWS
AWS is a fantastic platform, and there is an extensive list of advantages to using this provider. The list includes:
- Cost-effective
- Discount for long-term commitment
- Discount for high-volume usage
- Reliability
- Multiple deployment regions
- Vast and growing product offerings
What is Heroku?
According to Alliedmarketresearch, the platform as a service market will reach amazing $319 billing in 2030, and Heroku is one of the most important players this market.
Heroku is the pioneer of the PaaS market and was founded in 2007, launched in 2009, and initially supported the Ruby programming language.
Salesforce acquired the platform in 2010 for roughly $200 million and has been evolving since then. Currently, the container platform supports multiple programming languages like Ruby, Python, NodeJS, PHP, Go, etc., and offers additional database services for Postgres, Redis, and Kafka.
Heroku Products
Heroku offers an extensive list of products and services. The list includes:
- Container platform
- Continuous delivery and integration
- Workflows
- Metrics, auto-scaling, alerts, etc
- Managed databases
- Team collaboration
The platform operates using Dynos, virtualized containers created to execute specific code. These building blocks can run applications written in several programming languages, including Go, Scala, Java, PHP, Ruby, etc.
Heroku is a developer-centric platform that streamlines application development via continuous delivery and integration. It provides a well-organized deployment workflow integrated with GitHub and visual pipelines.
As part of the developer experience, Heroku offers an extensive suite of supporting features that allow customers to visualize the application metrics, opt for auto-scaling, specify alerts, see the application logs, etc.
Heroku offers three managed database solutions and supports Postgres, Redis, and Kafka. The managed database service started in 2011 with Postgres, is optimized by the best experts, and delivers a superior developer experience.
Heroku delivers best-in-class collaboration tools for its users. The feature set includes app-level permissions, role control, and integrated billing.
During the past years, Heroku developed several products that are enterprise-focused. The list includes products like:
- Private Spaces – Isolated runtime environment, multiple geographic regions, advanced security
- Heroku Connect – Allows bi-directional synchronization between Heroku Postgres and Salesforce
- Heroku Shield – To support HIPAA and PCI-compliant applications
Heroku Pricing
Heroku will no longer provide users with a free tier, and the company announced this change on August 25, 2022. The platform will delete inactive accounts on October 26, 2022, and stop providing free services on November 28, 2022.
The pricing for paid plans remains unchanged and summarized below:
Plan | Category | Starting price |
Hobby | Dyno | $7/month |
Standard 1x | Dyno | $25/month |
Standard 2x | Dyno | $50/month |
Performance M | Dyno | $250/month |
Performance L | Dyno | $500/month |
Hobby Basic | Postgres | $9/month |
Standard | Postgres | $50/month |
Premium | Postgres | $200/month |
Private | Postgres | Under quotation |
Shield | Postgres | Under quotation |
Premium | Redis | $15/month |
Private | Redis | Under quotation |
Shield | Redis | Under quotation |
Basic | Kafka | $100/month |
Standard | Kafka | $1,500/month |
Extended | Kafka | $4,000/month |
Private | Kafka | Under quotation |
Shield | Kafka | Under quotation |
Heroku offers multiple add-ons to regular services, and the price will vary depending on the type and vendor. Numerous vendors offer free options, and paid options are also available. For further information, please check each add-on individually.
Heroku includes team collaboration as part of the product for up to 5 users. From 6 to 25 users, it will charge $10 per seat per month. A larger team will require a custom quotation.
Advantages of using Heroku
Heroku is a fantastic cloud platform for web and mobile apps development, and there is an extensive list of advantages to using this provider. The list includes:
- Ready-to-use infrastructure
- Easy deployment process
- DevOps team looking after the infrastructure 24/07
- Infrastructure management
- Faster app development and time to market
- Works with several programming languages and databases
- Developer-centric
- Built-in security
- Regular updates
- Ready-to-use monitoring and management tools
Heroku vs AWS Comparison
Difference #1 – IaaS vs PaaS
The first and most pronounced difference is that AWS mainly operates as an infrastructure provider and Heroku as a platform as a service provider.
Users looking for convenience and managed services should opt for Heroku. On the other hand, users looking for control, flexibility, and lower costs should opt for AWS.
Difference #2 – Pricing
Let’s compare the pricing for an EC2 instance and a Heroku container. We will choose the Performance M container that provides 2.5GB RAM. Based on this StackOverflow discussion, we will assume the Performance M Dyno has a 1CPU core.
The closest AWS EC2 instance that matches the Performance M Dyno is an m5.large with 8GB RAM and 2vCPUs. Let’s assume this instance can handle two Performance M Dynos.
The m5.large instance will cost around $70/month in North Virginia. Considering that we are assuming that the Performance M Dyno has approximately half of the computing power of the m5.large instance, the monthly cost of half instance will be $35/month.
The Performance M Dyno costs $250/month, and it is substantially more expensive than an AWS instance’s similar compute power. This comparison did not consider additional instance costs like attached volumes, data transfer, etc.
Also, we could not find the exact specifications of the Performance M Dyno on Heroku’s website and assumed that it has only 1 CPU. The results will change if these assumptions are not correct.
Difference #3 – User experience
Heroku is a developer-centric platform that provides a fantastic development experience. Continuous delivery and integration come out of the box, offering an easy-to-use dashboard to manage application metrics.
Due to the extensive range of products and services, the AWS console is not as intuitive to use as Heroku. Although using core features like EC2, S3, and Cloudfront is not rocket science, the learning curve and time spent will likely be higher than Heroku.
Difference #4 – Regions
This is key difference between both providers.
AWS offers 27 regions for virtual machine deployment and encompasses all world continents. On the other hand, Heroku only offers deployment in the United States and Europe. Users that opt for the Private Spaces can deploy in up to 6 regions.
Depending on the end user’s location and how important latency is for an application, this difference may or may not be an issue.
Applications supporting users in Asia or Australia may find AWS a better path to improve latency. On the other hand, for applications supporting users in the US/Europe, Heroku will most likely fulfill latency requirements very well.
Difference #5 – Managed service vs Self-service
Heroku provides a fully managed service for containers and databases. Some benefits of a managed service include a piece of mind, 24/07 monitoring, regular updates, and improved performance.
AWS is more flexible and offers self-service solutions and managed services. Examples of self-service products include EC2 instances, S3, etc. Managed services include RDS, Dynamo DB, AWS Amplify, etc. Some benefits of self-service include lower costs, flexibility, and control.
Comparison Table AWS vs Heroku
AWS | Heroku | |
Overview | Largest cloud provider | Cloud platform to build, run, and operate apps. |
Category | IaaS | PaaS |
Created | 2006 | 2007 |
Parent company | Amazon | Salesforce |
Core products | Compute Storage Databases Networking and CDN Analytics Machine Learning Security & Identity | Container platform Continuous delivery and integration Workflows Metrics, auto-scaling, alerts, etc Managed databases Team collaboration |
Free tier | Yes | Until Nov 28, 2022 |
Ease-of-use | Easy | Very easy |
Managed service | Most of the products are self-managed, but it also offers some managed solutions. | Yes |
Flexibility | High | Medium |
Control | High | Medium |
Needs DevOps maintenance | Yes | No |
Ready-to-use environment | No | Yes |
Regions | 27 | 2 – for regular plans 6 – for private spaces |
Pricing | Less expensive | More expensive |
Featured clients | Coca Cola Netflix BMW | PensionBee LitCharts DrivenData |
Conclusion
Both Heroku and AWS are two fantastic solutions for application development and hosting and have been running for more than 15 years.
AWS is best suited for users looking for self-managed implementations, high degrees of control and flexibility, deployment in multiple geographic regions, and an extensive range of products.
Heroku is best suited for users looking for managed implementations, 24/07 monitoring, concentrated in the US/Europe, and products offering related to containers and databases.
What is Heroku?
Heroku is an efficient container-based PaaS (Platform as a Service) solution. The benefits of Heroku are:
– Speed up app development
– Works with many development languages
– Managed service and scalability
What is AWS?
AWS – Amazon Web Services is an evolving and comprehensive cloud solution and its services are ranging from instances, storage to complete managed solutions. The benefits of AWS are:
– Its a cost effective solution
– High performance and availability
– Feature rich solution
What are the differences between Heroku and AWS?
– Heroku is a PaaS – Platform and a Service
– AWS is a IaaS – Infrastructure as a Service
– Heroku provides a managed service
– AWS provides self-hosting options
– Heroku will take of the infrastructure for you
– AWS will provide instances and services for you to manage
– Usually, Heroku is more expensive in comparison to AWS EC2