boat vs Azure Container Apps Sandboxes

Both give each agent its own isolated Linux machine with its own kernel. boat gives it a whole computer you can SSH into, with nested virtualization, a desktop and agents built in, while Azure is strongest at short stateful jobs that suspend with their memory and wake on traffic, inside an Azure account.

Where boat stands out

A whole computer, not just a place to run code

A boat sandbox is a full VM you can SSH into, with root, systemd, Docker and /dev/kvm for Android emulators and nested VMs. It takes raw TCP as well as HTTPS on up to 50 ports, and has its own IP. Azure's sandboxes give you a shell through the aca CLI, publish HTTPS ports only and do not document nested virtualization.

A screen and a browser for every agent

Every boat sandbox has a Linux desktop streamed at 60fps, Chromium, and computer-use tools ready for any agent. You can watch an agent work and take over the mouse yourself. Azure's sandboxes are headless and ship no browser image.

Agents and keys built in

Claude Code, Codex and five other agents come preinstalled, and you prompt, steer and follow them from outside through one API. Real API keys stay in a credentials proxy outside the sandbox, and a credential can switch to another account when one runs out of credits.

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.

Azure Container Apps Sandboxes

Azure Container Apps Sandboxes is a service inside Microsoft Azure that gives each agent or user an isolated microVM you create, suspend and resume through an SDK.

It is part of Azure Container Apps, the hyperscaler's serverless container platform, and lives in your Azure subscription as a sandbox group resource. Each sandbox boots from an OCI image or a snapshot, has its own kernel, and can be suspended with its memory and resumed in under a second. It is built for teams already on Azure that want stateful code execution with Azure networking, identity and billing.

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 rankAzure Container Apps Sandboxes: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory runs installs, Docker builds, browsers and emulators for hours; boat gives each agent SSH, /dev/kvm and a desktop, which Azure's sandboxes do not offer.
3rd cheapest of 367
$634 a month
288th of 367, with limits
$5,276 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An assistant that lives on its machine all month fits both, but on boat it also gets a desktop, a browser and SSH for you to step in.
5th cheapest of 366
$657 a month
302nd of 366, with limits
$6,544 a month
Code interpreter bursts
100 at once · 1 vCPU / 2 GB · 200,000 sessions of 1 min a month
Azure fits this well: short code runs that suspend with their memory, resume in under a second and wake again on traffic.
186th of 345, with limits
$2,000 a month
34th cheapest of 345
$354 a month
Sandboxes for your users
300 at once · 2 vCPU / 4 GB · 30,000 sessions of 23 min a month
Both fit; Azure suspends idle user sandboxes with their memory, while boat gives each user a bigger machine with hosting on up to 50 ports.
Cheapest of 361
$209 a month
22nd cheapest of 361
$2,260 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
153rd of 360, with limits
$10,740 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
75th cheapest of 364
$1,728 a month
CI runners
40 at once · 8 vCPU / 16 GB · 6,000 sessions of 12 min a month
CI that builds Android apps or VM images needs nested virtualization, which boat has and Azure's sandboxes do not document.
4th cheapest of 377
$86 a month
103rd cheapest of 377
$1,046 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
A dev box wants SSH, raw TCP and editors that connect over SSH; Azure gives a shell through its own CLI and portal instead.
18th cheapest of 368
$26 a month
322nd of 368, with limits
$262 a month
Computer-use agents
50 at once · 4 vCPU / 8 GB · 20,000 sessions of 15 min a month
Computer-use agents need a screen to look at; boat streams a Linux desktop at 60fps, and Azure's sandboxes are headless.
6th cheapest of 369
$200 a month
279th of 369, with limits
$1,573 a month
Browser-use agents
50 at once · 2 vCPU / 4 GB · 30,000 sessions of 10 min a month
boat ships Chromium on a desktop in every sandbox; on Azure you install and run a headless browser yourself.
7th cheapest of 367
$200 a month
288th of 367, with limits
$795 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
284th of 346, with limits
$561 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
239th of 338, with limits
$10,956 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
278th of 360, with limits
$517 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

FeatureboatAzure Container Apps Sandboxes
IsolationFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hostsMicroVM per sandbox with its own kernel
Nested virtualizationYes, /dev/kvm for Android emulators and VMsNot documented
Docker and systemdDocker, systemd and root on every sandboxDepends on the image: azure-dev ships Docker on systemd and the copilot image runs systemd; the default ubuntu image has only Buildah
Getting a shellSSH, plus CLI and API execInteractive shell through the aca CLI, SDK or portal; no SSH
Desktop, browser and computer useLinux desktop streamed at 60fps, Chromium and computer-use tools preinstalledHeadless; no desktop or managed browser
Inbound accessHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6Public HTTPS routes per published port; private endpoint from your VNet at extra cost; no public IP
Suspend and resumeDisk is saved every minute and on stop; resume boots the machine againSuspend with memory and disk; resume in under a second with processes running
Idle handling and wakeAuto-stop timer you set; a stopped sandbox is started by APIAuto-suspend after an idle timeout; network traffic or a start command brings it back
ForkFork a running sandbox with its diskSnapshot a running sandbox with its memory and create new sandboxes from it
Outbound rulesOpen internet, no provider-side allowlistEgress policy with allow, deny, rewrite and header rules by host, path and method; VNet integration
Coding agentsSeven agents preinstalled, with a prompt, steer and events APICopilot CLI and Claude Code images, run through the exec API
Keeping AI keys out of the sandboxCredentials proxy: real model keys and any HTTPS API key stay outside; switch a credential to another account when credits run outGroup secrets usable in egress header transforms; Copilot and Anthropic tokens are injected into the sandbox at startup
Scaling up a fleetConcurrency set by plan, up to 2,000 sandboxes, self-serve500 concurrent active cores by default; more by Azure support request, which can need review
RegionsEU only (Germany, Finland, France)40 Azure regions across the Americas, Europe, Asia, Africa and Oceania
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)
FeatureboatAzure Container Apps Sandboxes
Full VM (own kernel)YesYes
Docker insideYesYes
Nested virtualizationYesNo
RootYesYes
SystemdYesYes
Desktop GUIYesNo
BrowserYesNo
Computer-use APIYesNo
SSHYesNo
Persistent diskYesYes
Pause/resumeYesYes
Automatic snapshotsYesYes
Fork/cloneYesYes
Live fork (no pause)YesYes
Memory forkNoYes
Custom image (Docker or snapshot)YesYes
≥24 h sessionsYesYes
Idle auto-stopNoYes
Wake on requestNoYes
HTTPS preview URLsYesYes
Raw TCP inboundYesNo
Public IPv4NoNo
Egress allowlistNoYes
Secret proxyYesYes
Secret proxy for any APIYesYes
Preinstalled agentsYesYes
Agent harness APIYesNo
MCP serverNoNo
GPUNoNo
WindowsNoNo
Arm64NoNo
Self-hostingNoNo
BYOCNoNo
Open sourceNoNo
Scoped API keysYesNot published
Spend limitsYesYes
Usage per sandbox (API)YesYes
Audit logsNoYes
SSONoYes
SOC 2NoYes
HIPAANoYes
EU data residencyYesYes
Zero data retentionYesNot published

Performance

boat26.69 runs/s
Azure Container Apps SandboxesNot measured

There is no comparable measurement for Azure Container Apps Sandboxes yet. boat did 26.69 runs per second on the StarSling hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Until Azure is measured on the same test, this page makes no speed claim either way.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Azure Container Apps Sandboxes 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 monthAzure Container Apps Sandboxes, 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$68 · Pay-as-you-go
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$26 · $20/mo$262 · 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$3,421 · Pay-as-you-go
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$989 · Pay-as-you-go
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$2,148 · Pay-as-you-go

boat: Plans start at $20 a month, and the whole fee is usage credit. You pay per second while a sandbox runs, and a stopped sandbox costs nothing and keeps its disk.

Azure Container Apps Sandboxes: Azure bills per second on the Container Apps Consumption meters for the vCPU and memory of the sandbox's tier, for as long as it is running, idle time before auto-suspend included. Stopped sandboxes pay no CPU or memory, there is no plan fee, and some regions such as West Europe and UK South charge more per second.

Limits in those scenarios

Azure has no session cap, but it bills a running sandbox for every second until it suspends, so the always-on scenario only gets close with a savings plan commitment. For the agent-fleet scenario, Docker inside means picking an image that ships it, like azure-dev; the default ubuntu image has only Buildah. A default quota of 500 active cores also caps a fleet until Azure support raises it. boat's start limits are the tighter ones for bursts: at 1,000 short jobs at once, the $2,000 plan queues starts, while Azure starts them from prewarmed pools.

ScenarioboatAzure Container Apps Sandboxes
One coding agent, workdaysNone that biteNone that bite
One agent that never stopsNone that bite
  • 3-year commitment
50 agents in parallelNone that biteNone that bite
Sandboxes for your usersNone that biteNone that bite
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)
None that bite

Which one should you use?

Use Azure Container Apps Sandboxes when

your team already runs on Azure and wants short stateful sandboxes that suspend with their memory, wake on traffic, sit behind strict egress rules, or run outside the EU.

  • Memory suspend and wake on traffic. Good for stateful jobs that sleep between requests: a sandbox suspends with its memory and resumes in under a second.
  • Fine-grained outbound rules. Its egress policy can allow, deny or rewrite each outbound HTTP request by host, path and method, with VNet integration.
  • Inside Azure, in 40 regions. Teams already on Azure get Entra ID, Azure billing and VNets, in 40 regions on six continents.

Use boat when

your agents need a whole computer for real work: SSH, Docker, emulators, a desktop and a browser, with coding agents and a credentials proxy built in.

  • A whole computer, not just a place to run code. On Azure, an agent that needs an Android emulator or a VM cannot start one, and tools that expect SSH or a raw TCP port, like remote editors or a database client, need a workaround through the exec API.
  • A screen and a browser for every agent. A computer-use or browser agent on Azure needs you to install a browser, a virtual display and a streaming stack in your own image, then keep them working.
  • Agents and keys built in. Azure's Copilot and Claude images are driven through raw exec, and their tokens are injected into the sandbox at start, where an agent hit by prompt injection can read and leak them.

Questions people ask

Is boat cheaper than Azure Container Apps Sandboxes?

In the scenarios on this page, boat costs less in all four that it fits, by a wide margin in most. For 1,000 short jobs at once, boat's plans queue the starts while Azure handles the burst, so Azure fits that one better.

Can I run Docker inside an Azure Container Apps sandbox?

Microsoft's azure-dev image lists Docker on a systemd base, and the ubuntu image has Buildah for building Dockerfiles. boat runs Docker on every sandbox and also exposes /dev/kvm for Android emulators and VMs, which Azure does not document.

Can I SSH into an Azure sandbox?

No. Azure gives you an interactive shell through the aca CLI, the SDK or the portal. Every boat sandbox has an SSH server and an SSH endpoint, so editors and tools that connect over SSH work as they do on any server.

Can boat suspend a sandbox with its memory like Azure?

No. boat saves the disk every minute and when the sandbox stops, so files survive, but resuming boots the machine again. Azure can suspend with memory and resume running processes in under a second.

Do I need an Azure account to use it?

Yes. Azure Container Apps Sandboxes needs an Azure subscription, a Microsoft Entra ID account and the Container Apps SandboxGroup Data Owner role. boat signs you in with GitHub, Google or an emailed code.

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.

Start a sandbox

Install the CLI, then run boat new.

7-day free trial

More comparisons