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 Consulting Partner specializing in AWS migrations.
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 November 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. This guide is for those teams. We are an [AWS Select Tier Consulting Partner](/services/aws-migration). 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. ### 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: - [DynamoDB vs RDS](/compare/dynamodb-vs-rds) - [AWS RDS vs Aurora](/compare/aws-rds-vs-aurora) ## Why Choose FactualMinds for Your AWS Migration FactualMinds is an **AWS Select Tier Consulting 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](https://partners.amazonaws.com/partners/001aq000008su2EAAQ/Factual%20Minds) - [AWS Marketplace Seller](https://aws.amazon.com/marketplace/seller-profile?id=seller-m753gfqftla7y) ---
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 November 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. This guide is for those teams.
We are an AWS Select Tier Consulting 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.
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 Consulting 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
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 Consulting Partner. We run assessment-first migrations — mapping your current architecture, estimating risk, and executing with zero-downtime cutover strategies.
