Heroku vs AWS - Why Costs and Scale are Secondary Considerations
This is a decision that will, for sure, have a lasting impact on the future of your project.
But don’t panic. The choice between Heroku vs AWS doesn’t need to be a difficult decision for you.
In this article, I’ll demystify the differences between Heroku and AWS and give you a way to think about the decision for your own project. These insights come from our experience at TriFin Labs with building apps for clients on Heroku, while keeping most of our product development on AWS.
If you’re new to all of this, here’s a primer on AWS and Heroku:
AWS – Is “a secure cloud services platform, offering compute power, database storage, content delivery and other functionality.” Users choose individual features and services, as needed. It’s available on-demand and uses a pay-as-you-go pricing model.
AWS is a known as Infrastructure as a Service (IaaS), and it’s just that – infrastructure. Infrastructure that you need to configure, customize, and maintain yourself. At first glance, AWS is a lot less expensive than Heroku – but that’s because they’re not the same thing.
Heroku – Is “a cloud platform that lets companies build, deliver, monitor and scale apps.” This ‘platform’ includes the infrastructure AWS offers – Heroku just takes care of the configuration, customization, and maintenance for you. Thus, Heroku is classified as a Platform as a Service (PaaS).
It offers a tiered, subscription-based pricing structure to accommodate the needs of any app. Heroku’s platform includes a powerful set of tools, largely replacing the need for dedicated devops staff. That’s why it’s more expensive than AWS (without factoring in staff costs).
Because Heroku uses (sits on top of) AWS and is more expensive, developers will often argue AWS is the only logical choice. Developers often see Heroku and think “I don’t need a tool to do that, I can do it myself.” As with all “obvious” answers, there are details that require more consideration.
Fine, let’s consider the costs of AWS vs Heroku
To use AWS, a company must make a significant investment in devops – the people, staff training, programming, and system maintenance required to maintain your infrastructure. The reason is all features are a la carte, so each company provides their own staff to configure, customize, and integrate those features.
In practical terms, that means the staff is responsible for building and testing apps, creating/maintaining application programming interfaces (APIs are the intermediary software that allows two applications to “talk” to each other), debugging code, security patches, downtime troubleshooting – you get the idea.
The infrastructure AWS provides is the best technology on the market and it’s reliable. The “add-ons” are highly specialized (expensive) people, a boatload of work and additional costs to make sure your app does what you need it to….including collecting and sharing data.
What’s great about Heroku is that it leverages all that fabulous AWS technology and replaces in-house devops with the ease of point-and-click app deployment, scaling, and runtime metrics. One program is all that’s needed to create, test and maintain an app throughout its entire lifecycle. So all of those expenses listed above don’t have line items in your budget.
This is why costs shouldn’t be a factor in the Heroku vs AWS debate. As you scale with AWS you will undoubtedly need to recruit and retain talented employees to manage it. As you scale with Heroku there is a direct correlation between traffic and costs because of how Heroku works. Before getting into the only factor that matters, let’s take a deeper look at the value of Heroku.
Heroku’s Value Propositions (Yes, There’s More Than One)
The biggest play here is breaking down the silos between the customer and the enterprise – apps and Salesforce need to “talk” to each other. Heroku automates the connection to and from Salesforce and an open source such as a PostgreSQL database, enabling bi-directional data synchronization. These real-time updates in Salesforce are instantly reflected in the database, and vice versa.
Creating this integration is as simple as point-and-click. No extra coding, patches or imports are required. Any process, from analysis to inventory updates, will always access current data.
Aside from the obvious benefits of streamlining app development and shorter time to market, Heroku supports mission-critical needs throughout the enterprise.
Federal government level security: Pretty much any certifications anyone would ever need are in place. No matter what field – healthcare, life sciences, financial services or even the federal government – there’s no need to have staff or additional overhead dedicated to the maintenance of security protocols.
White-glove customer service: Prompt, efficient service for you, as the customer, takes your customer service up a notch. The ripple effect is that when you get what you need, your customers can depend on your apps run smoothly.
Heroku wears the pager: In-house staff doesn’t have to deal with infrastructure or hardware fails or anything else IT-related. This also ensures data is available when your customers and staff require access – guaranteed uptime and redundant systems are part of the service.
Freedom to create: Eliminating IT infrastructure expenses, staffing and system maintenance frees up time, resources and creativity to invest in innovation. Building the next-gen service platform, product or engagement application becomes the focus.
Above all, Heroku creates the opportunity to focus on core functionality and building the application. The user-friendly nature of the tools makes it easy to quickly create an app and get it into the market, operating a new idea or generating revenue.
This could easily lead to the assumption that only start-ups or small companies will find value here. But large companies can also take advantage of this quick, nimble development process, leveraging the built-in resources to scale, as needed.
The only factor in Heroku vs. AWS that matters
“Should we need to focus on staffing somebody to keep the lights on, or do we pay someone else to worry about that for us?”
In this case, Heroku manages it for you in a very white-gloved way (pay someone else). Anyone can reduce costs by selecting a la carte offerings from AWS to meet infrastructure needs, as long as they have the resources to manage it.
There’s an inflection point where a business gets so big that it has to have the resources and an in-house team to do all care and feeding for IT. From that perspective, costs can become the primary factor. When a lot of resources are needed, just using the raw compute and the raw service might be a more cost-efficient play – taking it all in-house.
But not every team is identical. Some completely outsource their IT development and operations. Others see it as a huge part of their business and have large dev teams and huge innovation labs. It comes down to choosing the approach that supports your view of critical functionalities, software, development, data management and the developer experience.
When choosing the underlying tech-stack for your product there’s only one thing that matters – the makeup of your team. For this reason, Heroku remains my recommendation for more than 90% of the companies we speak to.
The bottom line is this – with a new product you need to remain agile, you have to keep costs down to give you enough runway to find product-market fit, you need to spend all of your energy on creating an amazing product your users will love, and all signs point to Heroku being the right choice.
About Shane Rostad
Shane Rostad is a marketing manager for TriFin Labs that loves to share his knowledge and learnings about tech through writing. When he's not reading you can find him exploring Florida's parks or loitering in a local coffee shop.