Share X / Twitter LinkedIn

Almost every engagement we take on that involves Heroku eventually surfaces the same question: should we stay here, or move to AWS?

It is rarely a simple question. Heroku and AWS serve different needs, and the honest answer depends on factors most comparison articles gloss over — team composition, operational maturity, how tightly the app connects to Salesforce, and what “cost” actually means in your context.

Here is how we think through it with clients.

The case for staying on Heroku

Heroku makes the most sense when the team building the app is primarily application engineers — developers who want to ship features, not manage infrastructure. On Heroku, a deployment is a git push. SSL, logging, and scaling are handled through a dashboard. There is no IAM policy to debug at midnight.

If your app connects to Salesforce via Heroku Connect or Salesforce APIs, staying on Heroku keeps the integration simple. Heroku Connect runs as a first-class citizen on the platform — no firewall rules, no VPC peering. And if your app handles bursts of traffic (contest launches, campaign sends), Heroku’s dyno scaling is fast and predictable.

The tradeoff: Heroku costs more per compute unit than equivalent AWS capacity. On small or medium workloads that is acceptable. At high volume — thousands of dynos, terabytes of Postgres storage — the economics shift.

The case for moving to AWS

AWS makes sense when you have engineers who want or need infrastructure-level control. If you are already running other services on AWS, adding your Heroku app to the same ecosystem reduces operational surface area. You get VPC isolation, fine-grained IAM, and tighter compliance controls — things regulated industries often require.

The other common trigger is cost. We have worked with clients who were spending $15,000 per month on Heroku infrastructure that we migrated to ECS Fargate for roughly $4,000 per month. That is real money. But that migration took two engineers three months, and it introduced operational overhead that did not exist before. Whether the savings justified the investment depends entirely on the team’s capacity.

What we actually assess

When a client asks us this question, we look at four things:

Team composition. How many engineers does the team have, and what is their infrastructure experience? A three-person team with no DevOps background will spend more time on AWS maintenance than they save on compute.

Salesforce coupling. How tightly does the app integrate with Salesforce? Heroku Connect bidirectional sync is significantly easier to maintain on Heroku than through a custom integration on AWS.

Compliance requirements. Does the app handle PII, financial data, or healthcare records? AWS gives you more control, which some compliance frameworks require.

Cost at current and projected scale. We pull actual Heroku invoices and model equivalent AWS costs including egress, load balancers, RDS, and engineer time. The gap is often smaller than clients expect.

Most of the time, the answer is not “migrate everything.” It is “migrate the right services and keep the rest.” A pattern we use often: run compute-heavy background workers on AWS Lambda or ECS, keep the web app and Heroku Connect on Heroku, and share a Postgres database. You get cost savings where they matter without adding operational complexity to the parts of the stack that are working well.

The migration that was not worth it

One client came to us with a plan to migrate their entire Heroku stack to AWS to save money. The app had six dynos, a Heroku Postgres instance, and a Heroku Connect sync. Annual Heroku cost: about $18,000.

We modelled the AWS equivalent — EC2 with auto-scaling, RDS, a managed NAT gateway, ECS for the workers. The infrastructure cost would have been roughly $9,000. A $9,000 annual saving. But the migration would have taken eight weeks of engineering time, and ongoing infra maintenance would have added about two hours per month.

They stayed on Heroku.


If you are working through a similar decision, we are happy to talk it through. We do this assessment as part of most Heroku engagements. Get in touch or see how we work with Heroku and Salesforce.