Google Compute Engine vs Azure Virtual Machines

Google Compute Engine and Azure Virtual Machines are both hyperscaler VM services: you rent a full Linux or Windows machine and build the rest yourself. Compute Engine bills per second and runs on KVM, while Azure bills per full minute on Hyper-V, offers nested virtualization on more x86 sizes and runs in more regions.

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.

Azure Virtual Machines

Azure Virtual Machines is Microsoft's general-purpose cloud VM service: you rent Linux or Windows machines by the minute in Azure regions worldwide.

It is a hyperscaler IaaS product, not a sandbox API. Each VM runs on Microsoft's Hyper-V hypervisor with its own kernel, root and SSH, and you pick from hundreds of sizes, including Arm, burstable and GPU families. Networking, disks, images, firewalls and any agent tooling are separate pieces you set up yourself, so it suits teams that already run on Azure and want full control.

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 workloadGoogle Compute Engine: price rankAzure Virtual Machines: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Both can host a software factory, but on either cloud you build the agent setup, preview URLs and cloning yourself; boat ships them on every machine.
120th of 367, with limits
$1,106 a month
83rd of 367, with limits
$730 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
On both clouds the cheapest always-on price needs a 3-year commitment and disks bill while stopped; boat runs an always-on agent month to month.
177th of 366, with limits
$1,433 a month
113th of 366, with limits
$644 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
Short code runs fit both clouds better than boat, since there is no start limit beyond your vCPU quota; Compute Engine comes out ahead here.
92nd of 345, with limits
$133 a month
114th of 345, with limits
$222 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
Giving each user a VM on either cloud means building your own sandbox layer (URLs, auth, cleanup); boat gives you that through its API.
92nd of 361, with limits
$836 a month
63rd of 361, with limits
$500 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
Azure Spot VMs make large RL fleets cheap, as long as rollouts can survive eviction with 30 seconds of notice.
36th of 360, with limits
$2,085 a month
19th of 360, with limits
$1,039 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
Both fit eval batches well, with Azure a little ahead on price; boat fits too, with forks and snapshots built in.
16th cheapest of 364
$263 a month
3rd cheapest of 364
$173 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 works on Azure's x86 D and F sizes and on some Compute Engine Intel families, but not on E2; boat has it on every machine.
41st cheapest of 377
$359 a month
35th cheapest of 377
$335 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
82nd cheapest of 368
$109 a month
72nd cheapest of 368
$94 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 built-in desktop stream 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
100th of 369, with limits
$192 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
168th of 367, with limits
$107 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
194th of 346, with limits
$116 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
81st of 338, with limits
$2,044 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
110th of 360, with limits
$46 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
Can't run itCan'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 itCan't run it

Key features

FeatureGoogle Compute EngineAzure Virtual Machinesboat
What you getA general cloud VM; you install and wire everything elseA general cloud VM; images, networking and tooling are yours to set upAn agent sandbox: a full VM with agents, desktop, URLs and snapshots set up
IsolationFull VM on Google's KVM-based hypervisor, with its own kernelFull Hyper-V VM with its own kernelEvery sandbox is a full VM with its own kernel
Billing unitPer second after a 1 minute minimumPer full minute while running; a VM shut down from inside the OS keeps billingPer second from a monthly plan credit; a stopped sandbox costs nothing
Docker and nested virtualizationDocker, root and systemd on any VM; nested KVM only on some Intel families and N4D, not on E2, Arm or other AMD VMsDocker and root on any size; nested virtualization on Intel and AMD D and F sizes, not on Arm or B-seriesDocker, root, systemd and /dev/kvm on every machine
Files after a stopPersistent disks are kept and billed while stopped; snapshots on demand or on a schedule you setDisk is kept; a deallocated VM stops compute billing, but disks and static IPs keep billingSnapshots every minute and on stop; a stopped sandbox costs nothing
Pause with memorySuspend keeps memory for up to 60 days, and memory keeps billing while suspendedHibernation saves memory to the OS disk on supported sizes up to 64 GB of RAMResume reboots from disk (no memory snapshots)
Fork and cloneMake a machine image (disks, not memory) and boot a new VMCapture an image or disk snapshot and boot new VMs cold; image capture needs the VM stoppedFork a running sandbox in one call
Coding agentsNone preinstalled; install and drive them over SSH or startup scriptsNone built in; Run Command, scripts or SSH to install and run themClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping keys out of the machineSecret Manager values and service account tokens are read from inside the VMKey Vault secrets are fetched into the VM, so code inside can read themAI credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out
Desktop and computer useNo managed desktop, browser or computer-use API on Linux VMsNone built in; you install your own VNC or RDP server60fps desktop and Chromium, computer use and browser control, embeddable stream
Reaching the machineExternal IPv4 and any port through firewall rules; HTTPS needs your own certificate and a load balancer or web serverPublic IPv4 and any port through security group rules; HTTPS is yours to run, or add a load balancer or gatewayHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IP
Outbound network rulesVPC egress firewall rules by IP and port; domain rules on Cloud NGFW Standard, a paid tierSecurity group rules by IP; domain allowlists with the paid Azure FirewallOpen internet on every plan; no provider-side allowlist
GPUsNvidia GPUs from T4 and L4 up to H100, H200, B200 and GB200GPU families such as NC with Nvidia H100 and A100None
Regions43 regions and 130 zones77 regions listed as available or coming soonEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureGoogle Compute EngineAzure Virtual Machinesboat
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationNoYesYes
RootYesYesYes
SystemdYesYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoNoYes
Fork/cloneYesYesYes
Live fork (no pause)YesNoYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopNoNoNo
Wake on requestNoNoNo
HTTPS preview URLsNoNoYes
Raw TCP inboundYesYesYes
Public IPv4YesYesNo
Egress allowlistYesYesNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverNoYesNo
GPUYesYesNo
WindowsNoYesNo
Arm64YesYesNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNoNoYes
Usage per sandbox (API)YesYesYes
Audit logsYesYesNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

Google Compute EngineNot measured
Azure Virtual MachinesNot measured
boat26.69 runs/s

There is no comparable measurement for Compute Engine or Azure Virtual Machines: neither was part of the public benchmark run we use, and their speed depends on the CPU family you pick. In that run, StarSling's Node.js build-and-test test on 2026-09-29, boat did 26.69 runs per second at 4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X hosts.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Google Compute Engine and Azure Virtual Machines have 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.

ScenarioGoogle Compute Engine, a monthAzure Virtual Machines, a monthboat, 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)$26 · Pay-as-you-go subscription (no plan fee)$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$48 · Pay-as-you-go subscription (no plan fee) · 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)$1,168 · Pay-as-you-go subscription (no plan fee)$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)$225 · Pay-as-you-go subscription (no plan fee)$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)$483 · Pay-as-you-go subscription (no plan fee) · 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 rates need a 1-year or 3-year commitment.

Azure Virtual Machines: Azure bills each VM per full minute while it runs, with no plan fee; disks, public IPv4 and egress bill on top, and disks keep billing while deallocated. The cheapest fits use Arm Cobalt or B-series burstable sizes, or a 3-year reservation for a machine that never stops.

Azure Virtual Machines: 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

Both clouds cap vCPUs per region with quotas, and Azure also caps each VM family and counts stopped VMs, so 50 agents in parallel or 300 user sandboxes may need a quota request first on either. One agent that never stops reaches the prices shown ($64 a month on Compute Engine, $48 on Azure) only with a 3-year commitment. For 1,000 short jobs at once, Azure's low figure uses B-series burstable VMs that guarantee 30% of each vCPU and throttle above that, while Compute Engine fits as asked. On boat the same burst is queued by starts per minute, per hour and per day, even on the $2,000 plan.

ScenarioGoogle Compute EngineAzure Virtual Machinesboat
One coding agent, workdaysNone that biteNone that biteNone that bite
One agent that never stops
  • 3-year commitment
  • 3-year commitment
None that bite
50 agents in parallelNone that biteNone that biteNone that bite
Sandboxes for your usersNone that biteNone that biteNone that bite
1,000 short jobs at onceNone that bite
  • burstable CPU: 30% of each vCPU guaranteed, throttled above that
  • 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)

Which one should you use?

Use Google Compute Engine when

you want per-second billing for short jobs, the newest Nvidia GPUs, or your team already runs on Google Cloud.

  • Billed by the second. Useful for many short jobs: Compute Engine bills per second after the first minute, where Azure rounds to full minutes.
  • Newer GPUs. Useful if agents train or serve models: Compute Engine rents Nvidia GPUs up to H200, B200 and GB200.
  • Stops mean stopped. Useful if people stop VMs from inside: a stopped Compute Engine VM ends CPU and memory charges, with only disks and IPs left.

Use Azure Virtual Machines when

you need nested virtualization on common x86 sizes, a region Compute Engine does not cover, Spot fleets or hibernation, or your company already runs on Azure.

  • Nested virtualization on common sizes. Useful for Android emulators or VMs inside VMs: Azure supports it on its Intel and AMD D and F sizes.
  • More regions. Useful if data must sit in a given country: Azure lists 77 regions, against 43 for Compute Engine.
  • Spot fleets and hibernation. Useful for big batches that can survive eviction, or a VM that must resume with its memory on supported sizes.

Where boat fits

Both clouds rent you a raw VM, and everything an agent needs on top is yours to build. If what you are really running is agents, boat gives each one a full VM that already has Docker, /dev/kvm, a desktop, HTTPS URLs, forks and coding agents you drive from outside. Stay on a cloud if you need GPUs, Windows or regions outside the EU.

Coding agents driven from outside

On Compute Engine or Azure you write the code that installs, prompts and watches every agent, and keys from Secret Manager or Key Vault land inside the VM. boat ships the agents, an events API and a credentials proxy that keeps keys out.

Fork a running machine, keep files for free

Copying a live machine on either cloud means a machine image or captured image and a cold boot, and Azure needs the VM stopped first. Parked VMs keep billing disks. boat forks a running sandbox, snapshots every minute and bills nothing while stopped.

/dev/kvm, desktop and HTTPS on every machine

Compute Engine E2 and Azure B-series or Arm sizes have no nested virtualization, neither cloud has a desktop stream, and HTTPS needs your own certificates or a load balancer. Every boat sandbox has /dev/kvm, a 60fps desktop and HTTPS URLs on 50 ports.

Use boat when what you are really running is agents and you want each one on a ready, full VM: coding agents with an API, keys kept outside, /dev/kvm, a desktop, HTTPS URLs, minute snapshots and forks, without building that layer on a cloud. Compare it one to one: boat vs Google Compute Engine and boat vs Azure Virtual Machines.

Questions people ask

Is Google Compute Engine cheaper than Azure Virtual Machines?

In most of the scenarios we priced, Azure comes out lower: one coding agent on workdays is $26 a month on Azure and $31 on Compute Engine, and 50 agents in parallel come to $1,168 versus $1,291. For 1,000 short jobs at once, Azure's $483 figure uses burstable VMs that do not fit as asked, against $690 on Compute Engine. boat is $20 and $317 for the same two scenarios.

Which is faster, Compute Engine or Azure?

We have no comparable measurement for either: neither was in the public benchmark run we use, and speed depends on the CPU family you pick. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29.

Can Compute Engine and Azure VMs run Docker and nested VMs?

Both run Docker with root on any VM. Nested virtualization is narrower on Compute Engine, which excludes E2, Arm and AMD VMs except N4D, while Azure supports it on Intel and AMD D and F sizes but not on Arm or B-series. On boat, Docker and /dev/kvm are on every machine.

Do stopped VMs keep billing on Compute Engine and Azure?

A stopped Compute Engine VM ends CPU and memory charges, while disks and external IPs keep billing. On Azure a VM shut down from inside the OS stays allocated and keeps billing compute; only a deallocate stops it, and disks and static IPs still bill. A stopped boat sandbox costs nothing and keeps its files.

Which has more regions, Compute Engine or Azure?

Azure lists 77 regions as available or coming soon, and Compute Engine runs in 43 regions and 130 zones; both include many in the EU. 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