What is Heroku, how dynos work and what it is for
Published on 2026-10-26 by frfrand
Practical guide on what Heroku is, how dynos work, what it is used for with examples and infrastructure comparison.

Heroku popularized a great idea: that deploying an application shouldn't start with learning how to configure Linux. You upload your code, indicate how to start it, and the platform runs it. What is worth understanding is what dynos are and what things are paid for or managed separately.
I'm not going to sell you the idea that a platform is perfect for everyone. What is useful is understanding what work it saves you, what work remains yours, and how much it can cost to maintain it when the project stops being a test.
Heroku: what it really offers you
A dyno is an execution unit for your processes. You can have a web process, another that works with a queue, and add-ons for components such as databases. That simplifies many tasks, but its execution model is not equivalent to having root inside a VPS.
An example you could have tomorrow
Imagine a chatbot that receives messages via webhook and generates responses with an AI provider. The web receiver can live in one process; generation, in a worker. The mistake would be putting both in a single HTTP request and expecting it never to be interrupted.
How to get started without overcomplicating things
- Prepare your application with declared dependencies and startup command, for example via a
Procfilewhen applicable. - Connect the project to the Heroku-compatible deployment flow and test a staging version.
- Configure private variables and the PostgreSQL add-on or external service if your app needs it.
- Separate web dynos from workers when you have long-running tasks, such as generating reports.
- Review logs, consumption, file persistence, and costs before inviting real users.
The fifth step is often the one skipped: open the application from another device, run an operation that writes data, check a log, and verify it again after restarting. That is worth more than a screenshot where the panel says "deployed".
The mistake I would avoid
The dyno file system is not a permanent storage for user-uploaded files. It is also not enough to look at the price of a dyno: add the base, queues, storage, and other add-ons.
There is another simple rule: if the project has clients or payments, do not experiment with migrations directly on the only copy of the database. Test in a separate environment, keep a verifiable copy, and prepare how to roll back.
How would I solve the same in ArduMaker?
In ArduMaker those processes can coexist on a VPS and be managed through separate services; PostgreSQL or Redis are deployed within the same infrastructure when appropriate. You have root access and more room to install tools, but server operation is no longer fully abstracted.
In a typical case, you could create the VPS in ArduMaker, connect the Git repository, install or manage PostgreSQL according to the application, define the execution process, and publish an HTTPS domain. If there is a worker that takes several minutes, separate it from the HTTP service. And if the project has several clients, organize them by Company to avoid mixed permissions and resources.
| Need | Heroku | ArduMaker |
|---|---|---|
| Main model | A dyno is an execution unit for your processes | VPS with administration tools, Git, services, and MCP |
| System access | Depends on the platform or the server where it is installed | VPS environment administration |
| Database and workers | Depend on the product and its configuration | Can run on the VPS according to available resources |
| Maintenance | Shared or assumed by you according to the service | Application and system require control and maintenance |
What I would look at before paying or migrating
I wouldn't choose based on a single figure on the pricing page. Note CPU, RAM, persistent storage, traffic, backups, support, and maintenance time. If you need to add a managed database, a workers service, or a licensed panel, include them. If you want redundancy between servers, that also needs to be designed: a VPS alone is not high availability.
So, which one would I use?
Heroku makes sense for teams that prioritize their PaaS experience and ecosystem. ArduMaker can be convenient when the app needs several persistent pieces and system access with a VPS plan.
An honest test: publish a minimal API, connect it to a database, stop the process to see what the system logs, and try to recover it. The platform with which your team can repeat those steps without suffering is usually the one that brings you the most value.
Sources and further reading
The final idea: first solve a real problem with the tool. Then compare how much effort it takes to maintain it. That's where the difference between a demo and an application you can deliver to a client appears.