OpenAI Containers vs Azure Container Apps Sandboxes

OpenAI Containers are a tool inside OpenAI's model API: the model runs code in a short-lived box with no sudo, and the box is deleted after 20 idle minutes. Azure Container Apps Sandboxes are microVMs in your Azure account that you create, suspend with their memory and resume through an SDK.

The companies and products

OpenAI Containers

OpenAI Containers are the sandboxes OpenAI runs for its own model tools: Code Interpreter, Hosted Shell and the Agents API's hosted sandbox.

This is a different kind of product from boat: a tool inside OpenAI's model API, not a machine you rent. You create a container through the API or let a Responses call make one, and the model runs Python or shell commands in it on a fixed Debian 12 image without sudo, until it expires after 20 minutes without use. It is built for apps that already call OpenAI models and want them to run code, read files and make charts without running any servers.

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. “356th cheapest of 367” means 355 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 workloadOpenAI Containers: 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 coding agent that installs packages and runs Docker for days loses everything when an OpenAI container expires; Azure keeps its disk, and boat adds SSH, /dev/kvm and a desktop.
356th of 367, with limits
$17,371 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 has to touch an OpenAI container every 20 minutes or lose it; Azure and boat both keep the machine, and boat adds a desktop and SSH.
341st of 366, with limits
$13,140 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
This is the one job OpenAI Containers are built for, but Azure fits it fully too, with short runs that suspend with their memory and resume in under a second.
194th of 345, with limits
$6,000 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 public HTTPS ports and memory suspend; OpenAI containers take no inbound connections, so users cannot open what runs inside.
361st of 361, with limits
$3,780 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
191st of 360, with limits
$30,000 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
Evals need open internet and a clean machine per run; Azure gives both, while OpenAI's Code Interpreter and Hosted Shell containers start with no outbound access.
360th of 364, with limits
$5,760 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 needs Docker, root and open internet; OpenAI documents none of them, Azure has Docker only on images that ship it, and boat also has /dev/kvm for Android builds.
345th of 377, with limits
$1,728 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 dev box you SSH into and keep all month fits neither well: OpenAI has no SSH or persistent disk, and Azure gives a shell only through its CLI, SDK or portal.
362nd of 368, with limits
$1,051 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
OpenAI has a hosted browser for computer use inside the Agents API beta, Azure's sandboxes are headless, and boat streams a full 60fps desktop.
351st of 369, with limits
$5,280 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
328th of 367, with limits
$1,440 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
328th of 346, with limits
$1,755 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
311th of 338, with limits
$35,100 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
308th of 360, with limits
$870 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

FeatureOpenAI ContainersAzure Container Apps Sandboxesboat
What it isA sandbox tool the model uses inside OpenAI's APIA microVM compute type inside Azure Container Apps, managed through an SDKA cloud VM you create, keep, stop and reach from outside
IsolationA fully sandboxed virtual machine; hypervisor not namedMicroVM per sandbox with its own kernelFull VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts
Root and DockerCommands do not run with sudo; no Docker documentedDepends on the image: azure-dev ships Docker on systemd; the default ubuntu image has only BuildahRoot, systemd and Docker on every sandbox
Nested virtualizationNot documentedNot documented/dev/kvm for Android emulators and VMs
Machine size1, 4, 16 or 64 GB of memory; vCPU not publishedTiers from 0.25 cores / 0.5 GB to 4 cores / 8 GB; up to 16 vCPU / 32 GB by API4 vCPU / 8 GB by default, up to 16 vCPU / 32 GB
Files after the sessionData is discarded when the container expires and cannot be recoveredSuspend with memory and disk; resume in under a second with processes runningDisk saved every minute and on stop; a stopped sandbox costs nothing and comes back
Lifetime and idleExpires after 20 minutes without useNo session cap; auto-suspends after an idle timeout and wakes on trafficNo session cap on paid plans; you set the auto-stop timer
ForkNo forkSnapshot a running sandbox with its memory and create new sandboxes from itFork a running sandbox with its disk
Inbound accessNone; you reach the container only through the APIPublic HTTPS routes per published port; shell through the aca CLI, SDK or portal; no SSHSSH, HTTPS URLs for up to 50 ports, raw TCP
Outbound internetCode Interpreter and Hosted Shell: off until an admin sets a domain allowlist; Agents API sandboxes open by defaultOpen, with an egress policy that can allow, deny or rewrite requests by host, path and method; VNet integrationOpen internet on every plan; no provider-side allowlist
Keeping API keys out of the sandboxdomain_secrets: a sidecar adds the real header for approved domainsGroup secrets 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
Coding agentsAgents API (beta) drives a managed Codex harness from outsideCopilot CLI and Claude Code images, run through the exec APIClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Desktop and computer useHosted browser for the Agents API computer_use toolHeadless; no desktop or managed browser60fps Linux desktop, Chromium and computer-use tools, embeddable stream
RegionsUS or EU processing for Code Interpreter; Agents API data residency in the US only40 Azure regions, 9 of them in the EUEU only (Germany, Finland, France)
Every feature Battleships tracks (43)
FeatureOpenAI ContainersAzure Container Apps Sandboxesboat
Full VM (own kernel)YesYesYes
Docker insideNoYesYes
Nested virtualizationNoNoYes
RootNoYesYes
SystemdNot publishedYesYes
Desktop GUIYesNoYes
BrowserYesNoYes
Computer-use APIYesNoYes
SSHNoNoYes
Persistent diskNoYesYes
Pause/resumeNoYesYes
Automatic snapshotsNoYesYes
Fork/cloneNoYesYes
Live fork (no pause)NoYesYes
Memory forkNoYesNo
Custom image (Docker or snapshot)NoYesYes
≥24 h sessionsYesYesYes
Idle auto-stopYesYesNo
Wake on requestNoYesNo
HTTPS preview URLsNoYesYes
Raw TCP inboundNoNoYes
Public IPv4NoNoNo
Egress allowlistYesYesNo
Secret proxyYesYesYes
Secret proxy for any APIYesYesYes
Preinstalled agentsNoYesYes
Agent harness APIYesNoYes
MCP serverNoNoNo
GPUNoNoNo
WindowsNoNoNo
Arm64NoNoNo
Self-hostingYesNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedYesYes
Usage per sandbox (API)NoYesYes
Audit logsNot publishedYesNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

OpenAI ContainersNot measured
Azure Container Apps SandboxesNot measured
boat26.69 runs/s

There is no comparable measurement for either: OpenAI Containers and Azure Container Apps Sandboxes are not in the public CPU benchmark, and OpenAI does not publish the vCPU behind each container size. boat did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. This page makes no speed claim between the two.

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

ScenarioOpenAI Containers, 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
$228 · API pay as you go · 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
$1,051 · API pay as you go · 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
$11,405 · API pay as you go · 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
$1,620 · API pay as you go · 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 · API pay as you go · with limits$2,148 · Pay-as-you-go$2,000 · $2000/mo · with limits

OpenAI Containers: OpenAI bills each container session by the minute for the memory size you pick, with a 5-minute minimum, and model tokens are billed on top. There is no plan fee, and the scenarios use the 16 GB size for 8 GB needs since vCPU is not published.

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, including idle time before auto-suspend (5 minutes by default). There is no plan fee, 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 spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.

Limits in those scenarios

OpenAI Containers fit none of the five scenarios as written: no persistent disk, no Docker, no open internet in Code Interpreter and Hosted Shell, and no published vCPU or concurrency cap, so 300 user sandboxes and a 1,000-job burst are unconfirmed. Azure fits four of the five; the always-on agent only gets close with a 3-year commitment, Docker means picking an image like azure-dev, and a default quota of 500 active cores caps a fleet until support raises it. boat fits every scenario but the 1,000-job burst, where its start limits queue the starts.

ScenarioOpenAI ContainersAzure Container Apps Sandboxesboat
One coding agent, workdays
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • missing persistent disk
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
One agent that never stops
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • missing persistent disk
  • machine size not published
  • different kind of product: code interpreter
  • 3-year commitment
None that bite
50 agents in parallel
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • missing persistent disk, Docker inside
  • machine size not published
  • different kind of product: code interpreter
None that biteNone that bite
Sandboxes for your users
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • machine size not published
  • different kind of product: code interpreter
  • 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
  • no open internet: sandboxes reach only an allowlist (domains your org admin adds to the allow list)
  • machine size not published
  • different kind of product: code interpreter
  • 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 OpenAI Containers when

your app already calls OpenAI models and the model only needs to run short pieces of code or shell commands on files you give it.

  • Built into the model call. For apps that already call OpenAI models: one tool line in a request gives the model a place to run code.
  • Closed network by default. For code that must reach only chosen hosts: Code Interpreter and Hosted Shell have no outbound access until an admin allows domains.
  • Your own compute. For teams that want the harness but not the hosting: the Agents API can drive a sandbox on machines you run.

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.

  • A machine that keeps its state. 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 held to set hosts: its egress policy can allow, deny or rewrite each request by host, path and method.
  • Inside Azure, in 40 regions. For teams already on Azure: Entra ID, Azure billing and VNets, in 40 regions on six continents.

Where boat fits

If what you are really running is coding agents that work for hours or days, neither option gives them a whole computer. OpenAI Containers are a short-lived tool for the model, and Azure's sandboxes are headless microVMs reached through its CLI. boat gives each agent a full VM with root, Docker, /dev/kvm, SSH and a desktop, with coding agents and a credentials proxy built in.

A whole machine it keeps

On OpenAI an agent has no sudo or Docker, and its files are gone 20 idle minutes later. Azure keeps the disk but has Docker only on some images and no documented /dev/kvm, so Android emulators and nested VMs cannot start.

Reachable and on screen

OpenAI containers take no inbound connections, and Azure has no SSH, raw TCP or desktop, so editors and computer-use agents need workarounds through its exec API and your own display stack. boat has SSH, 50 HTTPS ports, raw TCP and a 60fps desktop.

Agents and keys built in

OpenAI drives only its own Codex harness, and Azure runs agent images through raw exec with tokens injected into the sandbox, where a prompt-injected agent can read them. boat preinstalls seven agents and keeps real keys in a proxy outside.

Use boat when your agents need a whole computer for real work: root, Docker, /dev/kvm, SSH, a desktop and a disk that stays, with coding agents and a credentials proxy built in. Compare it one to one: boat vs OpenAI Containers and boat vs Azure Container Apps Sandboxes.

Questions people ask

Is OpenAI Containers cheaper than Azure Container Apps Sandboxes?

Not in the scenarios on this page: one coding agent on workdays comes to $228 a month on OpenAI and $68 on Azure, and 50 agents in parallel come to $11,405 versus $3,421. OpenAI also bills model tokens on top. boat comes to $20 and $317 for the same two.

Which is faster?

Neither has a comparable CPU measurement, and OpenAI does not publish the vCPU behind its container sizes, so no speed claim can be made between them. boat did 26.69 runs per second on the same public benchmark at 4 vCPU / 8 GB.

Can OpenAI Containers or Azure sandboxes run Docker?

OpenAI's docs say hosted shell commands do not run with sudo, and no Docker support is documented. On Azure, the azure-dev image ships Docker on systemd, while the default ubuntu image has only Buildah. boat runs Docker on every sandbox and also exposes /dev/kvm.

How long does a sandbox last on each?

An OpenAI container expires after 20 minutes without use, and its data is discarded. An Azure sandbox has no session cap; it suspends when idle with its memory and disk and wakes on traffic. boat has no session cap on paid plans and keeps the disk when a sandbox stops.

Can I SSH into either?

No. OpenAI containers are reached only through the API, and Azure gives an interactive shell through the aca CLI, the SDK or the portal. Every boat sandbox has SSH, HTTPS URLs for up to 50 ports and raw TCP.

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