Compare · Heroku

KERNSTACK vs Heroku

Heroku proved deploying could be one git push. KERNSTACK keeps that promise and removes the add-on sprawl: data, search, and workflows are resources inside the project instead of separate products attached to it.

Where Heroku fits — and where teams hit the wall

Where Heroku fits well: small web applications that fit a web dyno, a Postgres, and a few add-ons, run by teams who value calm operations over infrastructure control.

Where teams outgrow Heroku: when the add-ons become the architecture — data, jobs, caching, and search each rented separately, each with its own dashboard, plan tiers, and invoice line that somebody has to reconcile.

The add-on economy, viewed from the invoice

Heroku’s core loop is still lovely: push code, get a running app. Everything the app grows into, though, is rented. The database is an add-on, background jobs are an add-on, search is an add-on — often operated by entirely different companies behind the marketplace curtain.

Each one made sense when it was attached. Together they mean the real system is a dyno formation plus a portfolio of external products, none of it declared in one place, and the monthly bill is a small archaeology project.

The same calm, with the pieces inside the project

A KERNSTACK project declares what a Heroku app rents: functions and container workers for the code, tables and buckets for data and files, a search index when the app needs one, and workflows for the jobs that used to be a scheduler add-on.

  • No add-on marketplace: the resources are part of the project and its one credit balance
  • An idle project spends no compute credits; Heroku-style always-on dynos are not the meter
  • Agents draft changes in a sandbox and a person approves the plan — the review Heroku never had

Side-by-Side: Heroku vs KERNSTACK

DimensionHerokuKERNSTACK (Software Lifecycle Cloud)
Deploy modelGit push to a dyno formationA declared project: stack.json, plan, promote
Everything beyond codeAdd-ons rented from a marketplace, each billed separatelyTables, buckets, search, and workflows inside the project
Background workWorker dynos and scheduler add-onsContainer workers and workflows with human steps
BillDynos plus every add-on’s own plan and invoice lineOne credit balance; compute at 0.01 credits per GiB-second
Idle costDynos bill for every hour they existNo compute charge while idle; storage only
OperatorSalesforce’s platform on hyperscaler regionsOur own bare metal in Europe, one zone per project

Frequently asked questions

Neither. Request-shaped code runs as functions; long-running processes run as container workers declared with a runtime such as nodejs, python, or php. The Procfile’s jobs become resources in stack.json, which is what makes them reviewable as one diff.

KERNSTACK tables — with the trade stated plainly: they are key-value tables, not SQL. If your app leans on relational queries, keep a Postgres somewhere and call it; if your access is keyed reads and writes, tables remove the add-on, its plan tiers, and its separate bill.

Heroku bills for capacity that exists; KERNSTACK bills for work that happens. Compute spends 0.01 credits per GiB-second, storage 0.04 credits per GB-hour, and an idle project spends nothing on compute — closer to how a rarely-used internal tool actually costs.

Ship your stack on the Software Lifecycle Cloud.

Closed preview on dedicated European infrastructure. Bring a repository or start from a blueprint.