How We Migrated from Heroku to Amazon Web Services (AWS) Using Docker
Description and use
Migrated a Node.js app from Heroku to AWS using Docker, reducing costs by ~30% and improving scalability.
Problem
The team needed to move their application from Heroku to AWS to gain more control over infrastructure, reduce costs, and improve scalability.
Outcome
The migration completed in under a week, cutting monthly hosting costs by ~30% and providing greater scalability and control over the deployment environment.
Workflow
- 1. Containerize the application using Docker.
- 2. Push Docker images to Amazon ECR.
- 3. Set up an ECS Fargate cluster and define task definitions.
- 4. Configure RDS PostgreSQL and migrate the database schema and data.
- 5. Update environment variables and secrets in ECS.
- 6. Deploy the ECS service and test connectivity.
- 7. Set up S3 buckets for static assets and update the app to use them.
- 8. Configure CloudWatch logs and metrics.
- 9. Switch DNS to point to the new ECS load balancer.
- 10. Decommission Heroku resources.
Evidence
We were able to migrate the entire application in less than a week.
The cost savings were about 30% compared to Heroku.
- Record date: 2026-09-21T10:45:39.142Z