Skip to content

Metered or flat box: which pricing fits each app

How to choose metered vs reserved pricing per deployment on Ownkube: meter what idles, reserve what runs steadily, databases always reserved.

Abhishek Jaiswal

6 min

On this page 7 sections

On Ownkube Compute you choose metered or a flat reserved box per deployment, so a bursty web app can meter while a steady worker sits on a fixed price in the same project. The choice comes down to one question: does this app idle, or does it run hot around the clock?

This post explains what metered and reserved billing each mean, gives the entry prices for the boxes, and lays out a decision rule simple enough to apply per app without a spreadsheet.

TL;DR

  • Metered bills both CPU and memory on actual per-minute usage, so a mostly-idle app costs almost nothing on CPU.
  • A reserved box is a flat price whether it is busy or idle: Spark from $5 a month, Core (dedicated vCPU) from $58 a month.
  • You choose metered or reserved per deployment and can switch later. Nothing forces one model on everything.
  • Databases and caches are always reserved: a Postgres box from $4 a month plus storage, a Valkey cache box from $2 a month.
  • The rule: meter what idles, reserve what runs steadily.

What metered pricing means

Metered pricing bills you for what an app actually uses, measured per minute, on both CPU and memory. You set a CPU limit and a memory limit as ceilings, and the bill follows the meter rather than the ceiling. A limit sets aside nothing, so you pay only for what the app consumes up to it.

That matters because most personal software is idle most of the time. A side project handling a request every few minutes has a CPU line that sits near zero between requests. On a metered deployment that idle time is nearly free, and the balance you loaded stretches across it. The metered rates are about $18 per vCPU per month and $4.50 per GiB per month.

Memory is the part people forget. Metered on Ownkube means CPU and memory both bill on real usage, so an app that holds a small resident set while it idles is cheap on both lines.

What a reserved box means

A reserved box is a fixed-size instance at a flat price. It bills the same whether the app inside it is slammed or asleep. You are buying a known monthly number instead of a meter, which is what you want for a workload where the meter would never rest anyway.

Ownkube has two reserved compute shapes. Spark is the small box, from $5 a month, and fits small steady services and light always-on apps. Core is a dedicated-vCPU box, from $58 a month, for workloads that need consistent performance and run hot enough to justify it.

A flat box is predictable: there is no end-of-month arithmetic and no spike to absorb. The trade is that you pay the box price through the quiet hours the same as the busy ones.

Databases and caches are always reserved

Metered versus reserved is a choice for your app deployments only. Data services are always reserved on Ownkube, because a database that scaled its price to zero when idle would also have to give up being always available.

A managed Postgres runs on a database box from $4 a month, plus storage at $0.25 per GB a month. It is private (in-region) by default. Backups with point-in-time recovery (Personal and Team), high availability with a primary plus up to two standby instances (Team), and opt-in public access are per-database options. While it sleeps, only the storage bills.

A Valkey cache runs on a cache box from $2 a month. It is in-memory and ephemeral, so there is no storage charge, and it offers an opt-in public rediss:// endpoint when you need to reach it from outside.

These flat prices are a floor you can plan against. A small app with one Postgres and one Valkey has a data layer starting around $6 a month before storage, and that number does not move with traffic.

The box entry prices at a glance

Here are the reserved boxes and where the meter sits relative to them.

BoxTypeEntry priceBilling shape
Metered computeShared, usage-based~$18 / vCPU / mo, ~$4.50 / GiB / moPer-minute CPU and memory, near-zero when idle
SparkReservedfrom $5 / moFlat, busy or idle
CoreReserved, dedicated vCPUfrom $58 / moFlat, busy or idle
PostgresReserved database boxfrom $4 / mo + $0.25 / GB / mo storageFlat compute, storage metered
ValkeyReserved cache boxfrom $2 / moFlat, in-memory, no storage charge

All of it draws from the same prepaid wallet. For how that wallet caps your total spend, see how to keep your cloud bill from surprising you, and for why prepaid credit that rolls over beats a postpaid meter, see what a prepaid cloud wallet is.

How to choose per app

The decision rule is short: meter what idles, reserve what runs steadily. Apply it per deployment.

Meter it when the app idles

If a workload spends most of its time waiting, meter it. Web apps and APIs that handle bursts between long quiet stretches, side projects, internal tools, staging environments, and anything you spun up to try out all fit here.

The idle hours are nearly free on the meter, so you pay for the bursts and little else. Metered is the default, and it suits most personal software.

Reserve it when it runs hot

If a workload runs hot around the clock, reserve it. A busy background worker that never idles, a streaming consumer that is always draining a queue, or a service pinned near its CPU limit all day would meter continuously.

For that shape, a flat box gives you a price that never moves and often costs less than the meter would. Start on Spark for a small steady service, and step up to Core when it needs a dedicated vCPU.

Mix them in one project

Because the choice is per deployment, a single project can meter its front-end API, reserve a Spark box for a steady worker, and run a reserved Postgres and Valkey behind both.

You match each workload to the shape that costs less for how it actually runs, and you can switch a deployment from metered to reserved (or back) as its usage pattern settles.

To sanity-check, estimate the app’s average CPU usage. If average usage is a small fraction of its ceiling, meter it. If it sits near the ceiling most of the day, price out a reserved box, because at high steady utilization the flat rate usually wins.

FAQ

What is the difference between metered and reserved pricing on Ownkube?

Metered bills both CPU and memory on actual per-minute usage, so an idle app is nearly free. Reserved is a flat-price box (Spark or Core) that costs the same busy or idle. You pick per deployment.

Can I change a deployment from metered to reserved later?

Yes. The choice is per deployment and you can switch as the workload’s usage pattern settles. A bursty app that becomes steadily busy can move onto a reserved box, and a reserved box that mostly idles can move to the meter.

Why can’t I meter a database?

A database has to stay available, so it cannot scale its price to zero the way an idle app’s CPU can. Databases and caches are always reserved: Postgres from $4 a month plus storage, Valkey from $2 a month.

Is metered always cheaper than reserved?

No. Metered wins when an app idles, because you skip paying for the quiet hours. Reserved wins when an app runs hot around the clock, because a flat box beats a meter that never rests. Match the model to how the app actually runs.

How do the box prices bill against my wallet?

Every model, metered or reserved, draws down the same prepaid wallet per minute. Reserved boxes draw a steady amount, metered deployments draw more when busy and almost nothing when idle, and unused wallet credit rolls over and never expires.

For the full definition, see Active-CPU Billing in the docs glossary.

Where Ownkube fits

Meter the workloads that idle and pay almost nothing for their quiet hours. Reserve the ones that run hot and get a flat number you can plan against, and let databases and caches sit on their reserved boxes, since their job is to stay available.

It all draws one prepaid wallet, so the whole project stays inside a ceiling you set. For personal software and small teams who want each app on the pricing that suits it, Ownkube Compute makes that a per-deployment choice. Deploy my first app.

Abhishek Jaiswal · Founder and Engineer

Abhishek Jaiswal is the founder and engineer behind Ownkube, a cloud for personal software. He builds the platform and writes here about cloud cost, migrations, and running production infrastructure in your own AWS account without a DevOps team.

Share

More posts

All posts

Ship my first app in the next five minutes.

Push a repo and get a live URL, with no cloud account or config.

Top up from $5, billed per minute with no subscription.