boat vs Google Cloud Build
Google Cloud Build is a CI service: each build runs a list of Docker steps on a fresh worker, then throws the worker away, within 24 hours at most. boat gives each agent its own VM that keeps its disk, can be reached from the internet and comes with coding agents built in.
Where boat stands out
A machine that stays, not a build that ends
A boat sandbox is a full VM with its own kernel. It keeps its disk, takes a snapshot every minute, and has no session cap on paid plans. A Cloud Build build starts on a fresh worker, discards its volumes when it ends, and stops at 24 hours.
Reachable from the internet
boat gives every sandbox HTTPS URLs for up to 50 ports, raw TCP and its own IP, so an agent can run an app and you or your users can open it. Cloud Build workers take no inbound traffic and have no SSH; you see a build through its logs.
Coding agents built in, keys kept out
boat ships Claude Code, Codex, OpenCode and other agents in each sandbox, and you drive them from outside with a prompt, steer and events API. Its credentials proxy keeps real AI keys out of the sandbox and can switch to another account when one runs out of credits. Cloud Build runs the steps in your config and passes secrets in as environment variables.
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 Build
Google Cloud Build is Google Cloud's managed CI/CD service: it runs builds, tests and image pushes from a config file.
You write a build config in YAML or JSON, and Cloud Build runs each step as a Docker container on a worker of its own, in a shared default pool or in a private pool that can join your VPC. Builds start from the API, the gcloud CLI or triggers on GitHub, GitLab and Bitbucket, and the results go to Artifact Registry. It is built for teams on Google Cloud that want builds wired into IAM, Secret Manager and their projects. It is a different kind of product from boat, so this page compares the parts that overlap: running code an agent wrote on a remote machine.
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 Build: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs a machine that keeps its work between sessions; Cloud Build throws away the worker and its volumes when each build ends. | 3rd cheapest of 367 $634 a month | 345th of 367, with limits $12,657 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Always-on assistants hit Cloud Build's 24-hour build timeout, so they would restart on a fresh worker at least once a day. | 5th cheapest of 366 $657 a month | 339th of 366, with limits $13,125 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Short code runs suit Cloud Build's per-second billing and free build-minutes better than boat's start limits do, as long as you stay under its concurrent build quota. | 186th of 345, with limits $2,000 a month | 154th of 345, with limits $600 a month |
| Sandboxes for your users 300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month Cloud Build workers take no inbound traffic and get no public IP, so your users cannot open an app running inside one. | Cheapest of 361 $209 a month | 320th of 361, with limits $4,170 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 | 175th of 360, with limits $17,985 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 | 206th of 364, with limits $3,600 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month Both fit CI: Cloud Build is a CI service with Git triggers and Google Cloud wiring, and boat runs CI jobs on a full VM with Docker and /dev/kvm. | 4th cheapest of 377 $86 a month | 197th of 377, with limits $1,728 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 18th cheapest of 368 $26 a month | 346th of 368, with limits $511 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Cloud Build steps are headless containers with no desktop; boat streams a 60fps desktop with Chromium for computer use. | 6th cheapest of 369 $200 a month | 338th of 369, with limits $3,585 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 | 336th of 367, with limits $1,785 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 | 309th of 346, with limits $900 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 | 276th of 338, with limits $18,000 a month |
| Parallel red teaming 200 at once · 2 vCPU / 4 GB · 5,000 sessions of 30 min a month Parallel attacks on Cloud Build start from a fresh worker each time, with no fork of a running machine to branch from. | 2nd cheapest of 360 $200 a month | 310th of 360, with limits $885 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 |
| 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
| Feature | boat | Google Cloud Build |
|---|---|---|
| Kind of product | Cloud VMs for agents: each one keeps running, keeps its disk and can host services | CI builds: a list of Docker steps that runs once and ends |
| Isolation | Every sandbox is a full VM with its own kernel | Each build gets its own worker; steps run as Docker containers on it |
| Docker and nested virtualization | Docker, root, systemd and /dev/kvm on every machine | Docker builds through the docker builder step; no /dev/kvm documented |
| How long one session runs | No session cap on paid plans | 24 hours at most per build |
| Files after a run | Snapshots every minute and on stop; a stopped sandbox costs nothing | Volumes and their contents are discarded when the build ends; you copy caches to Cloud Storage or push images yourself |
| Pause, resume and fork | Stop and resume from disk; fork a running sandbox | Start, list and cancel builds; no pause, resume or fork |
| Reaching the sandbox | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4 | No inbound ports, URLs or SSH into the worker; you read logs |
| Outbound internet | Open internet on every plan; no provider-side allowlist | Open in the default pool; private pools can cut public internet off or follow your VPC firewall rules |
| Keeping keys out of the sandbox | AI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out | Secret Manager values are put into build steps as environment variables |
| Coding agents | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API | None built in; you can run a CLI as a build step |
| Desktop and computer use | 60fps desktop and Chromium, computer use and browser control, embeddable stream | None; steps are headless containers |
| Custom images | Named snapshots (templates), shareable by code; no Dockerfile builds | Any container image as a build step, from Docker Hub, Artifact Registry or another registry |
| Git triggers and provenance | None built in; you start sandboxes from the API or CLI | Triggers on GitHub, GitLab and Bitbucket pushes; SLSA level 3 build provenance |
| Regions | EU only: Germany, Finland, France | Google Cloud regions worldwide, a dozen of them in Europe |
| Compliance and transparency | SOC 2 is in progress. We're open about where we stand: live status and data retention policy. | SOC 2 |
Every feature Battleships tracks (43)
| Feature | boat | Google Cloud Build |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Yes |
| Nested virtualization | Yes | No |
| Root | Yes | Yes |
| Systemd | Yes | Not published |
| 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 | No |
| Wake on request | No | No |
| HTTPS preview URLs | Yes | No |
| 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 | No |
| GPU | No | No |
| 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 | Not published |
| Usage per sandbox (API) | Yes | Yes |
| Audit logs | No | Not published |
| 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: Cloud Build is not in the public sandbox benchmark we use. In that run, boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X (Zen 5) hosts.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Google Cloud Build 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 Build, 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 | $127 · 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 | $526 · 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 | $6,336 · 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 | $1,785 · 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 | $3,585 · Pay as you go · with limits |
boat: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Google Cloud Build: Cloud Build has no plan fee. It bills per build-minute while a build runs, with partial minutes billed per second and no charge while queued; the price depends on the machine type and on default or private pool. Each billing account gets 2,500 free build-minutes a month on e2-standard-2 in the default pool, and extra disk and network egress are billed on top.
Limits in those scenarios
On Cloud Build every scenario runs into the same wall: it is a CI runner, so the worker and its files are gone when each build ends. The agent that never stops also hits the 24-hour build timeout. The default pool allows at most 30 builds at once, so 50 agents, 300 user sandboxes or 1,000 jobs need a private pool and enough CPU quota in your region. On boat, the 1,000 short jobs at once get queued: the $2,000 plan allows 2,400 starts a day and 90 a minute, fewer than the burst needs.
| Scenario | boat | Google Cloud Build |
|---|---|---|
| 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 Build when
you need CI builds that run on every push inside your Google Cloud projects, with VPC access and signed provenance.
- Part of your Google Cloud project. Useful if your stack lives on Google Cloud: builds use IAM, Secret Manager and Artifact Registry, and private pools reach your VPC.
- CI that starts itself, with provenance. Useful if you want builds on every push: triggers watch GitHub, GitLab and Bitbucket, with SLSA level 3 provenance.
- Network rules for builds. Useful if builds must stay off the public internet: private pools can turn public egress off or follow VPC firewall rules.
Use boat when
your agents need a machine of their own: a full VM that keeps its disk, runs as long as the work takes, serves apps to the internet and comes with coding agents built in.
- A machine that stays, not a build that ends. An agent that installs tools and edits a repo loses all of it when a Cloud Build run ends. The workaround is copying folders to Cloud Storage at the end of each build and back at the start, which you script and wait for.
- Reachable from the internet. An agent that builds a web app needs someone to open it. On Cloud Build nobody can, so previews, webhooks and user-facing sandboxes need a separate service such as Cloud Run in front.
- Coding agents built in, keys kept out. With secrets as environment variables, code an agent wrote can read and leak the key. A build config also cannot take a follow-up prompt, so steering an agent mid-task means writing that plumbing yourself.
Questions people ask
Is boat cheaper than Google Cloud Build?
For agents that run for hours, yes in the scenarios we priced: one agent running all month comes to $26 on boat and $526 on Cloud Build, and 50 agents in parallel come to $317 against $6,336. For 1,000 short jobs at once, boat comes to $2,000 against $3,585 on Cloud Build, and neither fits as is: Cloud Build needs a private pool with more quota and boat queues the starts.
Can I run an AI coding agent in Google Cloud Build?
You can run an agent's CLI as a build step, but the build ends within 24 hours, takes no inbound traffic, and throws its files away when it finishes. You also cannot send it a follow-up prompt while it runs. boat ships the agents preinstalled and lets you drive them with a prompt, steer and events API.
Does Cloud Build run in a VM or a container?
Both, in layers: each build runs on its own worker, and each step in the build is a Docker container on that worker. You do not get a shell on the worker itself. On boat, every sandbox is a full VM with its own kernel, root, systemd, Docker and /dev/kvm that you can reach over SSH.
How many Cloud Build builds can run at once?
In the default pool, 10 to 30 builds at once and 5 to 100 vCPU per region, and Google says those limits cannot be raised. Private pools allow more than 100 builds at once within a per-region CPU quota that you can ask to raise. boat limits sandboxes by plan, from 100 to 2,000 at once.
Where does my data run?
boat runs only in the EU (Germany, Finland and France), with EU data residency and a zero data retention option. Cloud Build runs in the Google Cloud region you choose, which includes about a dozen regions in Europe and many more worldwide.
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. Cloud Build is covered by Google Cloud's compliance programs.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial