Virtual servers on BareMetal and Linux

We priced servers down to the halfpenny.

Run your application as a BareMetal unikernel in as little as 4 MiB of RAM, or boot a minimal Linux in 32 MiB. Same Firecracker microVMs, same hourly price list, all in Canadian dollars.

Idle BareMetal server · 4 MiB
CA$0.0050/ hr
RunningCA$0.0050/hr
vCPU, only while busyCA$0.0100/vCPU-hr
Memory above 4 MiBCA$0.0205/GiB-hr
Minimum memory4 MiB · Linux 32 MiB
Where the memory actually goes

Most of a server's RAM is spent booting an operating system, not running your code.

A typical cloud instance loads a general-purpose kernel, an init system, a standard library, and a handful of background agents before your application ever gets a byte. Halfpenny skips all of it: your app is linked directly against the BareMetal exokernel and shipped as one unikernel image.

Typical cloud VM

≈ 512 MiB before your code runs
kernel
init
libc
agents
your app
general-purpose kernel init system dynamic libc sshd, cron, monitoring your application
Illustrative breakdown for a general-purpose minimum-tier instance.

Halfpenny unikernel

4 MiB, all of it working
BareMetal
your app
BareMetal exokernel your application, direct
No init system, no dynamic linker, no background agents — nothing scheduled that isn't yours.
Runtimes

Two ways to boot, one price list.

Pick the smallest thing that runs your workload. Both run inside Firecracker microVMs and are billed with the same meters; the only difference is how much memory the runtime needs to start.

BareMetal

4 MiB minimum

Your application is combined with the BareMetal exokernel and deployed as a unikernel. No general-purpose OS underneath, so nearly every byte of RAM goes to your code.

Best for: small services, network functions, anything you can build as a single image.

Linux

32 MiB minimum

A minimal Linux, built from minlin, for software that expects the Linux environment. Still tiny next to a stock distribution.

Best for: existing Linux software you don't want to port. View minlin on GitHub →
How it's built

Your application becomes the kernel.

BareMetal is an exokernel — it hands hardware resources straight to your application instead of mediating them through OS abstractions. Firecracker gives that pairing a minimal, hardware-virtualized boundary to run inside.

01

Your application payload

Whatever you're deploying — a service, a daemon, a static binary — becomes the workload the kernel exists to run.

02

Linked against BareMetal

The exokernel is combined directly with your payload at build time, rather than installed underneath it as a separate OS layer.

03

Deployed as one unikernel

The combined image runs as a single-purpose unikernel inside a Firecracker microVM — one boot, one address space, one job.

Pricing

Pay by the hour for what you run.

A running fee, CPU time while your code is busy, and any memory above the first 4 MiB. Every rate is per hour and in Canadian dollars (CAD).

RunningCA$0.005000/hr
vCPU (only while busy)CA$0.0100/vCPU-hr
Memory (above 4 MiB)CA$0.0205/GiB-hr
Disk storageCA$0.000154/GiB-hr
Additional vCPUsComing soon—
Minimum memory: BareMetal 4 MiB, Linux 32 MiB. The first 4 MiB are included in the running fee. Each server has 1 vCPU, charged only for time it is busy.
RunningCA$0.005000
vCPU (estimated idle)CA$0.000000
Memory above 4 MiBCA$0.000000
DiskCA$0.000000
Estimated total per hour
CA$0.005000
Estimate assumes the vCPU is idle. Busy time adds CA$0.0100 per vCPU-hour.