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.

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 workloadboat: price rankGoogle 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 itCan't run it
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 Build
Kind of productCloud VMs for agents: each one keeps running, keeps its disk and can host servicesCI builds: a list of Docker steps that runs once and ends
IsolationEvery sandbox is a full VM with its own kernelEach build gets its own worker; steps run as Docker containers on it
Docker and nested virtualizationDocker, root, systemd and /dev/kvm on every machineDocker builds through the docker builder step; no /dev/kvm documented
How long one session runsNo session cap on paid plans24 hours at most per build
Files after a runSnapshots every minute and on stop; a stopped sandbox costs nothingVolumes and their contents are discarded when the build ends; you copy caches to Cloud Storage or push images yourself
Pause, resume and forkStop and resume from disk; fork a running sandboxStart, list and cancel builds; no pause, resume or fork
Reaching the sandboxHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4No inbound ports, URLs or SSH into the worker; you read logs
Outbound internetOpen internet on every plan; no provider-side allowlistOpen in the default pool; private pools can cut public internet off or follow your VPC firewall rules
Keeping keys out of the sandboxAI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run outSecret Manager values are put into build steps as environment variables
Coding agentsClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events APINone built in; you can run a CLI as a build step
Desktop and computer use60fps desktop and Chromium, computer use and browser control, embeddable streamNone; steps are headless containers
Custom imagesNamed snapshots (templates), shareable by code; no Dockerfile buildsAny container image as a build step, from Docker Hub, Artifact Registry or another registry
Git triggers and provenanceNone built in; you start sandboxes from the API or CLITriggers on GitHub, GitLab and Bitbucket pushes; SLSA level 3 build provenance
RegionsEU only: Germany, Finland, FranceGoogle Cloud regions worldwide, a dozen of them in Europe
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 Build
Full VM (own kernel)YesYes
Docker insideYesYes
Nested virtualizationYesNo
RootYesYes
SystemdYesNot published
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-stopNoNo
Wake on requestNoNo
HTTPS preview URLsYesNo
Raw TCP inboundYesNo
Public IPv4NoNo
Egress allowlistNoYes
Secret proxyYesNo
Secret proxy for any APIYesNo
Preinstalled agentsYesNo
Agent harness APIYesNo
MCP serverNoNo
GPUNoNo
WindowsNoNo
Arm64NoNo
Self-hostingNoNo
BYOCNoNo
Open sourceNoNo
Scoped API keysYesNot published
Spend limitsYesNot published
Usage per sandbox (API)YesYes
Audit logsNoNot published
SSONoYes
SOC 2NoYes
HIPAANoYes
EU data residencyYesYes
Zero data retentionYesNot published

Performance

boat26.69 runs/s
Google Cloud BuildNot measured

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.

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

ScenarioboatGoogle Cloud Build
One coding agent, workdaysNone that bite
  • missing persistent disk
  • different kind of product: app platform
  • no persistent disk: files lost when it stops or sleeps
  • egress price not published
One agent that never stopsNone that bite
  • Pay as you go: sessions capped at 24 h
  • missing persistent disk
  • different kind of product: app platform
  • no persistent disk: files lost when it stops or sleeps
50 agents in parallelNone that bite
  • Pay as you go: max 30 concurrent
  • missing persistent disk
  • different kind of product: app platform
  • no persistent disk: files lost when it stops or sleeps
Sandboxes for your usersNone that bite
  • Pay as you go: max 30 concurrent
  • different kind of product: app platform
  • egress price not published
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)
  • Pay as you go: max 30 concurrent
  • different kind of product: app platform
  • egress price not published

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

More comparisons