GitHub Codespaces vs Beam

GitHub Codespaces is a dev environment for people: a Linux dev container for a GitHub repository, opened in VS Code or the browser, that stops after 12 hours at most. Beam is a serverless cloud you drive from a Python or TypeScript SDK, with quick gVisor sandboxes, persistent CPU VMs and GPUs.

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 bochka: 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.

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.

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 rankBeam: price rankbochka: 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 lasts; Codespaces stops every 12 hours, Beam sandboxes end with their time to live, and neither documents /dev/kvm, which bochka has on every machine.
274th of 367, with limits
$4,618 a month
69th of 367, with limits
$551 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
An assistant that lives on one machine all month does not fit Codespaces, which stops after 12 hours at most; a Beam VM or a bochka sandbox keeps its disk and keeps running.
309th of 366, with limits
$6,970 a month
115th of 366, with limits
$651 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
Beam fits short code runs well: its sandboxes start in a second or two, bill per second and go away when the timer ends, while each codespace builds a dev container on a new VM.
288th of 345, with limits
$619 a month
8th cheapest of 345
$117 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
Codespaces are made for GitHub users on a repository and GitHub does not publish how many can run at once, while Beam and bochka both hand out machines to your own users from code.
281st of 361, with limits
$1,964 a month
3rd cheapest of 361
$290 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
341st of 360, with limits
$939 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
13th cheapest of 364
$251 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
Codespaces has no fork or snapshot API, so each run starts from a repo or a prebuild; Beam can restore memory snapshots, and bochka forks a running VM that also has /dev/kvm for Android and VM builds.
314th of 377, with limits
$909 a month
12th cheapest of 377
$171 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Codespaces is a polished VS Code box per repo but stops after 12 hours at most, while a Beam VM and a bochka sandbox both keep running and keep their disk when stopped.
130th of 368, with limits
$270 a month
13th cheapest of 368
$21 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 Codespaces nor Beam has a graphical desktop, while bochka streams a 60fps Linux desktop with Chromium for computer use.
267th of 369, with limits
$1,367 a month
111th of 369, with limits
$237 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
195th of 367, with limits
$176 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
200th of 346, with limits
$131 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
42nd of 338, with limits
$923 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
267th of 360, with limits
$445 a month
175th of 360, with limits
$155 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
Beam has GPUs from RTX 4090 up to H100, H200 and B200; current Codespaces machines have no GPU, and bochka is CPU only.
Can't run itCheapest of 98
$458 a month
Can'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 CodespacesBeambochka
IsolationA Docker container on its own newly built VM, with its own virtual networkgVisor container by default for sandboxes; separate Beam VMs are CPU microVMs with their own kernelEvery sandbox is a full VM with its own kernel, on dedicated AMD Ryzen 9 9950X hosts
How long it runsStops after 30 idle minutes by default (up to 240) and after 12 hours at most, even while in useSandbox time to live is 10 minutes by default; set -1 to run until you terminate itRuns until you stop it; no session cap on paid plans
Files after a stopFiles are kept and storage is billed; stopped codespaces are deleted after 30 days by defaultA sandbox ends with its time to live unless you save an image or use a volume; a Beam VM keeps a 50 GiB root disk while stoppedDisk saved every minute and on stop; a stopped sandbox keeps it and costs nothing
Docker and systemdDocker and sudo inside the dev containerDocker inside sandboxes with docker_enabled; systemd only in Beam VMs, not in sandboxesDocker, systemd and root, like a normal Ubuntu server
Nested virtualization/dev/kvm is not documented/dev/kvm is not documentedYes, /dev/kvm for Android emulators and VMs
Fork and snapshotsNo copy or snapshot endpoint; new codespaces start from a repo, branch, pull request or prebuildMemory snapshot of a running sandbox with its processes, restored into new sandboxesFork a running sandbox with its disk; named snapshots as templates
Starting pointDev container config in the repository, with prebuilds built by GitHub ActionsA container image you choose, or a saved filesystem image or memory snapshotNamed snapshots (templates), shareable by code; no Dockerfile builds
GPUsNo GPU machine types in current docsGPU sandboxes and serverless GPUs up to H100, H200 and B200No, CPU only
Desktop and computer useVS Code in the browser or on your machine, JupyterLab and a terminal; no graphical desktopNo desktop or browser product60fps Linux desktop with Chromium, computer use and browser control
Reaching the machineA URL per forwarded port, private, organization or public; SSH and CLI tunnels; no public IPA public HTTPS URL per exposed port with no built-in auth; no raw TCP or dedicated IPHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6
Outbound internetOpen internet; GitHub says there is no way to restrict itBlock all outbound traffic, or allow up to 10 CIDR ranges, changeable while runningOpen internet on every plan; no provider-side allowlist
Coding agentsGitHub Copilot as a VS Code extension; other agents you install and run yourselfNone preinstalled; you install and run them through process execClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping keys out of the machineSecrets are copied into the codespace as environment variablesSecrets are exposed as environment variables inside the sandboxCredentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out
RegionsUS East, US West, Europe West and Southeast AsiaUS only; no other region is listedEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureGitHub CodespacesBeambochka
Full VM (own kernel)YesNoYes
Docker insideYesYesYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdNot publishedNoYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesNoYes
Automatic snapshotsNoNoYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsNoYesYes
Idle auto-stopYesNoNo
Wake on requestNoNoNo
HTTPS preview URLsYesYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistNoYesNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverNoYesNo
GPUNoYesNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoYesNo
BYOCNoYesNo
Open sourceNoYesNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesNot publishedYes
Usage per sandbox (API)NoNoYes
Audit logsYesNot publishedNo
SSOYesNoNo
SOC 2YesYesNo
HIPAANoYesNo
EU data residencyYesNot publishedYes
Zero data retentionNot publishedNot publishedYes

Performance

GitHub CodespacesNot measured
BeamNot measured
bochka26.69 runs/s

There is no comparable CPU measurement for GitHub Codespaces or Beam: neither has a result on the StarSling hpc-sandbox-benchmarks test, so we cannot say which is faster at CPU work. bochka did 26.69 Node.js build-and-test runs per second on that test at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. Beam's own guide says its sandboxes cold-boot in 1 to 3 seconds.

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 Beam 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 monthBeam, a monthbochka, 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$5 · Developer$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$22 · Developer$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$410 · Team$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$191 · Team$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$259 · Team$2,000 · $2000/mo · with limits

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

Beam: Beam sandboxes bill per second for each CPU core (two vCPU) and each GiB of RAM you request, until you terminate them or their time to live ends, so an idle tail is billed too. Developer has no fee, Team costs $89 a month plus usage with no usage credit, and there are no egress fees.

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

Limits in those scenarios

Every codespace stops after 12 hours at most, so the always-on price for Codespaces assumes a script that restarts it, and running processes end at each stop. GitHub does not publish how many codespaces can run at once, so 300 user sandboxes and 1,000 short jobs are not confirmed. Beam's Developer plan allows 30 CPU containers at once, so 50 agents need the Team plan, and Beam publishes no price for extra disk, so the scenarios count none. bochka's start limits queue the 1,000-job burst, which Beam's Team plan fits.

ScenarioGitHub CodespacesBeambochka
One coding agent, workdaysNone that bite
  • disk beyond 0 GiB: price unknown
None that bite
One agent that never stops
  • Personal account: GitHub Free: sessions capped at 12 h
  • disk beyond 0 GiB: price unknown
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)
  • disk beyond 0 GiB: price unknown
None that bite
Sandboxes for your users
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
  • disk beyond 0 GiB: price unknown
None 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)
  • disk beyond 0 GiB: price unknown
  • 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, in the US, EU or Asia.

  • Built into GitHub. For teams on GitHub: open a ready VS Code setup from any repo, branch or pull request, with prebuilds from GitHub Actions.
  • 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.
  • Regions in the US, EU and Asia. For developers spread around the world: codespaces run in US East, US West, Europe West and Southeast Asia.

Use Beam when

you need GPUs, many short sandboxes that start in seconds, US hosting with outbound rules, or a runtime you can self-host.

  • GPUs in the same platform. For work that needs a GPU: Beam offers GPU sandboxes and serverless GPUs from RTX 4090 up to H100, H200 and B200.
  • Quick sandboxes for short jobs. For many short code runs: sandboxes start in a second or two, bill per second and end on their own timer.
  • Open source and your own cloud. For teams that must self-host: the Beta9 runtime is AGPL-3.0, and Beam can also run in your own cloud for a fee.

Where bochka fits

Codespaces is built for people editing a repo, and Beam is built around serverless jobs and GPUs. If what you are really running is coding agents that work for hours, install tools, run Docker and need a screen, bochka gives each one a full VM built for that. Pick Beam instead when you need GPUs, and Codespaces when your developers want a VS Code box per repo.

Machines that keep running and keep their work

A codespace stops at 12 hours even while in use, so a long agent task needs a restart script and loses its processes. A Beam sandbox ends with its time to live unless you save an image. bochka runs until you stop it and saves the disk every minute.

A full VM with systemd and /dev/kvm

A codespace is a dev container and a Beam sandbox is a gVisor container without systemd; neither documents /dev/kvm, so Android emulators and nested VMs have nothing to start on. Every bochka sandbox has its own kernel, systemd, Docker and /dev/kvm.

Agents, desktop and keys built in

On both, you install and drive each agent yourself, there is no desktop for computer use, and API keys sit in environment variables any code can read. bochka ships agents with a prompt API, a 60fps desktop, and keeps keys outside in a proxy.

Use bochka when your code starts and drives agents that work for hours or days: full VMs with systemd and /dev/kvm, a desktop and open ports, built-in coding agents with keys kept outside, and a disk that is still there the next time it starts. Compare it one to one: bochka vs GitHub Codespaces and bochka vs Beam.

Questions people ask

Is GitHub Codespaces cheaper than Beam?

No, Beam costs less in all five scenarios we priced. One coding agent on workdays is $51 a month on Codespaces against $5 on Beam, and 50 agents in parallel come to $3,019 against $410. Beam publishes no price for extra disk, so its figures count none, and bochka sits close to Beam, at $20 and $317 for those two.

Which is faster, Codespaces or Beam?

We cannot say for CPU work: neither has a result on the StarSling benchmark we use. Beam's guide says its sandboxes cold-boot in 1 to 3 seconds, while a codespace builds a dev container on a new VM, which prebuilds speed up. bochka did 26.69 runs per second on that benchmark.

Can I run an AI agent 24/7 on Codespaces or Beam?

Not on Codespaces without restarts: a codespace stops after 12 hours at most, even while in use. On Beam you can set a sandbox's time to live to -1 so it runs until you terminate it, or use a Beam VM that keeps its disk. A bochka sandbox runs until you stop it, with no session cap on paid plans.

Can Codespaces and Beam run Docker?

Yes. Docker works inside a codespace's dev container with sudo, and Beam supports Docker inside a sandbox with docker_enabled. Neither documents /dev/kvm, which every bochka machine has along with Docker and systemd.

Do Codespaces or Beam have GPUs?

Beam does, with GPU sandboxes and serverless GPUs up to H100, H200 and B200. Current Codespaces docs list no GPU machine types, and bochka is CPU only, so pick Beam for GPU work.

Where do Codespaces and Beam run?

Codespaces runs in US East, US West, Europe West and Southeast Asia, and you pick the region when you create one. Beam runs on AWS and Google Cloud in the United States, with no other region listed. bochka runs only in the EU, in Germany, Finland and France.

Try bochka

Install the CLI, then run bochka new.

Product preview

More comparisons

Bochka product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.