Together Code Sandbox vs Azure Container Apps Sandboxes

Together Code Sandbox runs VMs that Together must turn on for your organization, and its only self-serve product is a Python runner with 60-minute sessions. Azure Container Apps Sandboxes is open to any Azure account and gives each agent a microVM that suspends with its memory and wakes on traffic.

The companies and products

Together Code Sandbox

Together AI is a cloud for running and training AI models, and Code Sandbox is its product for running code in isolated VMs.

You build a snapshot from a Docker image or Dockerfile on Together's builder, then start sandboxes from it and run commands and file operations through the together-sandbox SDK or CLI. When a sandbox ends you can save its disk, and its memory too, as a new snapshot to start more sandboxes from. It is aimed at model-generated code, agent tool calls and reinforcement learning rollouts, and it must be enabled for your organization by Together. Together also sells Code Interpreter, a separate API that runs Python code in short sessions.

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. “65th cheapest of 367” means 64 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 workloadTogether Code Sandbox: 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
A software factory needs Docker, root and often /dev/kvm for hours; Azure's azure-dev image ships Docker, Together's 60-minute Python sessions do not fit, and only boat adds /dev/kvm.
65th of 367, with limits
$528 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 assistant that lives on its machine all month cannot run in a 60-minute Together session, and on Azure it bills every running second; boat keeps it running with a desktop and SSH.
152nd of 366, with limits
$1,095 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 well, with sandboxes that suspend with their memory and wake on traffic, while Together's Code Interpreter runs only Python, billed per 60-minute session.
326th of 345, with limits
$2,190 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 and suspends idle ones with their memory; Together's self-serve option runs only Python, and boat gives each user hosting on up to 50 ports.
234th of 361, with limits
$900 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
Both can save a sandbox with its memory and start many copies from it, but Together's VM product needs Together to enable it, and Azure's default quota is 500 active cores.
315th of 360, with limits
$21,900 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
Azure fits agent evals with its Claude Code and Copilot images; Together documents a Harbor guide for its gated VMs, and boat ships the agents with a prompt, steer and events API.
258th of 364, with limits
$450 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
251st of 377, with limits
$180 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
210th of 368, with limits
$22 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, and neither Together nor Azure offers a desktop; boat streams a Linux desktop at 60fps with Chromium.
184th of 369, with limits
$600 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
On both Together and Azure you install a headless browser in your own image; boat ships Chromium on a full desktop in every sandbox.
301st of 367, with limits
$900 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
219th of 346, with limits
$180 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
124th of 338, with limits
$3,600 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
167th of 360, with limits
$150 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

FeatureTogether Code SandboxAzure Container Apps Sandboxesboat
Getting startedVM SDK must be enabled for your organization by Together; Code Interpreter is self-serve with prepaid creditsAny Azure subscription with an Entra ID account and the SandboxGroup Data Owner roleSign up with GitHub, Google or an emailed code and start a sandbox from the API, CLI or dashboard
IsolationA VM per sandbox on Together's infrastructureMicroVM per sandbox with its own kernelFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Machine size0.1 to 16 cores, 1 to 8 GB per core; Code Interpreter size not publishedTiers from 0.25 cores / 0.5 GB to 4 cores / 8 GB; up to 16 vCPU / 32 GB by API2 to 16 vCPU with 2 GB per vCPU, up to 16 vCPU / 32 GB on the $100 plan and above
Docker, root and systemdCommands run as user 1000 by default, root on request; Docker inside not documentedDepends on the image: azure-dev ships Docker on systemd; the default ubuntu image has only BuildahDocker, systemd and root on every sandbox
Nested virtualizationNot documentedNot documentedYes, /dev/kvm for Android emulators and VMs
Shell accessCommands, interactive shells and files through the SDK and CLI; no SSHInteractive shell through the aca CLI, SDK or portal; no SSHSSH, plus exec and files over the API
Saving stateEnd a sandbox with a snapshot of its disk, or disk and memorySuspend with memory and disk; resume in under a second with processes runningDisk saved every minute and on stop; a stopped sandbox costs nothing; resume boots the machine again
Idle and wakeTime to live counts from creation; no idle detection and no wake on requestAuto-suspend after an idle timeout; network traffic or a start command brings it backAuto-stop timer you set; a stopped sandbox is started by API
ForkNo live fork: the parent stops, then you start many sandboxes from its snapshotSnapshot a running sandbox with its memory and create new sandboxes from itFork a running sandbox with its disk; the original keeps running
Reaching the sandboxAll ports public; preview URLs coming soon; an experimental inbound allowlistPublic HTTPS routes per published port; private endpoint from your VNet at extra cost; no public IPHTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6
Outbound rulesNo egress allowlist documentedEgress policy with allow, deny, rewrite and header rules by host, path and method; VNet integrationOpen internet, no provider-side allowlist
Desktop and browserNone; headless command and file access onlyHeadless; no desktop or managed browserLinux desktop streamed at 60fps, Chromium and computer-use tools
Coding agents and keysRun your own agent through execs; no credentials proxy documentedCopilot CLI and Claude Code images run through exec; their tokens are injected into the sandbox at startupSeven agents preinstalled with a prompt, steer and events API; a credentials proxy keeps model and any HTTPS API keys outside
Hosted Python runnerCode Interpreter API runs Python in sessions billed per 60 minutesNo separate runner; run code through exec in a sandboxNo separate product; run code through exec in a sandbox
Every feature Battleships tracks (43)
FeatureTogether Code SandboxAzure Container Apps Sandboxesboat
Full VM (own kernel)YesYesYes
Docker insideNot publishedYesYes
Nested virtualizationNoNoYes
RootYesYesYes
SystemdNot publishedYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHNoNoYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoYesYes
Fork/cloneYesYesYes
Live fork (no pause)NoYesYes
Memory forkYesYesNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopNoYesNo
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 serverYesNoNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsYesYesYes
Usage per sandbox (API)YesYesYes
Audit logsNot publishedYesNo
SSOYesYesNo
SOC 2YesYesNo
HIPAANoYesNo
EU data residencyNot publishedYesYes
Zero data retentionNot publishedNot publishedYes

Performance

Together Code SandboxNot measured
Azure Container Apps SandboxesNot measured
boat26.69 runs/s

There is no comparable CPU measurement for Together Code Sandbox or for Azure Container Apps Sandboxes, so this page makes no speed claim between them. boat did 26.69 runs per second on the StarSling hpc-sandbox-benchmarks Node.js test at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts.

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

ScenarioTogether Code Sandbox, 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
$5 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits$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 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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
$264 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits$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
$900 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · 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
$6,000 · Together pay-as-you-go (prepaid credits; Code Interpreter only) · with limits$2,148 · Pay-as-you-go$2,000 · $2000/mo · with limits

Together Code Sandbox: Together's VMs must be enabled for your organization, so the table prices Code Interpreter, its only self-serve product: $0.03 per 60-minute session from prepaid credits, with a $5 minimum purchase. It runs only Python and keeps no disk, so it does not fit these scenarios.

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 stopped sandboxes pay no CPU or memory.

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

Limits in those scenarios

The Together column is Code Interpreter, so it fails every scenario: sessions last 60 minutes, nothing is kept after a session, it runs only Python and its machine size is not published. Azure fits most scenarios, but the always-on one only gets close with a 3-year commitment, Docker needs an image like azure-dev, and a default quota of 500 active cores caps a fleet until support raises it. For 1,000 short jobs at once Azure fits at $2,148 a month, while boat's $2,000 plan queues starts.

ScenarioTogether Code SandboxAzure Container Apps Sandboxesboat
One coding agent, workdays
  • Together pay-as-you-go (prepaid credits; Code Interpreter only): sessions capped at 1 h
  • missing persistent disk
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
One agent that never stops
  • Together pay-as-you-go (prepaid credits; Code Interpreter only): sessions capped at 1 h
  • missing persistent disk
  • machine size not published
  • different kind of product: code interpreter
  • 3-year commitment
None that bite
50 agents in parallel
  • Together pay-as-you-go (prepaid credits; Code Interpreter only): sessions capped at 1 h
  • missing persistent disk, Docker inside
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
Sandboxes for your users
  • machine size not published
  • different kind of product: code interpreter
  • machine size per session not published
  • egress price not published
None that biteNone that bite
1,000 short jobs at once
  • machine size not published
  • different kind of product: code interpreter
  • machine size per session not published
  • egress price not published
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 Together Code Sandbox when

you already run models on Together and want a simple Python runner billed per session, or when Together enables its VMs for you and you want tiny sandboxes saved with their memory.

  • Sandboxes next to your models. Handy if you already run inference or fine-tuning on Together: sandboxes and models share one account and API key.
  • A Python runner with no VM to manage. For plain Python snippets, the Code Interpreter API runs code in sessions billed per 60 minutes from prepaid credits.
  • Very small machines. Once enabled, a Together sandbox can be as small as a tenth of a core, which suits many light tasks.

Use Azure Container Apps Sandboxes when

your team already runs on Azure and wants 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 request by host, path and method, with VNet integration.
  • Open to any Azure team, in 40 regions. Teams already on Azure get Entra ID, Azure billing and VNets, in 40 regions on six continents, with no access request.

Where boat fits

Together and Azure both lean toward short code runs: Together sells a Python runner and gates its VMs, and Azure is best at sandboxes that sleep between requests. If your agents work for hours on installs, builds, emulators, a browser and servers other people reach, look at boat, a whole machine you can start today with the agent and its keys already set up.

A whole machine with SSH and /dev/kvm

Neither Together nor Azure documents nested virtualization or offers SSH, so Android emulators and VM tests do not start, and remote editors need workarounds through exec. On Together, Docker inside is not documented either.

A desktop and a browser for every agent

Both Together and Azure are headless. A computer-use or browser agent there needs you to build a browser, a virtual display and a streaming stack into your own image, then keep them working.

Agents driven from outside, keys kept outside

On Together you wire your own harness through execs, and Azure injects Copilot and Anthropic tokens into the sandbox at startup, where a prompt-injected agent can read them. boat keeps real keys in a credentials proxy outside the sandbox.

Use boat when your agents need a whole computer for real work: SSH, Docker, /dev/kvm, a desktop and a browser, hosting on 50 ports, with coding agents and a credentials proxy built in. Compare it one to one: boat vs Together Code Sandbox and boat vs Azure Container Apps Sandboxes.

Questions people ask

Is Together Code Sandbox cheaper than Azure Container Apps Sandboxes?

Together's self-serve price is Code Interpreter, which does not fit these scenarios because sessions end after 60 minutes and keep no disk. It looks cheaper for 50 agents, $264 against $3,421 a month on Azure, but costs more for 1,000 short jobs at once: $6,000 against $2,148. boat costs $317 a month for the 50 agents.

Which is faster, Together Code Sandbox or Azure Container Apps Sandboxes?

Neither has a comparable CPU measurement, so there is no fair answer yet. boat did 26.69 runs per second on the StarSling Node.js test at 4 vCPU / 8 GB.

Can I run Docker in Together Code Sandbox or Azure?

On Azure, the azure-dev image ships Docker on systemd, and the default ubuntu image has only Buildah. Together builds sandboxes from Docker images, but its new SDK does not document Docker inside a sandbox. boat runs Docker on every sandbox and also exposes /dev/kvm.

Can I sign up for Together Code Sandbox today?

The Code Sandbox VMs must be enabled for your organization, so you ask Together for access. Code Interpreter is self-serve with prepaid credits. Azure's sandboxes need only an Azure subscription and an Entra ID account.

Which one saves a sandbox with its memory?

Both. Together saves disk and memory as a snapshot when a sandbox ends, and Azure suspends a running sandbox with its memory and resumes it in under a second, waking on traffic. boat saves the disk every minute and on stop, and resuming boots the machine again.

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