AppVM: The middle ground has two doors
The microVM is a real middle ground between VMs and containers. Most tools reach it from the container side and bring the ecosystem along. Virtainer comes from the machine side, and here is what that actually buys you.
A virtual machine and a container solve different problems. The microVM sits between them: a real middle ground. The question almost nobody asks is which side you build it from, and the answer decides almost everything that comes after.
Two tools, two jobs
A virtual machine and a container were never the same tool, and were never meant to be. A VM gives you a real, isolated machine: strong walls, its own kernel, and the freedom to run almost anything. You pay for that in weight and startup time.
A container gives you speed, density, and a clean way to package an app by sharing the host’s Linux kernel. Different trade-offs, different jobs. For years that was simply the deal, and for most work it was fine.
Then the middle ground appeared
Then the microVM arrived, and it looked like the best of both: the isolation of a real machine with something close to the speed of a container. On paper, the long argument was finally settled.
But a middle ground is still a place you arrive at, and it can be reached from either side. The technology in the middle may look similar. The side you start from decides almost everything else: how much you install, how many parts must agree before a workload runs, and how much of the system you can actually hold in your head.
Two doors to the same place
What the lean path actually buys you
The direction is the argument. These are the results it produces. Each one follows from starting with the machine and adding ease on top, rather than attaching a boundary to a borrowed stack.
-
Lean runtime
Nothing borrowed runs alongside it
No separate runtime, scheduler, or network layer sits in the path while the machine runs. The machine boundary does the isolating, so there is less to secure and less that can fail.
-
No leftover ties
The image becomes a machine, then lets go
An image is imported once, up front. After that the running machine has no link back to a registry or the tool that brought it in. Remove the importer and every machine keeps running.
-
Bring your own app
Run the image you already ship
Virtainer supplies the kernel and the init, so an ordinary application image, the same one the team already builds and ships, starts as a real, isolated machine. There is nothing special to package first.
-
Familiar by default
The controls you already know
Environment variables, mounted volumes, health checks, a restart policy, and a shell into a running instance. The controls you expect from running a container, provided by vmkit-init, with no engine inside the guest.
-
Native orchestrator
One system, the whole life of a machine
Create, boot, stop, and delete, with storage, networking, health, and restarts built in. An image goes in, a machine comes out, and the same system tends it from first boot to shutdown.
-
Machine-grade
Real isolation, real speed
Every instance is its own machine on Linux and KVM, with its own kernel, its own storage, and a hard boundary. The walls of a VM at close to the start-up speed of a container.
Virtainer keeps the machine as the primary object. It adds the convenience of a container image without asking the operator to run a container platform first. That matters because the boundary is not a feature bolted underneath the app. The machine is the boundary.
Why the direction matters
Same middle ground, opposite result. Come from the container side and each new capability is another component attached to a borrowed stack. There is more to install, more to secure, and more to keep in sync.
Come from the machine side and the isolation is already there. The only thing left to build is the experience: take the image the team already ships, start it inside a real machine, and give the operator one system to understand.
That is why lean is not a feature Virtainer adds later. It is what remains when the product does not drag an ecosystem in behind it.