Build and Test Environments
Give every build or test job its own microVM. Start your full toolchain from a snapshot in milliseconds, and inject that job's code at boot time.
Pack the whole environment (compilers, deps, warm caches) into a template: a snapshot with all that state already initialized. Size stops mattering.
Run thousands of instances with minimal memory footprints on a platform built for scale, all on the same server.
The code under test arrives as a ROM, a small read-only image mounted at start. Same environment, different payload per job, no rebuild.
Your Dockerfile: toolchain, deps, caches
Heavy initialisation done once, booted and frozen
Watch the recording to see a build environment snapshotted into a template, then two different builds injected as ROMs with 6 ms cold starts from both.
Under the hood
The platform features this use case is built on.
Pre-initialised snapshots let you do the heavy initialisation once, save the state, and start new instances from it, cutting startup to milliseconds.
Read-only blobs mounted on a VM. Combined with templates, they carry the per-job code onto each instance created from the template.
The instance shuts down when no work is running and comes back in milliseconds on the next request. You pay only for what you use.
Sign up to Unikraft Cloud and follow the guide to run your first build environment