boat vs Azure Virtual Machines
Azure Virtual Machines rents you plain Linux or Windows machines in regions around the world, and you build everything around them. boat gives each agent a full VM that already has Docker, a desktop, HTTPS URLs, forks and coding agents you drive by API.
Where boat stands out
Coding agents you drive from outside
boat ships Claude Code, Codex, OpenCode and other agents inside each sandbox, and you drive agents inside from outside with a prompt, steer and events API. The credentials proxy keeps real AI keys out of the machine and can switch to another account when one runs out of credits. An Azure VM gives you Run Command and SSH, and the rest is code you write.
Fork a running machine, keep its files for free
boat can fork a sandbox while it runs, snapshots the disk every minute and on stop, and charges nothing while a sandbox is stopped. On Azure a copy starts from an image or disk snapshot and boots cold, and image capture needs the VM stopped first.
A desktop and HTTPS URLs out of the box
Every boat sandbox has a 60fps desktop with Chromium for computer use and browser control, plus HTTPS URLs on up to 50 ports, raw TCP and its own IP. An Azure VM has a public IP and open ports if you ask for them, but no desktop stream and no managed HTTPS.
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
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. “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 | Azure Virtual Machines: price rank |
|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Azure can host a software factory, but you assemble the images, networking, HTTPS and agent driver yourself; boat ships them on every machine. | 3rd cheapest of 367 $634 a month | 83rd of 367, with limits $730 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB An always-on assistant on Azure is cheapest on a 3-year reservation; boat runs it month to month with snapshots and a desktop included. | 5th cheapest of 366 $657 a month | 113th of 366, with limits $644 a month |
| Code interpreter bursts 100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month Azure fits short code runs better here, because burstable VMs cost little when they sit mostly idle and there is no start limit beyond your vCPU quota. | 186th of 345, with limits $2,000 a month | 114th of 345, with limits $222 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 Azure means building your own sandbox layer (URLs, auth, cleanup); boat gives you that through its API. | Cheapest of 361 $209 a month | 63rd of 361, with limits $500 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 your rollouts can survive eviction with 30 seconds of notice. | 34th of 360, with limits $2,000 a month | 19th of 360, with limits $1,039 a month |
| Agent evals 250 at once · 4 vCPU / 8 GB · 15,000 sessions of 20 min a month Both fit well; Azure's per-minute billing and huge size range suit eval batches that you already script in Azure. | 10th cheapest of 364 $200 a month | 3rd cheapest of 364 $173 a month |
| CI runners 40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month | 4th cheapest of 377 $86 a month | 35th cheapest of 377 $335 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB | 18th cheapest of 368 $26 a month | 72nd cheapest of 368 $94 a month |
| Computer-use agents 50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month Azure VMs have no built-in desktop stream or computer-use API; on boat a 60fps desktop and Chromium come with every machine. | 6th cheapest of 369 $200 a month | 100th of 369, with limits $192 a month |
| Browser-use agents 50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month On Azure you install and expose the browser yourself; boat ships Chromium with browser control on each machine. | 7th cheapest of 367 $200 a month | 168th of 367, with limits $107 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 | 194th of 346, with limits $116 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 | 81st of 338, with limits $2,044 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 | 110th of 360, with limits $46 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
Every feature Battleships tracks (43)
| Feature | boat | Azure Virtual Machines |
|---|---|---|
| Full VM (own kernel) | Yes | Yes |
| Docker inside | Yes | Yes |
| Nested virtualization | Yes | Yes |
| Root | Yes | Yes |
| Systemd | Yes | Yes |
| Desktop GUI | Yes | No |
| Browser | Yes | No |
| Computer-use API | Yes | No |
| SSH | Yes | Yes |
| Persistent disk | Yes | Yes |
| Pause/resume | Yes | Yes |
| Automatic snapshots | Yes | No |
| Fork/clone | Yes | Yes |
| 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 | Yes |
| Public IPv4 | No | Yes |
| 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 | Yes |
| GPU | No | Yes |
| Windows | No | Yes |
| Arm64 | No | Yes |
| Self-hosting | No | No |
| BYOC | No | No |
| Open source | No | No |
| Scoped API keys | Yes | Not published |
| Spend limits | Yes | No |
| Usage per sandbox (API) | Yes | Yes |
| Audit logs | No | Yes |
| 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 for Azure Virtual Machines: the public sandbox benchmark we use did not include it. 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. Azure's speed depends on which of its many CPU families you pick.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Azure Virtual Machines 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 | Azure Virtual Machines, 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 | $26 · Pay-as-you-go subscription (no plan fee) |
| 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 subscription (no plan fee) · 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 | $1,168 · Pay-as-you-go subscription (no plan fee) |
| 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 | $225 · Pay-as-you-go subscription (no plan fee) |
| 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 | $483 · Pay-as-you-go subscription (no plan fee) · 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.
Azure Virtual Machines: Azure bills each VM per full minute while it runs, with no plan fee; disks, public IPv4 addresses and egress are billed on top, and disks keep billing while the VM is deallocated. The cheapest fits in the table are Arm Cobalt sizes, B-series burstable sizes, or for a machine that never stops, a 3-year reservation billed every hour whether it runs or not.
Limits in those scenarios
Azure limits how many vCPUs you can run per region and per VM family, and stopped VMs still count; new subscriptions start low and you raise the quota by request. The always-on price only works with a 3-year commitment. For 1,000 short jobs at once, the low Azure figure uses B-series burstable VMs, which guarantee 30% of each vCPU and throttle above that once credits run out. On boat the same burst is held back by starts per minute and per day, even on the $2,000 plan.
| Scenario | boat | Azure Virtual Machines |
|---|---|---|
| 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 |
|
|
Which one should you use?
Use Azure Virtual Machines when
you need GPUs, Windows, Arm or a region outside the EU, or your company already runs everything inside Azure and wants raw VMs it controls end to end.
- GPUs, Windows and Arm. Useful if agents train or test models, or need Windows or Arm: Azure rents all of these as plain VMs.
- Regions everywhere and network controls. Useful if data must stay in a given country outside the EU, or if outbound traffic must follow strict rules.
- Hibernation and Spot pricing. Useful if a machine must resume with its memory, or if a big batch can survive eviction for a lower price.
Use boat when
you want agents to work in full VMs right away: Docker and /dev/kvm on every machine, forks of running sandboxes, a desktop, HTTPS URLs and coding agents you drive by API, without building that layer on top of raw VMs.
- Coding agents you drive from outside. On Azure you build and maintain the layer that installs agents, sends prompts, streams events and stores keys. With Key Vault the key still lands inside the VM, where code the agent writes can read it.
- Fork a running machine, keep its files for free. Agents that try five fixes in parallel need five copies of the same live machine. On Azure each copy means stopping, capturing, creating and booting, and stopped VMs still bill their disks and count against your vCPU quota.
- A desktop and HTTPS URLs out of the box. A computer-use agent on Azure needs you to install a desktop and a VNC or RDP server, then run TLS or add a gateway for every preview URL. That is setup and upkeep for each image you use.
Questions people ask
Is boat cheaper than Azure Virtual Machines?
In most of the scenarios we priced, yes: one coding agent on workdays is $20 a month on boat and $26 on Azure, and 50 agents in parallel come to $317 versus $1,168. One agent that never stops is $26 on boat and $48 on Azure, but only with a 3-year reservation. For 1,000 short jobs at once, Azure's burstable VMs come to $483 against $2,000 on boat, and neither fits as asked.
Can I use Azure VMs as sandboxes for AI agents?
Yes, each Azure VM is a full machine with its own kernel, so it isolates code well. What it does not give you is the sandbox layer: fast forks, HTTPS preview URLs, a desktop stream, a keys proxy and an API to drive coding agents. On boat those come with every sandbox.
Do Azure VMs keep billing when stopped?
It depends on how you stop them. A VM shut down from inside the OS stays allocated and keeps billing compute; only a stop (deallocate) from the portal, CLI or API ends compute billing, and disks and static IPs still bill. A stopped boat sandbox costs nothing and keeps its files.
Does boat have GPUs or Windows like Azure?
No. boat runs Linux VMs on dedicated AMD Ryzen 9 9950X hosts, with no GPUs and no Windows guests, and has Wine docs for Windows apps. If you need GPUs, Windows or Arm, Azure has all three.
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. Azure lists 77 regions worldwide, so you can pick a region in the EU or almost any other part of the world.
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. Azure lists SOC 2 among its compliance offerings.
Start a sandbox
Install the CLI, then run boat new.
7-day free trial
More comparisons
- boat vs Oracle Cloud
- boat vs IONOS Cloud
- boat vs AWS AgentCore
- boat vs Contabo
- boat vs AWS Fargate
- boat vs netcup
- boat vs AWS EC2
- boat vs Gcore
- boat vs E2B
- boat vs Daytona
- boat vs Modal
- boat vs Vercel Sandbox
- AWS EC2 vs Azure Virtual Machines
- Google Compute Engine vs Azure Virtual Machines
- Azure Virtual Machines vs Oracle Cloud
- Azure Virtual Machines vs DigitalOcean
- Azure Virtual Machines vs Hetzner Cloud
- Azure Virtual Machines vs Vultr
- Azure Virtual Machines vs Linode
- Azure Virtual Machines vs Scaleway