boat vs Google Cloud Run
Cloud Run runs your container image and scales it up and down with traffic. boat gives each agent a whole Linux machine that keeps its files, runs Docker and comes with coding agents ready to drive.
Where boat stands out
A whole machine, not a container
A boat sandbox is a full VM with root, Docker, systemd, SSH and /dev/kvm for Android emulators and VMs. Cloud Run runs one container image with no privileged mode, so there is no Docker daemon, no KVM and no SSH inside it.
Files that stay, with snapshots and fork
boat keeps a real disk, saves it every minute and when the sandbox stops, and a stopped sandbox costs nothing and keeps its files. You can also fork a running sandbox with its disk. Cloud Run's filesystem lives in memory and is wiped when an instance stops.
Agents, keys and a desktop built in
Claude Code, Codex and five other agents come preinstalled, and you drive agents inside from outside with one prompt, steer and events API. Real API keys stay outside the sandbox in a credentials proxy, and a 60fps desktop with Chromium is ready for computer use.
The companies and products
boat
boat.dev runs sandboxes for AI agents: each one is a full Linux VM with its own kernel.
You start a machine with one command or one API call, then SSH in, run Docker, open a desktop, or let a built-in agent (Claude Code, Codex, OpenCode and others) work in it. The disk stays between sessions, and a stopped sandbox costs nothing.
- Isolation
- Full VM per sandbox, own kernel
- Regions
- EU: Germany, Finland, France
Google Cloud Run
Google Cloud Run is Google Cloud's serverless platform for running containers: a hyperscaler product for hosting apps and jobs, not an agent sandbox.
You give Cloud Run a Linux container image and it runs it as a service that scales with requests, as a job that runs to completion, as a worker pool, or as a single long-lived instance (Preview). Containers run in gVisor or in a microVM, with an in-memory filesystem and no privileged mode. It is built for teams that host web apps, APIs, background jobs and agent frameworks inside Google Cloud.
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. “3rd cheapest of 367” means 2 of the other 366 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 | boat: price rank | Google Cloud Run: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A coding agent needs Docker, a disk that keeps the repo and long sessions; Cloud Run has an in-memory filesystem and no privileged mode, so Docker cannot run inside. | 3rd cheapest of 367 $634 a month | 86th of 367, with limits $774 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An assistant that lives on one machine all month needs its files to survive restarts, and a Cloud Run instance loses its in-memory files when it stops. | 5th cheapest of 366 $657 a month | 159th of 366, with limits $1,172 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Cloud Run fits short code runs well: services scale to zero, start on the next request, and its nested sandboxes block outbound traffic by default. | 186th of 345, with limits $2,000 a month | 125th of 345, with limits $263 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Giving each user a sandbox on Cloud Run means one service or instance per user, with 100 instances per region by default and files that vanish on stop. | Cheapest of 361 $209 a month | 201st of 361, with limits $348 a month |
| RL rollouts 1,000 at once · 2 vCPU / 4 GB · 1,000,000 sessions of 3 min a month | 34th of 360, with limits $2,000 a month | 93rd of 360, with limits $5,568 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month | 10th cheapest of 364 $200 a month | 145th of 364, with limits $896 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Cloud Run jobs run builds to completion, but builds that need Docker or Android emulators need privileged access that Cloud Run does not offer. | 4th cheapest of 377 $86 a month | 84th cheapest of 377 $790 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A dev box needs SSH, Docker and a disk that stays; Cloud Run offers none of the three. | 18th cheapest of 368 $26 a month | 225th of 368, with limits $48 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Cloud Run's guide has you build your own desktop and Chromium into the image; boat ships both, streamed at 60fps. | 6th cheapest of 369 $200 a month | 115th of 369, with limits $253 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month | 7th cheapest of 367 $200 a month | 181st of 367, with limits $142 a month |
| Scraping & bots (startup scale) 50 at once · 1 vCPU / 2 GB · 100,000 sessions of 3 min a month | 6th cheapest of 346 $90 a month | 199th of 346, with limits $130 a month |
| Mass scraping & bots (undetectable) 1,000 at once · 1 vCPU / 2 GB · 3,000,000 sessions of 2 min a month | 71st of 338, with limits $1,800 a month | 86th of 338, with limits $2,098 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month | 2nd cheapest of 360 $200 a month | 132nd of 360, with limits $82 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Cloud Run has L4 and RTX PRO 6000 GPUs that scale to zero; boat has no GPUs. | Can't run it | 59th of 98, with limits $780 a month |
| 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 |
Key features
Every feature Battleships tracks (43)
| Feature | boat | Google Cloud Run |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | No |
| Nested virtualization | Yes | No |
| Root | Yes | Yes |
| Systemd | Yes | No |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | No |
| Persistent disk | Yes | No |
| Pause/resume | Yes | No |
| Automatic snapshots | Yes | No |
| Fork/clone | Yes | No |
| Live fork (no pause) | Yes | No |
| Memory fork | No | No |
| Custom image (Docker or snapshot) | Yes | Yes |
| ≥24 h sessions | Yes | Yes |
| Idle auto-stop | No | Yes |
| Wake on request | No | Yes |
| HTTPS preview URLs | Yes | Yes |
| Raw TCP inbound | Yes | No |
| Public IPv4 | No | No |
| Egress allowlist | No | Yes |
| Secret proxy | Yes | No |
| Secret proxy for any API | Yes | No |
| Preinstalled agents | Yes | No |
| Agent harness API | Yes | No |
| MCP server | No | Yes |
| GPU | No | Yes |
| Windows | No | No |
| Arm64 | No | No |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | Yes |
| Usage per sandbox (API) | Yes | Yes |
| Audit logs | No | Yes |
| SSO | No | Yes |
| SOC 2 | No | Yes |
| HIPAA | No | Yes |
| EU data residency | Yes | Yes |
| Zero data retention | Yes | Not published |
Performance
There is no comparable measurement for Cloud Run on the StarSling hpc-sandbox-benchmarks CPU test, so this page does not compare their CPU speed. boat did 26.69 runs per second at 4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X hosts. Cloud Run's docs say its standalone instances use shared CPU with a 6.25% baseline per vCPU and bursts from a budget of up to 500 seconds.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Google Cloud Run has 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 | boat, a month | Google Cloud Run, 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 | $20 · $20/mo | $7 · Pay-as-you-go · with limits |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $26 · $20/mo | $48 · Pay-as-you-go · with limits |
| 50 agents in parallel 50 machines of 4 vCPU / 8 GB at once, 8-hour sessions, 1,100 sessions a month, Docker inside | $317 · $20/mo × 3 seats | $495 · Pay-as-you-go · with limits |
| Sandboxes for your users 2 vCPU / 4 GB, 30,000 sessions of 10 minutes a month, up to 300 at once | $200 · $100/mo × 2 seats | $169 · Pay-as-you-go · with limits |
| 1,000 short jobs at once 2 vCPU / 4 GB, 1,000 at once, 3 minutes each, 200,000 jobs a month | $2,000 · $2000/mo · with limits | $307 · Pay-as-you-go · with limits |
boat: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.
Google Cloud Run: Cloud Run bills per vCPU-second and GiB-second, rounded up to 100 ms, after a monthly free tier. Instance-based billing charges for the whole life of an instance, request-based billing only while requests are handled plus a fee per million requests, and standalone instances (Preview) use a much lower rate for shared CPU.
Limits in those scenarios
No scenario in the table fully fits Cloud Run, because a coding agent needs a disk that survives stops and Cloud Run's filesystem lives in memory. The cheapest setups use Cloud Run instances, which are in Preview and run on shared CPU with a 6.25% baseline per vCPU. For many sandboxes at once, Cloud Run instances stop at 100 per region by default until a quota increase, while boat has its own limit: at 1,000 short jobs at once its $2,000 plan queues the starts.
| Scenario | boat | Google Cloud Run |
|---|---|---|
| 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 Cloud Run when
you need GPUs, regions outside the EU, or request-driven code that scales to zero inside an existing Google Cloud setup.
- GPUs that scale to zero. For GPU inference or GPU evals: L4 and RTX PRO 6000 instances that start in about 5 seconds and scale to zero.
- Serverless scaling and global regions. For request-driven code: services scale to zero, wake on the next request and run in regions on every inhabited continent.
- Inside Google Cloud. For teams already on Google Cloud: IAM, VPC firewall rules, Secret Manager and billing exports work the same as everywhere else.
Use boat when
your agents do real work for hours on one machine: Docker, builds, tests, emulators and a browser, with files that stay and coding agents ready to drive.
- A whole machine, not a container. Coding agents run docker compose, test containers and emulators all day. On Cloud Run each of those must be rebuilt into the image ahead of time or moved to another service, and some cannot run at all.
- Files that stay, with snapshots and fork. An agent that clones a repo, installs packages and builds for an hour loses all of it on Cloud Run when the instance stops or restarts, unless your code copies it to Cloud Storage first and back again later.
- Agents, keys and a desktop built in. On Cloud Run you build the agent harness, the desktop and the browser into your image yourself, and secrets arrive inside the container as environment variables or files, where one prompt injection can leak them.
Questions people ask
Is boat cheaper than Google Cloud Run?
For one agent that never stops and for 50 agents in parallel, boat costs less in the scenario table. Cloud Run's numbers are lower for workday agents, user sandboxes and bursts, but those setups lose files on stop and run on shared CPU, so none of them fully fit.
Can I run Docker inside Google Cloud Run?
No. Cloud Run's container contract says there is no equivalent to Docker's privileged mode, so a Docker daemon cannot run inside. boat sandboxes are full VMs with Docker, systemd and /dev/kvm.
Does Cloud Run keep files between runs?
Not on its own disk. Cloud Run's filesystem is in memory and its data does not persist when the instance stops, so you mount Cloud Storage or NFS for anything that must stay. boat keeps a real disk and saves it every minute.
Can I run an AI coding agent on Cloud Run?
You can package one into a container image and run it, within the request, job or instance time limits. boat comes with Claude Code, Codex and five other agents preinstalled and an API to prompt, steer and follow them.
Does Cloud Run have GPUs?
Yes. Cloud Run offers NVIDIA L4 and RTX PRO 6000 Blackwell GPUs with instance-based billing, and GPU services can scale to zero. boat has no GPUs.
Is boat SOC 2 compliant?
SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial