What could you run on Heroku?
A Heroku dyno runs a part of your app. A web dyno can answer visitors. A separate worker can handle tasks such as creating a report after the page closes.
For a booking app, the web dyno can take requests. A database or another connected service keeps the actual bookings. On Heroku’s shared setup, called the Common Runtime, only the web dyno takes incoming web requests.
How do you get a first page online?
Heroku’s Node.js guide shows how to deploy a sample web app on Cedar, one of its hosting setups. Start with a Heroku account, the sample project or compatible app code, and the Heroku command-line tool.
- Install Node.js to run the example and Git to record changes to its code. Use a sample project or check that your own app connects only to test services before you deploy.
- Create the app, check its build and start instructions, and deploy that code. In this example, Heroku supplies the connection point the web process listens on.
- Open the address Heroku gives you. Check that one intended page loads before adding a database or inviting visitors.
How do you test a change in a separate app?
Heroku Review Apps give a GitHub change its own disposable app and address. Set up GitHub integration and a Pipeline, which groups related apps for review and release.
A pull request is a proposed change to saved code. A Review App can start deploying as soon as you create it by hand or when an automatic rule creates it. Before either kind of creation, check who can open the address and confirm that the app and any setup or release commands use only the test database, sign-in and email settings.
Once the review app is up, use a disposable account to make up a booking and check that it appears in the test database. The dynos and added services used by a review app can accrue their own charges.
What do you pay to keep the app running?
A dyno’s plan and running time affect the bill. The database and other added services are separate charges. The examples below apply to Cedar’s shared hosting setup.
Count workers and temporary review apps when estimating the bill. Estimate from the parts you enable and the time you leave them running.
An Eco web dyno sleeps after 30 minutes without web traffic. Its associated Eco worker sleeps too. New traffic wakes the web dyno after a short delay if account hours remain.
| Item | Published billing unit and boundary |
|---|---|
| Eco dynos | US$5 per month for 1,000 hours shared across eligible dynos on one personal account. If the pool runs out, its Eco dynos sleep for the rest of the month. |
| Basic dyno | Up to US$7 per month for one Basic dyno enabled all month. Charges are prorated by the second. |
| Essential-0 Postgres add-on | US$5 for a full month. This database is billed separately from the web app. |
Where do bookings and uploads stay?
Files written inside a dyno disappear when it stops or restarts. Use a database for bookings and a durable file store for uploads that must survive an app update.
Heroku Postgres is a managed database add-on. Check the recovery options for your plan before using it for customer data. Heroku distinguishes production recovery from a portable database backup. Its built-in export tool can time out on heavily used databases or databases larger than 20 GB. Choose a suitable backup method and rehearse restoring it.
What changes when you restore or move the app?
Heroku can restore a retained version of the app and its saved settings, including old database and service connection values. Before switching, confirm that those restored settings point to the services you intend to use and that the older code works with today’s records. Recover saved records and added services separately.
After switching, open the public address and verify the main task.
For a move, keep the original code project, make a separate Postgres export and copy your uploaded files. Restore the export to a compatible database and try the new setup before moving the public address.
Can Heroku run a task later?
Use a worker for work that needs to keep listening for tasks, or use Heroku Scheduler to run a command at set times. The Scheduler starts a temporary dyno and that time counts toward usage.
For a reminder task, check that it runs at the intended time and keeps a record of what it sent. Heroku documents that a scheduled run can be missed or run twice. Design important work so you can detect a missed run and retry without sending a duplicate.
Who can start a new Heroku account?
Heroku’s February 6, 2026 update says new and existing self-serve customers paying by card can continue to use the platform. New Enterprise Account contracts are unavailable under that announcement. Existing Enterprise customers may renew.
Heroku documented later database and platform releases in its October 2026 update. Check your account’s actual eligibility if your app needs a particular private hosting setup or enterprise contract.