Heroku Runtime

The Heroku Runtime is the part of the Heroku platform responsible for running and managing your application. The Heroku Runtime is responsible for provisioning and orchestrating containers (dynos), managing and monitoring their lifecycle, providing proper network configuration, HTTP routing, log aggregation, and more.

Smart containers

The Heroku platform runs your apps inside smart containers called dynos. Dynos work in tight coordination with the dyno manager to provide a range of benefits to your app like security, isolation, and scalability.

Container orchestration

The dyno manager, a part of the Heroku Runtime, coordinates and manages all your app’s dynos. Failed dynos are cycled and all components are reset and refreshed upon a redeploy. If there are any failures in the underlying hardware, all your dynos are moved to a new location without any manual intervention.

Log aggregation

The Heroku Runtime aggregates logs from the output streams of your app, system components, and backing services and sends them into a single channel using Heroku’s Logplex. Heroku aggregates three categories of logs for your app: app logs, system logs, and API logs.

HTTP routing

A set of routers automatically routes HTTP requests from your app’s hostname(s) to your web dynos. The router uses a random selection algorithm to distribute traffic across your web dynos.

Release management

With every code deploy a new release is created and stored on Heroku. You can list the history of releases, and use rollbacks to revert to prior releases for backing out of bad deploys.

Configuration management

Configuration may vary between different environments. Heroku uses config vars to keep track of environment configurations. Each time a config var is updated, it creates a new release so you can can roll back to any previous release to have the config vars restored.

SSL and Certificate Management

Heroku SSL and Automated Certificate Management are included at no additional charge on any app using paid dynos. The Heroku router terminates SSL for your app’s custom domains. With Automated Certificate Management, a TLS certificate is generated for your custom domains automatically.

Horizontal and vertical scaling

You can horizontally scale any app running on Standard or Performance dynos by increasing the number of dynos from the Heroku Dashboard or CLI, or change dyno types to vertically scale your app by running on dynos with more CPU and memory capacity.

Deploy with Docker, run on Heroku

You can choose to deploy pre-built Docker images via Container Registry, or have Heroku build your Docker images from your Dockerfiles. Take advantage of Heroku's container orchestration, high productivity developer experience, and managed infrastructure.

Values and Benefits

Fast app rollbacks

With release and configuration management, there are copies of both your deploys and config vars stored within the platform. Rolling back is easy in case of a failed release or if you just want to restore a recent configuration.

Easy traffic management

It’s fast and easy to respond to traffic spikes coming to your app with simple horizontal and vertical scaling. A single heroku ps:scale web=5 command will add 5 more smart containers to run your app. There is also Autoscaling if you don’t want to keep an eye on traffic spikes!

Encryption as the default

Heroku SSL and Automated Certificate Management, included at no additional charge on paid dynos, enable you to focus on your code and have one less reminder on your calendar to refresh the certificates you have in use.

Robust container management

Heroku Runtime keeps your app alive by capturing failed commands and detecting faulty hardware quickly. If the command used to start a dyno exits or the dyno is on faulty hardware, the dyno is cycled and/or moved to a new location for fast recovery. This all happens in the background with no impact on your app.

Consolidated logs

Heroku Runtime treats logs as event streams and collects them from different sources (router nodes, dynos, add-ons etc.) into a single stream - providing superior visibility and enabling searching and alerts.

Automated security patching

Heroku keeps the underlying operating system and libraries up-to-date with the latest security patches. These tasks are all handled automatically without any impact on your running dynos except for a silent restart behind the scenes.

Isolated apps

Applications on the Heroku platform run within their own isolated environment and cannot interact with other applications or areas of the system to prevent security and stability issues. These environments isolate processes, memory, and the file system while host-based firewalls restrict applications from establishing local network connections.

Dev/prod parity

With Container Registry you can take advantage of Docker for local development, then push to Heroku when your code is ready. Now you can be sure code that runs on your machine will run on another developer’s machine and the test/production environment.

Choice of stack

With Container Registry you can use any base OS to power your app. You can also install any dependency, giving you complete control over the stack on which your app runs, plus the benefits of running on Heroku: maintained infrastructure, a security & SRE team, container orchestration, routing, and the leading add-ons ecosystem.

“Much of our core product functionality would be far more complex, or even not exist, without Heroku. It would take us years to develop our own version of Heroku on AWS.”

RYAN TOWNSEND
CTO, SHIFT Commerce
SHIFT Commerce’s story →

“One of the appeals of Heroku is not having to worry about the infrastructure details. Not having to hire someone to do the DevOps part of the job is huge for us.”

Mason Hale
Founder & CEO, Team Topia
SwimTopia’s story →

“We're data science professionals, not DevOps practitioners. So it would be a massive undertaking and a big distraction for us to set up and maintain our own infrastructure. When we analyze the costs, it’s cheaper for us to run our apps on Heroku.”

Isaac Slavitt
Co-Founder & Data Scientist, DrivenData
DrivenData’s story →

“I don’t need to worry about patching, adding additional storage, or security vulnerabilities. The Heroku platform is managed and supported by the Heroku team.”

LEELA PARVATHANENI
Director of Customer-Facing Applications, Align Technology
Align Technology’s story →
Webinar

Creating Secure Web Apps: What Every Developer Needs to Know About HTTPS Today

Secure internet communication is one of the most important issues facing technology practitioners these days. But for many software development teams, it’s an afterthought. Almost every week there’s a new headline about web security: Google Chrome flagging non-HTTPS sites as insecure, Apple requiring iOS apps’ API communication to use HTTPS, and Google giving search ranking preference to HTTPS. Join Josh Aas, head of Let’s Encrypt and the Internet Security Research Group, and Chris Castle, Developer Advocate from Heroku who will talk about what every developer needs to know about HTTPS today.