Beam vs Azure Container Apps Sandboxes
Beam is a serverless GPU platform whose sandboxes are quick gVisor containers, run in the US. Azure Container Apps Sandboxes gives each sandbox a microVM with its own kernel that can suspend with its memory and wake on traffic, inside your Azure account in 40 regions.
The companies and products
Beam
Beam is a serverless cloud for GPU inference, sandboxes and background jobs, built on its open-source runtime Beta9.
Beam runs functions, REST endpoints, task queues, pods, sandboxes and VMs on CPUs and GPUs, all from a Python or TypeScript SDK. A sandbox is a container isolated with gVisor that starts in a second or two, lives until you terminate it or its time to live runs out, and can be saved as a filesystem image or a memory snapshot. Beam VMs are a separate CPU product: a microVM with its own kernel, systemd and a root disk that stays when it stops. Much of Beam is a GPU serverless platform for AI teams.
- Bring your own cloud
- Management fee per vCPU and GB of RAM, on top of your own cloud bill
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. “8th cheapest of 345” means 7 of the other 344 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 | Beam: price rank | Azure Container Apps Sandboxes: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker, systemd and a disk that stays between runs on every machine; boat gives each sandbox all three, while on Beam and Azure it depends on the product or image you pick. | 69th of 367, with limits $551 a month | 288th of 367, with limits $5,276 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 115th of 366, with limits $651 a month | 302nd of 366, with limits $6,544 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 Both fit short code runs: Beam sandboxes start in a second or two and end on a timer, while Azure suspends idle sandboxes with their memory and resumes them in under a second. | 8th cheapest of 345 $117 a month | 34th cheapest of 345 $354 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 All three fit; Beam gives each user a quick container, Azure a microVM that suspends when idle, and boat a full VM with hosting on up to 50 ports. | 3rd cheapest of 361 $290 a month | 22nd cheapest of 361 $2,260 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 | 341st of 360, with limits $939 a month | 153rd of 360, with limits $10,740 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 | 13th cheapest of 364 $251 a month | 75th cheapest of 364 $1,728 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 builds Android apps or VM images needs /dev/kvm, which boat has and neither Beam nor Azure documents. | 12th cheapest of 377 $171 a month | 103rd cheapest of 377 $1,046 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A Beam VM keeps its 50 GiB root disk while stopped for about $21 a month here; Azure has no SSH and bills a running sandbox every second, and boat adds SSH and a desktop. | 13th cheapest of 368 $21 a month | 322nd of 368, with limits $262 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 Computer-use agents need a screen; boat streams a Linux desktop at 60fps, while Beam and Azure have no desktop or browser product. | 111th of 369, with limits $237 a month | 279th of 369, with limits $1,573 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 | 195th of 367, with limits $176 a month | 288th of 367, with limits $795 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 | 200th of 346, with limits $131 a month | 284th of 346, with limits $561 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 | 42nd of 338, with limits $923 a month | 239th of 338, with limits $10,956 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 | 175th of 360, with limits $155 a month | 278th of 360, with limits $517 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 Beam has GPUs, from RTX 4090 to H100 and B200; Azure's sandboxes and boat are CPU only. | Cheapest of 98 $458 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 | Can't run it |
Key features
| Feature | Beam | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| Isolation | gVisor container by default for sandboxes; separate Beam VMs are CPU microVMs with their own kernel | MicroVM per sandbox with its own kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Nested virtualization | Not documented | Not documented | Yes, /dev/kvm for Android emulators and VMs |
| Docker and systemd | Docker inside sandboxes with docker_enabled; systemd only in Beam VMs, not in sandboxes | Depends on the image: azure-dev ships Docker on systemd; the default ubuntu image has only Buildah | Docker, systemd and root on every sandbox |
| Suspend and resume | No suspend for sandboxes; save a filesystem image or memory snapshot and restore it into a new sandbox | Suspend with memory and disk; resume in under a second with processes running, or wake on network traffic | Disk is saved every minute and on stop; resume boots the machine again |
| Disk between runs | A sandbox ends with its time to live (10 minutes by default) unless you save an image or use a volume; a Beam VM keeps a 50 GiB root disk while stopped | A suspended or stopped sandbox keeps its disk | Disk is saved every minute and on stop, and a stopped sandbox keeps it for free |
| Fork and snapshots | Memory snapshot of a running sandbox with its processes, restored into new sandboxes | Snapshot a running sandbox with its memory and create new sandboxes from it | Fork a running sandbox with its disk |
| GPUs | GPU sandboxes and serverless GPUs up to H100, H200 and B200 | No, CPU only | No, CPU only |
| Desktop and browser | No desktop or browser product | Headless; no desktop or managed browser | Linux desktop streamed at 60fps with Chromium and computer use |
| Inbound access | A public HTTPS URL per exposed port with no built-in auth; no raw TCP or dedicated IP | Public HTTPS routes per published port; private endpoint from your VNet at extra cost; no public IP; no SSH | SSH; HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Block all outbound traffic, or allow up to 10 CIDR ranges, changeable while running | Egress policy with allow, deny, rewrite and header rules by host, path and method; VNet integration | Open internet, no provider-side allowlist |
| Coding agents | None preinstalled; you install and run them through process exec | Copilot CLI and Claude Code images, run through the exec API | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Secrets are exposed as environment variables inside the sandbox | Group secrets usable in egress header rules; Copilot and Anthropic tokens are injected into the sandbox at startup | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Regions | US only; no other region is listed | 40 Azure regions, 9 of them in the EU | EU only (Germany, Finland, France) |
| Self-hosting | Beta9 runtime is AGPL-3.0 and free to self-host; bring your own cloud for a fee | No; runs only inside your Azure subscription | No |
Every feature Battleships tracks (43)
| Feature | Beam | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| Full VM (own kernel) | No | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | No | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | No | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | Yes | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | No | Yes | Yes |
| Agent harness API | No | No | Yes |
| MCP server | Yes | No | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | Yes | No | No |
| BYOC | Yes | No | No |
| Open source | Yes | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Not published | Yes | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | Not published | Yes | No |
| SSO | No | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Not published | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable CPU measurement for Beam or for Azure Container Apps Sandboxes on the StarSling hpc-sandbox-benchmarks test, so this page makes no speed claim between them. boat did 26.69 runs per second on that test at 4 vCPU / 8 GB. On start time, Beam says its sandboxes cold-boot in 1 to 3 seconds, and Azure resumes a suspended sandbox in under a second.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Beam and Azure Container Apps Sandboxes 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.
| Scenario | Beam, a month | Azure Container Apps Sandboxes, 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 | $5 · Developer | $68 · Pay-as-you-go | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $22 · Developer | $262 · Pay-as-you-go · 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 | $410 · Team | $3,421 · Pay-as-you-go | $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 | $191 · Team | $989 · Pay-as-you-go | $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 | $259 · Team | $2,148 · Pay-as-you-go | $2,000 · $2000/mo · with limits |
Beam: Beam sandboxes bill per second for each CPU core (one core is two vCPU) and each GiB of RAM until you terminate them or their time to live ends, so an idle tail is billed too. Developer has no fee; Team is $89 a month plus usage, with no usage credit, and egress is free.
Azure Container Apps Sandboxes: Azure bills per second on the Container Apps Consumption meters for the vCPU and memory of the sandbox's tier while it runs, idle time before auto-suspend included (5 minutes by default). There is no plan fee, stopped sandboxes pay no CPU or memory, and some regions such as West Europe charge more.
Azure Container Apps Sandboxes: 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.
Limits in those scenarios
Beam's Developer plan allows 30 CPU containers at once, so 50 parallel agents need the Team plan, and Beam publishes no disk price beyond what a VM includes, so the scenarios count no disk cost for it. Azure bills a running sandbox every second until it suspends, so the always-on agent only gets close with a 3-year commitment, and its default quota of 500 active cores caps a fleet until Azure support raises it. For 1,000 short jobs at once, both Beam and Azure fit, while boat's $2,000 plan queues the starts.
| Scenario | Beam | Azure Container Apps Sandboxes | 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 Beam when
your agents need GPUs, when you want many short CPU sandboxes at a low per-second price in the US, or when you must self-host the runtime.
- GPUs in the same platform. For workloads that need a GPU, Beam offers GPU sandboxes and serverless GPUs from RTX 4090 to H100, H200 and B200.
- Low per-second CPU price. Teams running many short CPU sandboxes pay far less on Beam than on Azure in every scenario on this page.
- Open source and your own cloud. Its Beta9 runtime is AGPL-3.0 and free to self-host, and it can also run in your own cloud for a fee.
Use Azure Container Apps Sandboxes when
your team already runs on Azure and wants microVM sandboxes that suspend with their memory, wake on traffic, sit behind strict egress rules, or run in many regions.
- 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.
Where boat fits
If your agents do long, messy work like installs, Docker builds, emulators and a browser, both Beam and Azure leave pieces for you to build. boat gives every agent a full VM with a desktop, hosting, coding agents and a credentials proxy already in place.
A full VM with /dev/kvm on every sandbox
A Beam sandbox is a gVisor container with no systemd, and on Azure Docker depends on picking the right image. Neither documents /dev/kvm, so an agent cannot start an Android emulator or a nested VM.
A screen, SSH and real hosting
Beam and Azure are headless, so a computer-use agent needs a browser, display and stream you build into your image. Beam's port URLs have no auth, and Azure has no SSH, raw TCP or public IP.
Agents and keys built in
On Beam you install and drive agents through raw exec, with secrets as environment variables. Azure injects Copilot and Anthropic tokens into the sandbox, where an agent hit by prompt injection can read and leak them.
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. Compare it one to one: boat vs Beam and boat vs Azure Container Apps Sandboxes.
Questions people ask
Is Beam cheaper than Azure Container Apps Sandboxes?
Yes, in every scenario on this page, by a wide margin. One agent that never stops costs $22 a month on Beam against $262 on Azure, which also needs a 3-year commitment to fit, and 50 agents in parallel cost $410 against $3,421. Beam publishes no disk price, so its figures leave disk out.
Which is faster, Beam or Azure Container Apps Sandboxes?
Neither has a result on the StarSling CPU benchmark, so we cannot say which runs code faster. Beam says its sandboxes cold-boot in 1 to 3 seconds, and Azure resumes a suspended sandbox in under a second with its processes still running.
Is a Beam sandbox a VM like an Azure sandbox?
Not by default. A Beam sandbox is a container isolated with gVisor, and Beam sells separate CPU VMs with their own kernel and systemd. Each Azure sandbox is a microVM with its own kernel, and every boat sandbox is a full VM with /dev/kvm.
Can I run Docker in Beam and Azure sandboxes?
Yes on both, with some setup. Beam runs Docker inside a sandbox with docker_enabled, and on Azure you pick an image that ships it, like azure-dev, since the default ubuntu image has only Buildah. boat runs Docker on every sandbox.
Which one has GPUs?
Only Beam. It offers GPU sandboxes and serverless GPUs from RTX 4090 up to H100, H200 and B200. Azure Container Apps Sandboxes and boat are CPU only.
Try boat
Install the CLI, then run boat new.
7-day free trial