Build and test environments, booted in 10 ms

Pack a large environment into a template once. Boot any number of copies in under 10 ms, inject your code as a ROM, run, then scale to zero and resume exactly where it stopped.

Includes $50 in usage credits. No card required.

Pack the environments your team needs:

node-monorepojvm-gradlerust-workspacepy-ml-cudaandroid-sdkbrowser-matrixpg-integrationk3s-clusternode-monorepojvm-gradlerust-workspacepy-ml-cudaandroid-sdkbrowser-matrixpg-integrationk3s-cluster

Use cases

Built for CI owners, test-infra teams, and agent developers.

CI builds

Give every commit a warm machine. The template already holds your toolchain, caches, and daemons, so the first compile starts immediately.

Test fleets

Shard a suite across a thousand copies of the same snapshot. Identical baselines mean a flake is a flake, not dirty state.

Agents and RL

Fork rollouts from one memory image with the same starting state, pause episodes at storage cost, and resume them in 10 ms.

Templates

Each environment is a full VM snapshot with memory included. Changes persist while it runs and reset when you boot a fresh copy from the template.

Pack, boot, inject, run, resume

The heavy thing happens once. Everything after that is milliseconds.

Packonce

Snapshot the whole VM, memory included: toolchains, caches, services, warmed daemons.

Boot<10ms

Restore plus copy-on-write, not a boot sequence. A thousand copies, same latency as one.

Injectms

Your checkout or test shard arrives as a ROM, a read-only bundle mounted into the running machine.

Run

A real machine with a real Docker daemon. Logs stream and persist, exec sessions reconnect.

Resume<10ms

Kill it, or scale to zero and pay storage. Resume returns the same machine, processes intact.

Templates hold the weight, ROMs carry the change

Templates

the heavy thing, made once

A template is a full VM snapshot: filesystem, memory, running processes. 30 GiB of toolchain boots as fast as an empty VM, because nothing initializes. It is already initialized. Build one from a Dockerfile, a compose stack, or a live machine you set up by hand.

ROMs

the changing thing, made per run

A ROM is a read-only, content-addressed bundle: your checkout, a dependency delta, a test shard, a config. It mounts into a booted template in milliseconds and is cached forever by hash. Same code, same ROM, no rebuild.

templates × ROMs = one warm base, thousands of variants

Pack the environments your team needs

Thousands of distinct templates per org. Every one resumes to the exact state you packed.

node-monorepo

pnpm store, turbo cache, and playwright browsers, warm.

18 GiB · boots <10 ms
jvm-gradle

Gradle daemon running, dependency cache primed.

24 GiB · boots <10 ms
rust-workspace

target/ primed, sccache hot, clippy ready.

21 GiB · boots <10 ms
py-ml-cuda

CUDA 12.8, venv resolved, datasets staged on disk.

40 GiB · boots <10 ms
android-sdk

SDK 35, emulator snapshot booted, Gradle warm.

32 GiB · boots <10 ms
browser-matrix

Chromium, Firefox, and WebKit with video capture.

12 GiB · boots <10 ms
pg-integration

Postgres 16 seeded, fixtures loaded, migrations run.

9 GiB · boots <10 ms
k3s-cluster

3-node k3s with Helm charts installed and images pulled.

26 GiB · boots <10 ms
View the API

These are examples. Any Dockerfile, compose stack, or live machine can become a template.

Let your CI set itself up

Three commands: pack, boot, resume. Everything is scriptable and everything returns machine-readable state.

Get $50 in free usage

No card required. $20 arrives on sign up and the remaining $30 when your first template is packed.

Verified signup$20
First template packed+$30
For your pipeline Copy setup script
$ numinous template pack ./build-env --name node-monorepo
ok: tpl_9f2 packed (18.4 GiB, memory included)

$ numinous boot tpl_9f2 --rom git@abc123 --count 512
ok: 512 environments ready in 9.4 ms (p99)

$ numinous suspend env_7bd
ok: suspended · $0/hr compute · state retained

$ numinous resume env_7bd
ok: resumed in 8.1 ms · processes intact

Priced like hardware

Per-second billing on published rates. Everything is non-preemptible: your environment is never evicted, migrated, or throttled mid-run.

CPU$0.06

per vCPU-hour, billed per second

Memory$0.008

per GiB-hour, up to 256 GiB per environment

Concurrency1000+

visible capacity, reservable ahead of a sweep

Our faults$0

seconds lost to provider errors are never billed

GPUmarket

H100 and H200 at market rate, exact SKU, never interruptible

Template + ROM storage$0.08

per GiB-month, content-addressed and deduplicated

Artifact egress$0.02

per GiB, free to your own in-region S3 bucket

Suspended$0.12

per GiB-month of captured state

No preemptible tier, no spot evictions, no multipliers. One rate, one lane, always yours.

Frequently asked questions

How can an environment boot in under 10 ms?
Because it never boots. A template stores the entire VM including RAM, so starting one is a snapshot restore with copy-on-write memory mapping, not a boot sequence. Nothing initializes, because everything was already initialized when you packed it.
What exactly is a ROM?
A read-only, content-addressed bundle that mounts into a running environment: your checkout, a build artifact, a test shard, a config file. ROMs are immutable and cached by hash, so identical inputs never transfer twice. The template stays generic, the ROM makes it yours.
How is this different from container layer caching?
Caches restore files. Templates restore a running machine: the Gradle daemon is warm, the JIT is warmed, the database is seeded and connected. A cache hit still costs a cold start. A template restore skips the start entirely.
What happens when I scale to zero?
The environment suspends to storage with all processes, memory, and open connections intact. You pay storage, not compute. Resume returns the same machine in under 10 ms, mid-build if that is where you left it.
Can my environments get preempted?
No. Everything we serve is non-preemptible. There is no spot tier, no eviction, no live migration mid-run. The only things that stop an environment are you, your TTL, or your suspend call.
Do docker and compose work inside?
Yes. Every environment is a microVM with a real rootful Docker daemon. Compose stacks run as written and can be packed into the template already running.

Start with one template