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.

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 workloadboat: price rankGoogle 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 it59th 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 itCan't run it

Key features

FeatureboatGoogle Cloud Run
IsolationFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hostsContainer in gVisor (first generation) or a microVM (second generation)
Docker, systemd and /dev/kvmYes: root, Docker, systemd and nested virtualizationNo privileged mode, no write access to most of /dev, so no Docker daemon or KVM inside
DiskPersistent disk saved every minute and on stop; a stopped sandbox keeps itIn-memory filesystem that is lost when the instance stops; Cloud Storage or NFS can be mounted as volumes
Session lengthNo cap on paid plans; you set the time to live60 minutes per request, 168 hours per job task, instances restart at least every 7 days
Snapshots and forkSnapshots every minute; fork a running sandbox with its diskNone for services, jobs or instances; nested sandboxes can export their files to a tar archive
Scale to zero and wake on requestNo; a stopped sandbox is started by APIYes; services scale to zero and start again on the next request
CPUDedicated hosts, 26.69 runs/s on the CPU benchmark at 4 vCPU / 8 GBNo comparable measurement; Cloud Run instances use shared CPU with a 6.25% baseline per vCPU and a burst budget
Biggest machineUp to 16 vCPU / 32 GB on the $100 plan and aboveUp to 8 vCPU / 32 GiB without a GPU
GPUsNoneNVIDIA L4 and RTX PRO 6000 Blackwell
Inbound accessHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; SSHOne HTTPS port per service on a run.app URL or custom domain, with IAM or public access; no SSH or raw TCP inbound
Outbound rulesOpen internet, no provider-side allowlistVPC firewall rules by IP and port through Direct VPC egress; static egress IP through Cloud NAT
Coding agentsSeven agents preinstalled, with a prompt, steer and events APIHost agent frameworks you build yourself, such as ADK, LangGraph or n8n; no preinstalled coding agents
Keeping API keys out of the sandboxCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run outSecret Manager secrets exposed inside the container as environment variables or files
RegionsEU only (Germany, Finland, France)Google Cloud regions on every continent but Antarctica
Compliance and transparencySOC 2 is in progress. We're open about where we stand: live status and data retention policy.SOC 2
Every feature Battleships tracks (43)
FeatureboatGoogle Cloud Run
Full VM (own kernel)YesYes
Docker insideYesNo
Nested virtualizationYesNo
RootYesYes
SystemdYesNo
Desktop GUIYesNo
BrowserYesNo
Computer-use APIYesNo
SSHYesNo
Persistent diskYesNo
Pause/resumeYesNo
Automatic snapshotsYesNo
Fork/cloneYesNo
Live fork (no pause)YesNo
Memory forkNoNo
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesYes
Idle auto-stopNoYes
Wake on requestNoYes
HTTPS preview URLsYesYes
Raw TCP inboundYesNo
Public IPv4NoNo
Egress allowlistNoYes
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoYes
GPUNoYes
WindowsNoNo
Arm64NoNo
Self-hostingNoNo
BYOCNoNo
Open sourceNoNo
Scoped API keysYesNot published
Spend limitsYesYes
Usage per sandbox (API)YesYes
Audit logsNoYes
SSONoYes
SOC 2NoYes
HIPAANoYes
EU data residencyYesYes
Zero data retentionYesNot published

Performance

boat26.69 runs/s
Google Cloud RunNot measured

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.

Scenarioboat, a monthGoogle 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.

ScenarioboatGoogle Cloud Run
One coding agent, workdaysNone that bite
  • missing persistent disk
  • no persistent disk: files lost when it stops or sleeps
  • beta / preview pricing: may change
  • burstable CPU: 6.25% of each vCPU guaranteed, throttled above that
One agent that never stopsNone that bite
  • missing persistent disk
  • sessions end after 168 h: needs restarts to run 24/7
  • no persistent disk: files lost when it stops or sleeps
  • beta / preview pricing: may change
50 agents in parallelNone that bite
  • missing persistent disk, Docker inside
  • no persistent disk: files lost when it stops or sleeps
  • beta / preview pricing: may change
  • burstable CPU: 6.25% of each vCPU guaranteed, throttled above that
Sandboxes for your usersNone that bite
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • beta / preview pricing: may change
  • burstable CPU: 6.25% of each vCPU guaranteed, throttled above that
1,000 short jobs at once
  • max 2,400 starts/day (needs ~6,667)
  • max 600 starts/hour (needs ~1,000)
  • bursts above 90 starts/min are queued (a burst of 333 takes ~4 min to start)
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • beta / preview pricing: may change
  • burstable CPU: 6.25% of each vCPU guaranteed, throttled above that

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

More comparisons