Heroku to AWS Migration
Migrating from Heroku to AWS: Postgres and Beyond
Practical guide for engineering teams migrating off Heroku — covering Postgres to RDS, Dynos to EC2 or Fargate, buildpack-to-Docker conversion, and CI/CD re-plumbing on AWS. From FactualMinds, an AWS Select Tier Services Partner specializing in AWS migrations.
Last updated:
Quick Answer: Migrate when the AWS-native feature depth, governance controls, and long-term cost profile justify the transition effort.
Freshness Check (June 2026)
Use this page as a decision framework, then validate the latest pricing, quotas, and region-level feature parity in AWS documentation before final sign-off.
This page was refreshed against official AWS announcements and service documentation published in the last 12 months. Confirm region support, quotas, and pricing before final architecture sign-off.
Heroku changed the developer experience permanently when it launched in 2007. git push heroku main deploying a production application was genuinely magical. For over a decade, Heroku was the default answer for teams that wanted to ship fast without managing infrastructure.
The calculus shifted in late 2022 when Heroku retired its free tier and shortly after discontinued its cheapest database plans. Teams that had been staying on Heroku for cost or inertia reasons suddenly had a concrete reason to evaluate AWS. The cost and feature gap with AWS has only widened in the years since, which is why we still see this migration in the FactualMinds pipeline every quarter. This guide is for those teams.
We are an AWS Select Tier Services Partner. We will be direct about what Heroku does better — and what makes AWS the stronger long-term platform for most teams.
Heroku to AWS Service Mapping
| Heroku Service | AWS Equivalent | Notes |
|---|---|---|
| Dynos (web) | ECS Fargate or EC2 | Fargate for containers; EC2 for lift-and-shift or simpler setup |
| Dynos (worker) | ECS Fargate tasks or Lambda + SQS | Lambda for event-driven workers; Fargate for long-running processes |
| Heroku Postgres | Amazon RDS (PostgreSQL) | RDS adds Multi-AZ, read replicas, automated snapshots |
| Heroku Redis | Amazon ElastiCache for Redis | ElastiCache adds cluster mode and Global Datastore |
| Heroku Scheduler | Amazon EventBridge Scheduler + Lambda | EventBridge Scheduler provides cron-based invocation of Lambda functions |
| Heroku Pipelines | AWS CodePipeline or GitHub Actions | GitHub Actions is the simpler starting point for most teams |
| Heroku Review Apps | No direct equivalent | Approximated with ECS task-per-branch or Lambda function URLs |
| Heroku Add-ons | AWS Marketplace or native services | Many Heroku add-on vendors also have AWS Marketplace listings |
| Config Vars | AWS Systems Manager Parameter Store or Secrets Manager | Secrets Manager for sensitive values; Parameter Store for non-sensitive config |
Cost Comparison
Heroku’s pricing after the 2022 changes is no longer competitive for most workloads at scale. The plan prices below are reference points (Heroku publishes the current list on their site — confirm before quoting them in a migration proposal); the AWS estimates assume on-demand pricing in us-east-1 and will be lower with Savings Plans or Reserved Instances.
Compute
| Plan | Heroku | AWS Equivalent | AWS Monthly Cost |
|---|---|---|---|
| 512 MB / 1x CPU | Standard-1X — $25/month | EC2 t3.small (2 vCPU, 2 GB) | ~$15/month |
| 1 GB / 2x CPU | Standard-2X — $50/month | EC2 t3.medium (2 vCPU, 4 GB) | ~$30/month |
| Container-based | Eco Dynos at $5/month each | ECS Fargate (0.25 vCPU, 0.5 GB) | ~$8/month |
Add an Application Load Balancer (~$16/month) to the AWS side — Heroku’s routing tier is included. At 2+ Dynos, AWS pulls ahead on cost.
Managed Postgres
| Plan | Heroku | AWS RDS Equivalent | AWS Monthly Cost |
|---|---|---|---|
| Mini / Hobby (100K rows) | $5/month | RDS db.t3.micro, 20 GB (dev only) | ~$14/month |
| Basic (10M rows, no HA) | $9/month | RDS db.t3.micro, 20 GB | ~$14/month |
| Standard-0 (64 GB RAM) | $50/month | RDS db.t3.small, 20 GB | ~$28/month |
| Standard-2 (61 GB RAM, 400 conn limit) | $200/month | RDS db.m6g.large, 100 GB | ~$120/month |
| Premium-0 | $200/month | RDS db.r6g.large Multi-AZ, 100 GB | ~$185/month |
| Premium-4 | $800/month | RDS db.r6g.2xlarge Multi-AZ, 500 GB | ~$580/month |
Note: Heroku Postgres Standard and Premium plans include one free follower replica for read scaling. For equivalent read scaling on RDS, add a read replica (~50% of primary instance cost). Heroku’s multi-region support would require additional replicas.
Related Comparisons
Explore other technical comparisons:
Why Choose FactualMinds for Your AWS Migration
FactualMinds is an AWS Select Tier Services Partner specializing in cloud platform migrations. We have executed GCP, DigitalOcean, Heroku, and MongoDB migrations to AWS and know the pitfalls.
- Migration architects — assessment-first methodology mapping your current state before execution
- Zero-downtime cutover — we execute migrations with minimal business impact
- AWS Select Tier Partner — verified on AWS Partner Network
- AWS Marketplace Seller
Related Comparisons
Other side-by-side breakdowns engineering teams read alongside this one.
MongoDB Atlas to Amazon DocumentDB: Migration Guide and Comparison
Honest comparison of MongoDB Atlas vs Amazon DocumentDB. Compatibility, features, pricing, and migration considerations.
Migrating from DigitalOcean to AWS: Service Mapping and Guide
Practical guide to migrating from DigitalOcean to AWS. Service equivalents, migration strategy, and cost comparison.
Frequently Asked Questions
Why should I migrate from Heroku to AWS?
How do I migrate Heroku Postgres to RDS?
Is AWS cheaper than Heroku?
What replaces Heroku Dynos on AWS?
How do I move my Heroku app to AWS?
Ready to Migrate to AWS?
FactualMinds is an AWS Select Tier Services Partner. We run assessment-first migrations — mapping your current architecture, estimating risk, and executing with zero-downtime cutover strategies.
