Google Compute Engine vs Hetzner Cloud
Google Compute Engine is a hyperscaler: 43 regions, GPUs, Windows and per-second billing, with a big cloud around every VM. Hetzner Cloud rents plain Linux servers by the hour at low list prices, in Europe, the US and Singapore, and you run everything on them yourself.
The companies and products
Google Compute Engine
Google Compute Engine is Google Cloud's general-purpose VM service, not a sandbox product: you rent virtual machines by the second and set them up yourself.
You pick a machine type (E2, N2D, C3D, Arm T2A, GPU families and more), a boot image and a network, and Compute Engine boots a KVM-based VM with its own kernel and root access. Disks are Persistent Disk or Hyperdisk volumes, traffic goes through VPC firewall rules, and anything agent-specific (agents, desktops, HTTPS URLs, key handling) is yours to build. It is built for every kind of server workload, from websites to GPU training, across Google Cloud's worldwide regions.
Hetzner Cloud
Hetzner is a German hosting company founded in 1997; Hetzner Cloud rents virtual servers, storage and networking by the hour.
A Hetzner Cloud server is a Linux VM picked from shared vCPU lines (cost-optimized CX and CAX, regular CPX) or dedicated vCPU (CCX), with local NVMe disk, a public IP and up to 20 TB of traffic in the EU. You add volumes, private networks, firewalls and load balancers, and run everything yourself through the Console, the Cloud API, the hcloud CLI or Terraform. It is general infrastructure, not an agent sandbox, so this page compares the two where they overlap: giving an agent its own Linux 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. “16th cheapest of 364” means 15 of the other 363 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 Compute Engine: price rank | Hetzner Cloud: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both give a full Linux VM with root and Docker, but you build the agent setup, preview URLs and cloning yourself on either; boat ships them on every machine. | 120th of 367, with limits $1,106 a month | 46th of 367, with limits $287 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An always-on assistant runs on both, but a Hetzner server bills until deleted and Compute Engine's lowest always-on price needs a 3-year commitment; boat stops cost nothing. | 177th of 366, with limits $1,433 a month | 94th of 366, with limits $325 a month | 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 Compute Engine fits bursts of short jobs better because it bills per second, while Hetzner bills every started hour in full and boat's start limits queue big bursts. | 92nd of 345, with limits $133 a month | 156th of 345, with limits $649 a month | 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 Both need a quota or limit raise before 300 user sandboxes, and you build HTTPS access and per-user lifecycle yourself; boat ships them for each sandbox. | 92nd of 361, with limits $836 a month | 46th of 361, with limits $314 a month | 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 | 36th of 360, with limits $2,085 a month | 104th of 360, with limits $6,490 a month | 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 | 16th cheapest of 364 $263 a month | 51st cheapest of 364 $1,010 a month | 10th cheapest of 364 $200 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month CI that needs /dev/kvm can run on some Compute Engine Intel families but never on Hetzner Cloud; boat has /dev/kvm on every machine. | 41st cheapest of 377 $359 a month | 83rd cheapest of 377 $788 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB All three fit a 24/7 dev box; Hetzner is the classic cheap always-on server, and boat keeps the disk with snapshots every minute. | 82nd cheapest of 368 $109 a month | 32nd cheapest of 368 $42 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 Neither cloud has a desktop or computer-use API, so you install and stream one yourself; boat streams a 60fps desktop out of the box. | 129th of 369, with limits $293 a month | 134th of 369, with limits $320 a month | 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 | 212th of 367, with limits $244 a month | 227th of 367, with limits $312 a month | 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 | 218th of 346, with limits $179 a month | 157th of 346, with limits $62 a month | 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 | 108th of 338, with limits $2,978 a month | 45th of 338, with limits $1,248 a month | 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 | 152nd of 360, with limits $120 a month | 114th of 360, with limits $52 a month | 2nd cheapest of 360 $200 a month |
| GPU eval jobs 10 at once · 8 vCPU / 32 GB · 500 sessions of 30 min a month Only Compute Engine rents GPUs here, such as L4, H100, H200 and B200; Hetzner Cloud and boat have none. | 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 Compute Engine | Hetzner Cloud | boat |
|---|---|---|---|
| What you get | A general cloud VM inside a large cloud; you install and wire everything else | A plain Linux VM you set up and run yourself | An agent sandbox: a full VM with agents, desktop, URLs and snapshots set up |
| Isolation | Every instance is a full KVM-based VM with its own kernel | Every server is a full VM with its own kernel | Every sandbox is a full VM with its own kernel |
| CPU speed (Node.js build-and-test, 4 vCPU / 8 GB) | Not measured in the benchmark run we use | 8.88 runs/s on a shared CX33; CPX and CCX were not measured | 26.69 runs/s on dedicated AMD Ryzen 9 9950X (Zen 5) hosts |
| Docker and nested virtualization | Docker, root and systemd; nested KVM only on some Intel families and N4D, not on E2, Arm or other AMD VMs | Docker and root; nested virtualization is "not possible on cloud server" | Docker, root, systemd and /dev/kvm on every machine |
| Billing step | Per second after a 1 minute minimum | Every started hour billed in full, with a monthly cap | Per second from a monthly plan that becomes usage credit |
| Stopping | A stopped VM stops CPU and memory charges; disks and external IPs keep billing | A powered-off server bills at the full rate until you delete it | A stopped sandbox costs nothing and keeps its disk |
| Snapshots and pause | Snapshots on demand or on a schedule you set; suspend keeps memory for up to 60 days | Snapshots you take yourself, or daily backups in 7 slots for 20% of the server price | Automatic snapshots every minute and on stop; resume reboots from disk |
| Fork | Make a machine image (disks, not memory) and boot a new VM | Take a snapshot, then create a new server from it (disk, no memory) | Fork a running sandbox in one call (disk, no memory) |
| Coding agents and keys | None preinstalled; secrets are read from inside the VM | None preinstalled; secrets go on the server through cloud-init, files or env vars | Claude Code, Codex, OpenCode and more with a prompt, steer and events API; AI credentials proxy for any HTTPS API |
| Desktop and computer use | No managed desktop, browser or computer-use API on Linux VMs | None built in; a VNC console for admin | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Reaching the machine | External IPv4 and any port; HTTPS needs your own certificate and a load balancer or web server | Public IPv4 and IPv6 on any port; HTTPS needs your own certificates or a paid load balancer | HTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP |
| Outbound rules | VPC egress firewall rules by IP and port; domain rules on Cloud NGFW Standard, a paid tier | Free Cloud Firewalls with outbound rules by IP, port and protocol | Open internet on every plan; no provider-side allowlist |
| GPUs and operating systems | Nvidia GPUs up to H100, H200, B200 and GB200; Linux and Windows Server on Intel, AMD and Arm | No GPUs; Linux on x86 and Arm | No GPUs; Linux on AMD Ryzen 9 9950X, Wine for Windows apps |
| Regions | 43 regions and 130 zones worldwide | Germany and Finland, plus Ashburn, Hillsboro and Singapore | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Google Compute Engine | Hetzner Cloud | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Yes | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | No | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | Yes | Yes | Yes |
| Public IPv4 | Yes | Yes | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | No | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | Yes | Yes | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | No | No | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | No | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
Compute Engine has no comparable measurement: it was not part of the benchmark run we use, and its speed depends on the machine family you pick. Hetzner's only number is a shared CX33 at 8.88 Node.js build-and-test runs per second, from a 2026-08-24 run through boat's temporary fallback capacity. boat did 26.69 runs per second at 4 vCPU / 8 GB, about three times the CX33.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Hetzner Cloud measured on: Shared vCPU, Cost-Optimized (CX, Intel/AMD), EU. Google Compute Engine 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 | Google Compute Engine, a month | Hetzner Cloud, a month | boat, 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 | $31 · Pay-as-you-go billing account (no plan fee) | $3 · Pay-as-you-go (postpaid) · with limits | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $64 · Pay-as-you-go billing account (no plan fee) · with limits | $10 · Pay-as-you-go (postpaid) · with limits | $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 | $1,291 · Pay-as-you-go billing account (no plan fee) | $141 · Pay-as-you-go (postpaid) · with limits | $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 | $378 · Pay-as-you-go billing account (no plan fee) | $312 · Pay-as-you-go (postpaid) · with limits | $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 | $690 · Pay-as-you-go billing account (no plan fee) | $2,080 · Pay-as-you-go (postpaid) · with limits | $2,000 · $2000/mo · with limits |
Google Compute Engine: Compute Engine bills each VM per second after a 1 minute minimum, here E2 sizes on demand in us-central1, with no platform fee. Disks and external IPs bill on top, also while stopped, and the lowest always-on rate needs a 1-year or 3-year commitment.
Hetzner Cloud: Hetzner bills each server by the hour, rounding every started hour up, with a monthly cap, and keeps billing until you delete it, even when it is off. The prices here use the cheapest shared CX servers, which are currently out of stock.
Hetzner Cloud: 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.
Limits in those scenarios
Every Hetzner scenario is priced on the CX line, which Hetzner's site marks as currently unavailable, and Hetzner does not publish its server limits, so 50 agents or 300 user sandboxes need a raise reviewed by hand. Compute Engine caps vCPUs per region with quotas that vary by project, and one agent that never stops reaches its price only with a 3-year commitment. Hetzner bills short jobs a full hour each, so the 1,000-job burst comes to $2,080 a month there against $690 on Compute Engine. On boat that burst is queued by its start limits.
| Scenario | Google Compute Engine | Hetzner Cloud | boat |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users | None that bite |
| None that bite |
| 1,000 short jobs at once | None that bite |
|
|
Which one should you use?
Use Google Compute Engine when
you need GPUs, Windows, regions all over the world, per-second billing for short jobs, or other Google Cloud services next to your VMs.
- GPUs, Windows and a big cloud. Useful if your work needs Nvidia GPUs, Windows Server or other Google Cloud services next to the VM.
- Regions almost everywhere. Useful if users sit far from Europe and the US: Compute Engine runs in 43 regions and 130 zones.
- Per-second billing and memory suspend. Useful for short jobs and pauses: billing is per second, and suspend keeps a VM's memory for up to 60 days.
Use Hetzner Cloud when
you want plain long-lived Linux servers at low list prices, large dedicated machines, free outbound firewalls, and you are happy to run everything yourself.
- Low list prices for plain servers. Useful if you want simple long-lived Linux servers: Hetzner's shared CX servers list far below Compute Engine's E2 VMs.
- Large dedicated machines. Useful for heavy single machines: dedicated CCX servers go up to 48 vCPU and 192 GB.
- Free outbound firewalls. Useful if a machine must only reach a few addresses: Hetzner Cloud Firewalls are free and filter outbound traffic.
Where boat fits
Compute Engine and Hetzner Cloud are general clouds, not agent sandboxes. If what you are really running is agents, each on its own machine, boat gives every agent a full VM that is ready to work, with no agent tooling to build on either cloud.
/dev/kvm on every machine
Agents that run Android emulators or their own VMs need KVM. Hetzner Cloud says it is not possible on cloud servers, and Compute Engine has it only on some Intel families, not on the E2 VMs priced here.
Free stops, minute snapshots and forks
Agents sit idle between tasks. A Hetzner server bills in full until deleted and Compute Engine keeps billing disks, and a copy on either means an image plus a new VM. boat saves every minute and forks running sandboxes.
Agents, desktop and HTTPS ready
On both clouds you install and drive each agent over SSH, keys sit inside the VM, and HTTPS needs certificates and a load balancer. boat ships coding agents with an API, a credentials proxy, a 60fps desktop and HTTPS on 50 ports.
Use boat when what you run is agents, each on its own full VM that is ready to work: /dev/kvm, coding agents with an API, keys kept outside, a desktop, HTTPS ports, snapshots every minute, forks and stops that cost nothing. Compare it one to one: boat vs Google Compute Engine and boat vs Hetzner Cloud.
Questions people ask
Is Hetzner Cloud cheaper than Google Compute Engine?
For long-running servers, yes on paper: 50 agents in parallel come to $141 a month on Hetzner's CX servers against $1,291 on Compute Engine, and boat comes to $317. For 1,000 short jobs at once Hetzner's hourly billing makes it $2,080 against $690 on Compute Engine. The CX servers are currently out of stock, so the Hetzner servers you can order today cost more.
Which is faster, Compute Engine or Hetzner Cloud?
We have no comparable Compute Engine measurement. A shared Hetzner CX33 did 8.88 Node.js build-and-test runs per second, and boat did 26.69 at the same 4 vCPU / 8 GB size.
Can Compute Engine or Hetzner Cloud run Docker and nested virtualization?
Both run Docker, since each server is a full VM with root. Nested virtualization works on Compute Engine only on some Intel families and N4D, not on E2, Arm or other AMD VMs, and Hetzner says it is not possible on cloud servers. boat has /dev/kvm on every machine.
Do I pay for a stopped server?
On Hetzner, yes: a powered-off server bills at the full rate until you delete it. On Compute Engine, a stopped VM stops CPU and memory charges, but its disks and external IPs keep billing. On boat, a stopped sandbox costs nothing and keeps its disk.
Where do they run?
Compute Engine runs in 43 regions worldwide, including many in the EU. Hetzner Cloud runs in Germany and Finland, plus Ashburn, Hillsboro and Singapore. boat runs only in the EU (Germany, Finland and France), with EU data residency.
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.
Try boat
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs Google Compute Engine
- boat vs Hetzner Cloud
- AWS EC2 vs Google Compute Engine
- Google Compute Engine vs Azure Virtual Machines
- Google Compute Engine vs Oracle Cloud
- Google Compute Engine vs DigitalOcean
- Google Compute Engine vs Vultr
- Google Compute Engine vs Linode
- Google Compute Engine vs Scaleway
- Google Compute Engine vs OVHcloud
- Google Compute Engine vs IONOS Cloud
- Google Compute Engine vs Contabo