Heroku#
Heroku is the original Platform-as-a-Service. Push a Git repository; the platform builds the artifact with a buildpack or a Dockerfile; the artifact runs in a managed dyno. Salesforce owns it. The operator picks Heroku when speed-to-running matters more than infrastructure control and budget is not the tightest constraint.
Account model#
Account, the unit of billing and identity.
Team (paid), groups apps and members under shared billing.
App, the deployable unit. One per service.
Pipeline, an ordered set of apps (review, dev, staging, production) sharing a slug.
Catalog at a glance#
Layer |
Headline services |
|---|---|
Compute |
Dynos (managed processes). Sized by RAM (Eco, Basic, Standard, Performance, Private dynos). |
Build |
Buildpacks (Ruby, Node, Python, Java, Go, PHP, Scala, Clojure), Docker image deploys, |
Storage |
Heroku Postgres, Redis, Apache Kafka on Heroku; ephemeral filesystem on dynos (state goes to one of the above or to S3). |
Add-ons |
Marketplace of managed services (Cloudinary, SendGrid, Bugsnag, Datadog, hundreds more). One |
Networking |
Routers in front of dynos, automatic TLS via ACM, Private Spaces for VPC-isolated apps. |
CLI and SDKs#
The heroku CLI plus Git for deploys; the Platform API for
programmatic access.
$ heroku login
$ heroku create my-app
$ git push heroku main # build + release in one push
$ heroku ps:scale web=2
$ heroku logs --tail
$ heroku run bash # one-off dyno
$ heroku addons:create heroku-postgresql:standard-0
$ heroku config:set LOG_LEVEL=info
$ heroku releases
The Procfile declares the process types:
web: node dist/index.js
worker: node dist/worker.js
release: node dist/migrate.js
Pricing model#
No free tier since November 2022; the cheapest dynos start around $5/month per dyno (Eco) or $7/month (Basic).
Dynos are billed per second up to a monthly cap.
Heroku Postgres and Redis have free hobby tiers no longer available; lowest production tier ~$15-$50/month.
Egress is metered but cheap relative to a hyperscaler.
When to pick Heroku#
Speed-to-production matters more than infrastructure tuning.
Small teams running a handful of services who do not want to operate a Kubernetes cluster, a CI/CD pipeline, and a logs stack.
Workloads that fit Heroku’s process model (twelve-factor apps).
When to pick something else#
Anything cost-sensitive at scale, dyno-hours add up fast.
Workloads needing GPU, large memory (over 14 GB), or specialized hardware.
Strict compliance regimes; Heroku Shield Private Spaces cover HIPAA and PCI but at high cost.
Modern alternatives have closed the gap: Fly.io, Render, Railway, AWS App Runner, GCP Cloud Run, Azure Container Apps.
Datacenter locations#
Heroku runs the Common Runtime in two regions (US, EU), with Private Spaces unlocking a broader set of single-region deployments on dedicated AWS-backed isolation.
Code |
Location |
|---|---|
us |
United States (Common Runtime) |
eu |
Europe (Common Runtime) |
virginia |
Virginia, USA (Private Spaces) |
oregon |
Oregon, USA (Private Spaces) |
montreal |
Montreal, Canada (Private Spaces) |
dublin |
Dublin, Ireland (Private Spaces) |
frankfurt |
Frankfurt, Germany (Private Spaces) |
london |
London, United Kingdom (Private Spaces) |
mumbai |
Mumbai, India (Private Spaces) |
singapore |
Singapore (Private Spaces) |
tokyo |
Tokyo, Japan (Private Spaces) |
sydney |
Sydney, Australia (Private Spaces) |
References#
Cloud for the cross-cloud taxonomy.
The Twelve-Factor App, the methodology Heroku popularised.