Compare
AppHaven vs Heroku
Heroku made git push deployment the standard for web apps, with buildpacks, add-ons and a managed Postgres service. AppHaven keeps the push-to-deploy workflow and is designed for AI-built business applications: the database, team login, previews and backups are part of the platform.
Short answer
Choose AppHaven when you want a modern platform built for apps made with AI coding tools: the app, its managed database, login for your team, previews and production backups in one place, with European sovereignty over your app and its data. Heroku is the more technical platform: choose it when your team wants to assemble the setup itself from buildpacks, Procfiles and marketplace add-ons.
Designed for different production responsibilities
AppHaven: designed to run AI-built business applications without making you assemble the database, team access and backup infrastructure. You deploy a container from Git and declare the database next to it. Your team owns the business rules and release decisions.
Heroku: designed around the git push workflow. Buildpacks turn source code into a running app without a Dockerfile, the Procfile defines web and worker processes, and the add-on marketplace supplies databases, caches and other services. Heroku Postgres is a managed service.
What can you stop doing yourself?
✓ Handled by the platform × Yours to set up, integrate or manage
| The job to be done | AppHaven | Heroku |
|---|---|---|
| Maintaining your database | Handled by the platform: AppHaven operates it for you | Handled by the platform: Included with Heroku Postgres |
| Authentication for a private team app | Handled by the platform: Built-in access for project members | Yours to arrange: Implement or integrate application authentication |
| Backing up your database by default | Handled by the platform: On for production; choose your retention | Handled by the platform: Continuous protection on; rollback needs Standard or above |
| A test database for every preview | Handled by the platform: Included when you deploy a branch | Handled by the platform: Declare the database add-on for review apps in app.json |
Maintaining your database
- AppHaven
- Handled by the platform: AppHaven operates it for you
- Heroku
- Handled by the platform: Included with Heroku Postgres
Authentication for a private team app
- AppHaven
- Handled by the platform: Built-in access for project members
- Heroku
- Yours to arrange: Implement or integrate application authentication
Backing up your database by default
- AppHaven
- Handled by the platform: On for production; choose your retention
- Heroku
- Handled by the platform: Continuous protection on; rollback needs Standard or above
A test database for every preview
- AppHaven
- Handled by the platform: Included when you deploy a branch
- Heroku
- Handled by the platform: Declare the database add-on for review apps in app.json
Based on documentation reviewed 17 September 2026. Plan and setup requirements are shown in the cells.
AppHaven documentation: Platform
Heroku documentation: Database protection
From buildpacks to a Dockerfile
AppHaven deploys containers. Your repository needs a Dockerfile and a short apphaven.yaml describing the app and its database. Coding agents handle this well: the AppHaven plugin for Claude Code and the instructions for other agents teach your agent to write both files and check them before you push. The deployment guide shows the setup.
Each Procfile process type becomes a container service in the manifest, so a web process and a worker map across directly. Services you already use, such as email or payments, connect through environment variables exactly as they do today. And because it is a standard container, your app stays portable.
Keep a team app private without writing login
An internal tool should not be reachable by everyone who has the URL. On AppHaven an app is private by default: project members sign in through a managed login that sits in front of the app, without any code in the app itself. See how access works.
On Heroku, restricting who can open the app is an application concern: you implement login in the app or integrate an identity provider. On both platforms, public customer accounts and permissions within the app remain yours to build.
Test changes with their own data
AppHaven deploys a branch as a preview with its own database and files, in its own virtual machine, so you can try the new booking screen without touching production records.
Heroku’s review apps create a disposable app for a GitHub pull request, and provision fresh add-ons, including a database, when you declare them in app.json. Both approaches work. The difference is that on AppHaven the preview database follows from the same manifest that describes production.
Production backup history
AppHaven captures nightly snapshots and continuous database history for production automatically. It is on from the first production deploy, on every app, without choosing a plan. See how recovery works.
Heroku Postgres includes continuous protection on every plan. Rolling a database back to a point in time yourself is available on Standard plans and above, not on Essential plans. If you run on an Essential database, check what recovery you actually have.
Where your app runs, and who operates it
AppHaven gives you European sovereignty: your app and its database run in EU datacenters, under EU jurisdiction, with no US parent company in the chain.
Heroku is a Salesforce company, headquartered in the United States. Its Common Runtime offers a Europe region, and Private Spaces add Dublin, Frankfurt and London. Hosting in an EU region and being operated under EU jurisdiction are separate questions; decide which one your organisation or your customers ask about.
Heroku’s move to sustaining engineering
In February 2026 Heroku announced that it is moving to a sustaining engineering model focused on stability, security, reliability and support. Heroku states that nothing changes for customers who pay by credit card: pricing, billing and service continue. Enterprise Account contracts are no longer offered to new customers, and existing ones are honoured and can renew.
Heroku will keep running, but it is no longer being built forward. An app you expect to grow for years deserves a platform that grows with it. The best time to move is now, while nothing is urgent and you can rehearse the migration at your own pace.
Moving an app from Heroku
Add a Dockerfile and apphaven.yaml
Match the build and start commands your buildpack and Procfile use today. Map each process type to a service and declare the PostgreSQL database.
Deploy a preview branch
Push the setup to a preview branch first. Check that the app starts, migrations run and workers process jobs.
Copy config vars
Set the environment variables in the AppHaven console. Replace add-on connection strings with the services you will use.
Rehearse the data move
Export the Heroku Postgres database and import it into the AppHaven database. Include uploaded files if the app stores them. Time the rehearsal, it tells you how long the cutover takes.
Cut over
Stop writes on Heroku, run the final import, point your domain at AppHaven and keep the Heroku app available until you have verified the result.
Which should you choose?
Choose AppHaven if
you want one platform for a business application, its data and its team access, operated in Europe.
- You want a managed database, login for project members, previews with their own data and production backups around the app.
- Your app runs in a container, or your coding agent can write the Dockerfile.
- European sovereignty over your app and its data matters to you or your customers.
- You want a platform that is actively developed, with per-minute pricing and no plan tiers.
Choose Heroku if
your app is built around buildpacks, add-ons and Heroku’s process model.
- You rely on marketplace add-ons that you do not want to replace.
- A platform focused on stability rather than new features fits your plans for the app.
Common questions
Can I still deploy with git push?
Yes. AppHaven deploys when you push to your production branch, and a preview branch gets its own deployment. The Git remote is your own repository rather than a platform remote, so your existing review and branch protection rules stay in charge of releases.
Do I need a Dockerfile?
Yes, and you do not have to write it by hand. Your coding agent writes the Dockerfile and the apphaven.yaml manifest, and the AppHaven CLI validates the manifest before you push.
Can I move my Heroku Postgres data?
Yes. Export the database, import it into the managed PostgreSQL database on AppHaven and rehearse that before the final move. Keep the Heroku app in place until you have checked the destination.
What about worker processes?
A worker becomes its own container service in the manifest, next to your web service. Services in a deployment share a private network and start in the order you declare.
Keep the push. Get the rest included.
Sign up and run your app with its database, team login and production backups in EU datacenters.