Dynos: the heart of the Heroku platform
App developers rely on software abstractions to simplify development and enhance productivity. When it comes to running apps, containerization abstracts away the burden of managing hardware or virtual machines. Instead of hardware management, you deploy an app to Heroku, which packages the app’s code and dependencies into containers — lightweight, isolated environments that provide compute, memory, an OS, and an ephemeral filesystem. Containers are typically run on a shared host, yet are completely isolated from each other.
The Heroku Platform uses the container model to run and scale all Heroku apps. The containers used at Heroku are called “dynos.” Dynos are isolated, virtualized Linux containers that are designed to execute code based on a user-specified command. Your app can scale to any specified number of dynos based on its resource demands. Heroku’s container management capabilities provide you with an easy way to scale and manage the number, size, and type of dynos your app may need at any given time.
Dynos are the building blocks that power any Heroku app, from simple to sophisticated. Deploying to dynos, and relying on Heroku's dyno management, makes it easy for you to build and run flexible, scalable apps - freeing you from managing infrastructure, so you can focus on building and running great apps.