CASE 20 · PARALLEL · 2024
Off Heroku, onto a bill that scales.
A B2B marketplace had outgrown Heroku — both the bill ($38k/month for Performance dynos and Heroku Postgres) and the operational ceiling. We moved a six-year-old Rails monolith plus three microservices to ECS Fargate and Aurora Postgres without rewriting the deploy pipeline.
B2B marketplace
MIGRATION
2024
RESULTS
What changed, by the numbers.
INFRASTRUCTURE BILL
−66%
DEPLOY TIME
3m
OPERATIONS LOAD
+1h/wk
MIGRATION TIME
5w
HOW IT WENT
The Heroku setup was elegant but expensive: Performance-M dynos for the web tier, Performance-L for the worker tier, Heroku Postgres at the Standard-7 plan, an add-on Redis. The team valued the deploy ergonomics, not the infrastructure abstraction.
We rebuilt the deploy to feel similar: `git push` triggered CodeBuild, which built a container, pushed it to ECR, and triggered CodeDeploy on ECS Fargate. Sidekiq workers became a separate ECS service with the same image. Aurora Postgres replaced Heroku Postgres with continuous replication during the dry-run weeks.
The migration cutover took ninety minutes on a Sunday. Bill dropped from $38k to $13k month one. The team trades about an hour a week of operational work for the savings; they consider it a fair trade. The deploy ergonomics are close enough that nobody talks about Heroku anymore.
RELATED · SAME DOMAIN
Other engagements in this space.
READY WHEN YOU ARE
Let's get your AWS bill (and architecture) in order.
The discovery call is free. You walk away with at least one concrete idea — even if we never work together.