GitHub Codespaces vs Azure Container Apps Sandboxes

GitHub Codespaces is a dev environment for people: a container opened from a repository in VS Code, that stops after 12 hours at most. Azure Container Apps Sandboxes is a sandbox for code: microVMs you create through an SDK, with no session cap, that suspend with their memory and wake on traffic.

The companies and products

GitHub Codespaces

GitHub Codespaces is GitHub's cloud development environment: a ready-to-code Linux machine for a repository, opened in the browser, VS Code or the GitHub CLI.

Codespaces is a different kind of product from boat: a dev environment for people working on a GitHub repository, not a sandbox API for agents. Each codespace is a Docker container built from the repo's dev container config, running on its own newly built VM on Azure, with 2 to 32 cores. It is built for developers and teams who want every contributor to start from the same setup, with prebuilds, port forwarding and GitHub billing.

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. “274th cheapest of 367” means 273 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 workloadGitHub Codespaces: price rankAzure Container Apps Sandboxes: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Both are a compromise for a software factory: Codespaces stops every 12 hours, Azure has no SSH or desktop, and neither documents /dev/kvm, while boat gives each agent all of these.
274th of 367, with limits
$4,618 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
An always-on assistant hits the 12-hour stop on Codespaces, and on Azure it bills every running second; boat keeps it running with a desktop and SSH.
309th of 366, with limits
$6,970 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
Azure fits short code runs best of the three: sandboxes suspend with their memory, resume in under a second and wake on traffic, while each codespace builds a dev container on a new VM.
288th of 345, with limits
$619 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
Azure fits sandboxes for your users, with a published quota of 500 active cores; GitHub does not publish how many codespaces can run at once, and boat gives each user a full VM.
281st of 361, with limits
$1,964 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
282nd of 360, with limits
$9,489 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
295th of 364, with limits
$1,519 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
Azure can start runs from a memory snapshot of a warm sandbox, while Codespaces starts each one from a repo or a prebuild; boat adds /dev/kvm for Android and VM builds.
314th of 377, with limits
$909 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
Codespaces is the better dev box of the two, with VS Code and SSH, but it stops after 12 hours; Azure has no SSH, and boat is a full VM that keeps running.
130th of 368, with limits
$270 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
Neither has a graphical desktop: a codespace has an editor and a terminal and Azure's sandboxes are headless, while boat streams a 60fps desktop with Chromium.
267th of 369, with limits
$1,367 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
275th of 367, with limits
$678 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
310th of 346, with limits
$922 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
280th of 338, with limits
$18,637 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
boat forks one prepared machine into many while it runs; Azure can seed sandboxes from a memory snapshot, and Codespaces creates every copy again from the repository.
267th of 360, with limits
$445 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
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

FeatureGitHub CodespacesAzure Container Apps Sandboxesboat
What it isA cloud dev environment per GitHub repository, opened in VS Code, the browser or the GitHub CLIA compute type inside Azure Container Apps: microVMs you create, suspend and resume through an SDKA sandbox API for agents: full VMs you create, fork and drive from code
IsolationA Docker container on its own newly built VM, with its own virtual networkA microVM per sandbox with its own kernelA full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
How long it runsStops after 30 idle minutes by default and after 12 hours at most, even while in useNo session cap; auto-suspends after an idle timeout (5 minutes by default)Runs until you stop it; no session cap on paid plans
Docker and nested virtualizationDocker and sudo inside the dev container; /dev/kvm not documentedDocker in images that ship it, like azure-dev; the default ubuntu image has only Buildah; /dev/kvm not documentedDocker, root, systemd and /dev/kvm on every machine
Getting a shellSSH through the GitHub CLI, plus VS Code and the browser terminalInteractive shell through the aca CLI, SDK or portal; no SSHSSH, plus CLI and API exec
Desktop and computer useVS Code, JupyterLab and a terminal; no graphical desktopHeadless; no desktop or managed browserLinux desktop streamed at 60fps, Chromium and computer-use tools preinstalled
Suspend and resumeFiles are kept on stop; running processes end and a restart boots againSuspend with memory and disk; resume in under a second with processes runningDisk saved every minute and on stop; a stopped sandbox costs nothing and boots again on start
Fork and snapshotsNo copy or snapshot endpoint; new codespaces start from a repo, branch, pull request or prebuildSnapshot a running sandbox with its memory and create new sandboxes from itFork a running sandbox with its disk; named snapshots as templates
Coding agentsGitHub Copilot as a VS Code extension; other agents you install yourselfCopilot CLI and Claude Code images, run through the exec APIClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping keys out of the sandboxSecrets are copied into the codespace as environment variablesGroup secrets usable in egress header rules; Copilot and Anthropic tokens are injected into the sandbox at startupCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out
Inbound accessA URL per forwarded port, private, organization or public; no public IPPublic HTTPS routes per published port; private endpoint from your VNet; no public IPHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6
Outbound rulesOpen internet; GitHub says there is no way to restrict itEgress policy with allow, deny, rewrite and header rules by host, path and method; VNet integrationOpen internet, no provider-side allowlist
Starting pointDev container config in the repository, with prebuilds built by GitHub ActionsAn OCI image or a snapshotNamed snapshots (templates), shareable by code; no Dockerfile builds
RegionsUS East, US West, Europe West and Southeast Asia40 Azure regions, 9 of them in the EUEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureGitHub CodespacesAzure Container Apps Sandboxesboat
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdNot publishedYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesNoYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoYesYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsNoYesYes
Idle auto-stopYesYesNo
Wake on requestNoYesNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistNoYesNo
Secret proxyNoYesYes
Secret proxy for any APINoYesYes
Preinstalled agentsNoYesYes
Agent harness APINoNoYes
MCP serverNoNoNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesYesYes
Usage per sandbox (API)NoYesYes
Audit logsYesYesNo
SSOYesYesNo
SOC 2YesYesNo
HIPAANoYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

GitHub CodespacesNot measured
Azure Container Apps SandboxesNot measured
boat26.69 runs/s

There is no comparable measurement for GitHub Codespaces or for Azure Container Apps Sandboxes: neither was in the public benchmark runs we use. 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, on dedicated AMD Ryzen 9 9950X hosts. So this page makes no speed claim between the three.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. GitHub Codespaces 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.

ScenarioGitHub Codespaces, a monthAzure Container Apps Sandboxes, 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
$51 · Personal account: GitHub Free$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
$270 · Personal account: GitHub Free · with limits$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
$3,019 · Personal account: GitHub Free$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
$850 · Personal account: GitHub Free · with limits$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
$1,889 · Personal account: GitHub Free · with limits$2,148 · Pay-as-you-go$2,000 · $2000/mo · with limits

GitHub Codespaces: Codespaces bills $0.09 per core-hour while a codespace is active, plus $0.07 per GB-month of storage while it exists, stopped too. There is no 4-core machine with 8 GB, so 4 vCPU / 8 GB jobs are priced on the 4-core 16 GB machine; personal accounts get a free monthly quota and organizations do not.

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. There is no plan fee, and some regions such as West Europe and UK South charge more per second.

Azure Container Apps Sandboxes: Plans start at $20 a month, and the whole fee is usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

Codespaces does not fit the always-on scenario because every codespace stops after 12 hours, and GitHub does not publish how many can run at once, so 300 user sandboxes and 1,000 short jobs show as not confirmed. Azure has no session cap, but it bills every running second, so the always-on scenario only gets close with a 3-year commitment. Azure's default quota is 500 active cores, raised by support request. boat fits every scenario but the 1,000-job burst, where its start limits queue the jobs.

ScenarioGitHub CodespacesAzure Container Apps Sandboxesboat
One coding agent, workdaysNone that biteNone that biteNone that bite
One agent that never stops
  • Personal account: GitHub Free: sessions capped at 12 h
  • 3-year commitment
None that bite
50 agents in parallel
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
None that biteNone that bite
Sandboxes for your users
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
None that biteNone that bite
1,000 short jobs at once
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
None that bite
  • 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 GitHub Codespaces when

your developers want a ready VS Code environment for a GitHub repository, opened from a branch or pull request, for work sessions under 12 hours.

  • Built into GitHub. For teams on GitHub: open a ready VS Code environment from any repo, branch or pull request, set up by the dev container config.
  • Made for people at an editor. For developers who want VS Code, JupyterLab or SSH from their own editor, with prebuilds so every contributor starts from the same setup.
  • Free hours for personal accounts. For occasional personal work: a GitHub Free account includes 120 core-hours and 15 GB-month of storage each month.

Use Azure Container Apps Sandboxes when

your team runs on Azure and your code needs short stateful sandboxes that suspend with their memory, wake on traffic or sit behind strict egress rules.

  • Memory suspend and wake on traffic. For stateful jobs that sleep between requests: a sandbox suspends with its memory and resumes in under a second.
  • Fine-grained outbound rules. For agents you want to fence in: allow, deny or rewrite each outbound request by host, path and method, with VNet integration.
  • Inside Azure, in 40 regions. For teams already on Azure: Entra ID, Azure billing and your VNets, with sandboxes in 40 regions.

Where boat fits

Codespaces is a dev environment for people and Azure is a code sandbox inside your Azure account. If what you are really running is agents that work for hours on real software, with Docker, emulators, a browser and open ports, boat gives each one a full VM built for that. It is a sandbox you drive from code, not a team IDE, and it does not suspend memory like Azure.

A whole computer with /dev/kvm and a desktop

Neither Codespaces nor Azure documents /dev/kvm, so Android emulators and nested VMs are out, and neither has a graphical desktop. On both you build your own virtual display and browser stack for a computer-use agent.

Machines that keep running and keep their work

A codespace stops after 12 hours even while in use, so a long agent task needs a restart script and loses its processes. boat runs until you stop it, saves its disk every minute, and a stopped sandbox costs nothing.

Agents driven from outside, keys kept outside

Codespaces copies secrets in as environment variables, and Azure injects Copilot and Anthropic tokens into the sandbox at startup, where code the agent runs can read them. boat keeps keys in a proxy and drives agents through a prompt, steer and events API.

Use boat when your agents need a whole computer for hours or days: SSH, Docker, /dev/kvm, a desktop and open ports, with coding agents and a credentials proxy built in. Compare it one to one: boat vs GitHub Codespaces and boat vs Azure Container Apps Sandboxes.

Questions people ask

Is GitHub Codespaces cheaper than Azure Container Apps Sandboxes?

In most scenarios we priced, a little: one coding agent on workdays is $51 a month on Codespaces against $68 on Azure, and 50 agents in parallel come to $3,019 against $3,421. Running all month, Azure is $262 against $270, and neither fits as priced. boat comes to $20, $317 and $26 for the same three.

Which is faster, Codespaces or Azure Container Apps Sandboxes?

We have no comparable CPU measurement for either, so we make no speed claim. Azure resumes a suspended sandbox in under a second with its processes running, while a stopped codespace boots again on restart.

Can I run an AI agent 24/7 on either?

Not on Codespaces without restarts: a codespace stops after 12 hours at most, even while in use. Azure has no session cap, but it bills every second a sandbox runs. A boat sandbox runs until you stop it, with no session cap on paid plans.

Can they run Docker?

Codespaces runs Docker inside the dev container, and you have sudo. On Azure, Docker comes with images that ship it, like azure-dev, while the default ubuntu image has only Buildah. Neither documents /dev/kvm; every boat machine has Docker, systemd and /dev/kvm.

Can I SSH into them?

Codespaces supports SSH through the GitHub CLI. Azure gives an interactive shell through the aca CLI, the SDK or the portal, with no SSH. Every boat sandbox has an SSH endpoint.

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