Google Agent Runtime vs Unikraft Cloud
Google Agent Runtime hosts the agent code you build with ADK or LangGraph and gives it sandboxes that run as an unprivileged user in a locked container inside your Google Cloud project. Unikraft Cloud turns a Dockerfile into a tiny Firecracker microVM that boots in milliseconds, sleeps when traffic stops and is sold as flat pools of running capacity.
The companies and products
Google Agent Runtime
Google Agent Runtime is the agent hosting part of Gemini Enterprise Agent Platform on Google Cloud, renamed from Vertex AI Agent Engine in April 2026.
It is a hyperscaler service, not a sandbox company. Agent Runtime deploys agents you build with ADK, LangGraph, LangChain, AG2 or LlamaIndex and bills them only while they work on a turn. Next to it, Agent Sandbox gives those agents a place to run code: a Code Execution sandbox, a shell or custom container sandbox, and a Computer Use browser. All of them run as secure containers inside your Google Cloud project.
Unikraft Cloud
Unikraft Cloud is a microVM cloud from Unikraft Inc. that runs any Dockerfile-based workload as a minimal Linux microVM with millisecond cold starts and scale-to-zero.
Your Dockerfile becomes the VM image at build time, and each instance runs on a heavily customized Firecracker VMM, so it boots in milliseconds and can go into standby when no traffic arrives. It is a general compute platform built for dense, bursty work such as HTTP services, headless browsers and agent fleets, sold as flat self-serve plans plus Enterprise dedicated hosts, on-prem and bring your own cloud. It is not a dev machine you log into: instances are reached through services, the CLI and a sandbox plugin for commands and files.
Which use cases each one fits
For each use case, Battleships prices every sandbox provider on the same workload and sorts them from the cheapest monthly bill up. “28th cheapest of 366” means 27 of the other 365 providers run that workload, with every feature it needs, for less. “With limits” means the provider runs it but misses something, so it is listed after every full match. Open a use case for its whole ranking and what each provider misses.
| Use case and its workload | Google Agent Runtime: price rank | Unikraft Cloud: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Neither runs Docker inside a sandbox: Google's run as appuser with no sudo, and Unikraft builds your Dockerfile into the VM itself; bochka has root, Docker and systemd on every VM. | 295th of 367, with limits $5,801 a month | Can't run it | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB A Google sandbox is deleted when its TTL ends, 7 days at most for a custom container, and Unikraft's Team pool is 8 GiB shared by every running instance; a bochka VM has no session cap on paid plans. | 28th cheapest of 366 $7,519 a month | Can't run it | 5th cheapest of 366 $657 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Short code runs suit both: Google has a ready Python Code Execution sandbox, and Unikraft instances sleep between calls and wake in milliseconds, though self-serve plans cap you at 24 running ones. | 254th of 345, with limits $275 a month | Can't run it | 186th of 345, with limits $2,000 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Google can serve users through its API but documents no public URL, and Unikraft Pro holds only 24 running instances, so hundreds of active users need Enterprise; bochka serves HTTPS on up to 50 ports per sandbox. | 280th of 361, with limits $1,916 a month | Can't run it | Cheapest of 361 $209 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 128th of 360, with limits $8,240 a month | Can't run it | 34th of 360, with limits $2,000 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 79th cheapest of 364 $2,060 a month | Can't run it | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Jobs that build Docker images need a container runtime that neither documents inside a sandbox, and Unikraft keeps nested virtualization for Enterprise; bochka has Docker and /dev/kvm on every plan. | 98th cheapest of 377 $989 a month | Can't run it | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Neither offers SSH today, so you work through Google's execute_bash() API or Unikraft's CLI and sandbox plugin; Unikraft's Team pool comes to $39 a month against $241 on Google, and bochka gives you SSH and a desktop for $26 a month. | 311th of 368, with limits $241 a month | 219th of 368, with limits $39 a month | 18th cheapest of 368 $26 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Google gives agents a browser with a VNC view and a click and type API, Unikraft has nothing built in, and bochka streams a full 60fps desktop with Chromium. | 283rd of 369, with limits $1,648 a month | Can't run it | 6th cheapest of 369 $200 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month Google runs a real Chromium you can drive over CDP with Playwright; on Unikraft you package your own headless browser in a Dockerfile; bochka has Chromium on a desktop out of the box. | 102nd of 367, with limits $824 a month | Can't run it | 7th cheapest of 367 $200 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 53rd cheapest of 346 $515 a month | Can't run it | 6th cheapest of 346 $90 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 210th of 338, with limits $8,240 a month | Can't run it | 71st of 338, with limits $1,800 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 260th of 360, with limits $412 a month | Can't run it | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month | Can't run it | Can't run it | Can't run it |
| macOS agents 5 at once · 4 vCPU / 8 GB · 1,000 sessions of 20 min a month | Can't run it | Can't run it | Can't run it |
Key features
| Feature | Google Agent Runtime | Unikraft Cloud | bochka |
|---|---|---|---|
| Isolation | Secure container sandboxing inside your Google Cloud project | Minimal Linux microVM per instance on a customized Firecracker VMM | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Root and Docker inside | Runs as appuser with no sudo; images must not need root; no Docker documented | Runs as root; the Dockerfile becomes the VM image, with no container runtime inside documented | Root, systemd and Docker, like any Ubuntu machine |
| Nested virtualization | No /dev/kvm documented | Per-instance flag and permission, Enterprise only | /dev/kvm for Android emulators and VMs on every plan |
| Shell access | execute_bash() API calls; each command runs in a new shell; no SSH | No SSH yet; commands and files go through the sandbox plugin and CLI | SSH into every sandbox, plus an API for commands |
| Desktop and browser | A browser in a container with a VNC live view, a click, type and screenshot API, and CDP | None built in; you can run your own headless browser from a Dockerfile | Linux desktop streamed at 60fps, Chromium, computer use and browser control |
| Idle and wake | Pause keeps the file system at a lower rate Google does not publish; no wake on request | Standby after a 1 second idle cooldown by default, memory kept in stateful mode, woken by the next request in milliseconds | Disk saved every minute and on stop; a stopped sandbox costs nothing and is started again by API |
| How long a sandbox lives | TTL of up to 7 days for a custom container and 14 days for Code Execution, then deleted | No published maximum; instances run until stopped or go into standby | No session cap on paid plans |
| Memory snapshots and branching | Snapshots keep memory and files; start many sandboxes from one snapshot | Checkpoint memory and volumes of a running microVM with a pause of a few milliseconds, then start new instances from it | Fork a running sandbox with its disk; resume reboots from disk (no memory snapshots) |
| Inbound access | Through Google's API, or a private endpoint in your own VPC; no public URL documented | Services on its load balancer: HTTP on 80, HTTPS on 443, TLS-wrapped TCP on other ports; no public IP per instance | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Off unless the template turns it on; route through your VPC with Cloud NAT, a static IP, Cloud NGFW or Secure Web Proxy | Network shield filters traffic, Enterprise only, limited access | Open internet on every plan; no provider-side allowlist |
| Keeping API keys out of the sandbox | You provision and scope the credentials the agent uses | Network shield can inject secrets into traffic, Enterprise only, limited access | Credentials proxy for model providers and any HTTPS API, on every plan; switch a credential to another account when credits run out |
| Coding agents and agent hosting | Agent Runtime hosts ADK, LangGraph, LangChain, AG2 and LlamaIndex agents; Managed Agents API (Preview) runs Google's Antigravity harness | None preinstalled; you bring the agent in your own image | Claude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API |
| Machine size | Runtime: 1 to 8 vCPU and up to 32 GiB; sandbox maximum not published | Plan pool shared by all running instances: 2 vCPU / 4 GiB, 8 vCPU / 8 GiB or 24 vCPU / 32 GiB | Up to 8 vCPU / 16 GB on the $20 plan, 16 vCPU / 32 GB from the $100 plan |
| Regions | 23 locations in the US, Europe, Asia, Canada, Australia and Brazil | Dallas, Frankfurt, San Francisco, Singapore and Washington DC, more on request | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Google Agent Runtime | Unikraft Cloud | bochka |
|---|---|---|---|
| Full VM (own kernel) | No | Yes | Yes |
| Docker inside | No | No | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | No | Yes | Yes |
| Systemd | Not published | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | Yes | No | Yes |
| Computer-use API | Yes | No | Yes |
| SSH | No | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | Yes | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | No | Yes | Yes |
| Raw TCP inbound | Not published | Not published | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | Yes | No | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | No | No | No |
| GPU | No | Yes | No |
| Windows | No | No | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | No | Yes | No |
| BYOC | No | Yes | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Not published | Yes | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Google Agent Runtime or Unikraft Cloud: neither was part of the StarSling hpc-sandbox-benchmarks run. In that run bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB. Unikraft states cold starts under 10 ms, which is its own figure and measures start time, not CPU speed.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Google Agent Runtime and Unikraft Cloud have no published run in this suite yet, so there is no like-for-like number to compare.
Pricing in five scenarios
Each bill is priced from the providers' public price lists by the open Battleships engine, with the cheapest plan that runs the scenario.
| Scenario | Google Agent Runtime, a month | Unikraft Cloud, a month | bochka, a month |
|---|---|---|---|
| One coding agent, workdays 4 vCPU / 8 GB, 50 GB disk, 8 hours a day, 22 days a month, files kept between days | $73 · Pay as you go | $39 · Hobby | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $301 · Pay as you go | $39 · Hobby | $26 · $20/mo |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $3,626 · Pay as you go · with limits | Can't run it | $317 · $20/mo × 3 seats |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $1,030 · Pay as you go | Can't run it | $200 · $100/mo × 2 seats |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $2,060 · Pay as you go | Can't run it | $2,000 · $2000/mo · with limits |
Google Agent Runtime: Google bills $0.085 per vCPU-hour and $0.009 per GiB-hour allocated, rounded to the second, with the first 50 vCPU-hours and 100 GiB-hours free each month. Sandboxes are billed while they exist, and disk, egress and paused rates are not published.
Unikraft Cloud: Unikraft charges a flat monthly fee for a pool of running capacity: free for 2 vCPU / 4 GiB, $39 for 8 vCPU / 8 GiB, $199 for 24 vCPU / 32 GiB, with sleeping instances not counted. It publishes no per-hour rate, so anything bigger is an Enterprise quote.
Unikraft Cloud: Plans start at $20 a month, and the whole fee is usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
On Google, a sandbox is deleted when its TTL ends, so an agent that never stops has to be recreated, and the 50-agent fleet does not fit because there is no Docker inside. Unikraft's limits are shared pools: the Team pool of 8 vCPU and 8 GiB is filled by one 4 vCPU / 8 GB agent, so the fleet, user-sandbox and burst scenarios need an Enterprise contract. Neither publishes disk or egress prices. On bochka the 1,000-job burst is the problem: the $2,000 plan caps starts at 90 a minute and 2,400 a day, so jobs get queued.
| Scenario | Google Agent Runtime | Unikraft Cloud | bochka |
|---|---|---|---|
| One coding agent, workdays |
|
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Google Agent Runtime when
you build agents with ADK or LangGraph on Google Cloud and want them hosted inside your own project, network rules and regions, with short code runs in a locked sandbox.
- A managed home for your agent code. Useful if you build agents with ADK or LangGraph: Agent Runtime hosts them and skips billing for idle time between turns.
- Inside your Google Cloud network. Useful if agents must stay in a Google Cloud perimeter, with egress off by default and routed through your own firewall.
- Many regions, ready browser. Useful if you need 23 locations worldwide or a browser sandbox with a live view and a click and type API.
Use Unikraft Cloud when
you run many small services or headless browsers that sleep most of the time and must wake in milliseconds, or want GPUs, on-prem or your own cloud under an Enterprise contract.
- Millisecond starts and scale-to-zero. Best for many small services that sleep most of the time and must answer the next request in milliseconds.
- Root and a flat monthly pool. Useful if you want root in a real microVM and a known monthly bill, with a free Hobby plan to start.
- GPUs and your own hardware. Enterprise customers can get NVIDIA GPUs, arm64 hosts, dedicated hosts, on-prem or their own cloud.
Where bochka fits
Google Agent Runtime is built to host agent code, and Unikraft Cloud is built for tiny services that sleep and wake fast. If what you are really running is agents that need a whole computer to work in, with Docker, SSH, a desktop and public URLs, look at bochka. Each bochka sandbox is a full VM that keeps its disk, with coding agents built in.
Root, Docker and /dev/kvm
Google runs commands as appuser with no sudo, and Unikraft builds your Dockerfile into the VM with no container runtime inside. On both you bake every tool into an image up front, and Unikraft's nested virtualization needs Enterprise.
SSH and public URLs
Neither offers SSH today. Google documents no public URL, so you set up a VPC endpoint or tunnel yourself, and Unikraft exposes only load balancer services. bochka gives SSH, HTTPS on 50 ports and raw TCP.
Coding agents and keys kept outside
Google's Managed Agents API runs only its Antigravity harness, in Preview, and Unikraft has no agents built in, with secret injection Enterprise only. bochka ships Claude Code and Codex and keeps real keys in a credentials proxy.
Use bochka when your agents need a real machine to work in: root, Docker, SSH, a desktop and public URLs on a full VM that keeps its disk, with Claude Code, Codex and other coding agents driven from outside. Compare it one to one: bochka vs Google Agent Runtime and bochka vs Unikraft Cloud.
Questions people ask
Is Google Agent Runtime cheaper than Unikraft Cloud?
For one agent, no: one coding agent on workdays comes to $73 a month on Google and $39 on Unikraft's Team pool, and one agent running all month to $301 against $39. bochka comes to $20 and $26 for the same two. For 50 agents, sandboxes for your users or 1,000 short jobs, no self-serve Unikraft plan is big enough, so the price is an Enterprise quote.
Which is faster, Google Agent Runtime or Unikraft Cloud?
Neither has a comparable CPU measurement, so we cannot say which computes faster. Unikraft is built to start fast: its microVMs cold boot in milliseconds and wake on the next request. bochka did 26.69 runs per second at 4 vCPU / 8 GB in StarSling's public benchmark.
Can Google Agent Runtime or Unikraft Cloud run Docker?
Not inside a sandbox. Google's sandboxes run as appuser with no sudo, and Unikraft uses your Dockerfile to build the VM's filesystem without documenting a container runtime inside it. A bochka sandbox is a full Ubuntu VM with Docker, systemd and /dev/kvm ready to use.
Can I SSH into Google Agent Runtime or Unikraft Cloud?
No. Google runs each command through its execute_bash() API in a new shell, and Unikraft has announced SSH as coming soon, so today you use its sandbox plugin and CLI. You can SSH into every bochka sandbox or drive it through its API.
Is Google Agent Runtime the same as Vertex AI Agent Engine?
Yes. Google renamed Vertex AI Agent Engine to Agent Runtime in April 2026, as part of Gemini Enterprise Agent Platform. The code, shell and browser sandboxes are a separate part of the same platform called Agent Sandbox.
Where do they run?
Google runs in 23 locations across the US, Europe, Asia, Canada, Australia and Brazil, inside your own Google Cloud project. Unikraft runs in Dallas, Frankfurt, San Francisco, Singapore and Washington DC by default. bochka runs only in the EU, in Germany, Finland and France.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Google Agent Runtime
- bochka vs Unikraft Cloud
- E2B vs Google Agent Runtime
- Daytona vs Google Agent Runtime
- Modal vs Google Agent Runtime
- Vercel Sandbox vs Google Agent Runtime
- Cloudflare Sandbox vs Google Agent Runtime
- Blaxel vs Google Agent Runtime
- Runloop vs Google Agent Runtime
- Tensorlake vs Google Agent Runtime
- Morph Cloud vs Google Agent Runtime
- CodeSandbox SDK vs Google Agent Runtime