Azure Container Apps Sandboxes vs Upstash Box
Azure gives each sandbox a microVM with its own kernel that suspends with its memory, inside your Azure account in 40 regions. Upstash Box gives each agent a light Docker container in AWS us-east-1 that pauses when idle, bills only the CPU it uses and comes with coding agents built in.
The companies and products
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.
Upstash Box
Upstash Box is a cloud computer for AI agents from Upstash, the company known for serverless Redis, Vector and QStash.
Each box is a Docker container with its own filesystem, shell, git and an optional coding agent such as Claude Code, Codex or OpenCode, which you drive from TypeScript or Python SDKs. A box pauses when it sits idle, keeps its files, and you pay for the CPU it actually uses. Upstash built it to run its own Context7 service and opened it to everyone in March 2026.
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. “34th cheapest of 345” means 33 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 | Azure Container Apps Sandboxes: price rank | Upstash Box: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory needs Docker and long builds; Upstash has no Docker inside, Azure needs the azure-dev image for it, and bochka has Docker and /dev/kvm on every sandbox. | 288th of 367, with limits $5,276 a month | 61st of 367, with limits $464 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 302nd of 366, with limits $6,544 a month | 103rd of 366, with limits $475 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; Upstash ranks 10th and Azure 34th, and Azure is the one that can suspend a running interpreter with its memory. | 34th cheapest of 345 $354 a month | 10th cheapest of 345 $119 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; bochka ranks 1st and Upstash 2nd at close prices, while Azure ranks 22nd at about ten times Upstash's cost. | 22nd cheapest of 361 $2,260 a month | 2nd cheapest of 361 $222 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 | 153rd of 360, with limits $10,740 a month | 352nd of 360, with limits $8,068 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 All three fit agent evals; bochka ranks 10th, Upstash 52nd and Azure 75th. | 75th cheapest of 364 $1,728 a month | 52nd cheapest of 364 $1,011 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 Neither Azure nor Upstash documents nested virtualization for Android or VM builds, and Upstash has no Docker inside; bochka ranks 4th here with both. | 103rd cheapest of 377 $1,046 a month | 120th cheapest of 377 $1,520 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A flat-price keep-alive box makes Upstash a cheap light dev box, while Azure bills a running sandbox every second and has no SSH. | 322nd of 368, with limits $262 a month | 10th cheapest of 368 $20 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 Both are headless with no desktop; bochka streams a Linux desktop at 60fps so a computer-use agent has a screen to look at. | 279th of 369, with limits $1,573 a month | 73rd of 369, with limits $76 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 Upstash ships a managed headless Chromium with AI page actions, Azure ships no browser image, and bochka gives the agent a desktop browser it can see. | 288th of 367, with limits $795 a month | 49th of 367, with limits $38 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 | 284th of 346, with limits $561 a month | 37th cheapest of 346 $400 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 | 239th of 338, with limits $10,956 a month | 200th of 338, with limits $8,000 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 | 278th of 360, with limits $517 a month | 225th of 360, with limits $259 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 it | 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 | Azure Container Apps Sandboxes | Upstash Box | bochka |
|---|---|---|---|
| Isolation | MicroVM per sandbox with its own kernel | Docker container per box on AWS | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Docker inside | Depends on the image: azure-dev ships Docker on systemd; the default ubuntu image has only Buildah | Not documented; the box is itself a Docker container, and custom images are listed as coming soon | Docker, systemd and root on every sandbox |
| Nested virtualization | Not documented | No; boxes are containers with no VM support documented | Yes, /dev/kvm for Android emulators and VMs |
| Getting a shell | Interactive shell through the aca CLI, SDK or portal; no SSH | SSH through a gateway, plus SDK exec | SSH, plus CLI and API exec |
| Biggest machine | Tiers up to 4 cores / 8 GB; up to 16 vCPU / 32 GB by API | Large: 8 vCPU / 16 GB | Up to 16 vCPU / 32 GB on the $100 plan and above |
| Suspend and resume | Suspend with memory and disk; resume in under a second with processes running | Pauses itself when idle and keeps its files; storage keeps billing while paused | Disk saved every minute and on stop; a stopped sandbox costs nothing |
| Wake on request | Yes; network traffic or a start command brings a suspended sandbox back | Yes; a request to a public URL resumes a paused box and waits for the app | No; a stopped sandbox is started by API |
| Fork | Snapshot a running sandbox with its memory and create new sandboxes from it | Snapshot a running box's files and start many new boxes from it | Fork a running sandbox with its disk |
| Desktop and browser | Headless; no desktop or managed browser | Managed headless Chromium with AI page actions and CDP; no desktop | Linux desktop streamed at 60fps, Chromium and computer-use tools preinstalled |
| Inbound access | Public HTTPS routes per published port; private endpoint from your VNet at extra cost; no public IP | HTTPS URL per port, public unless you add a token or basic auth; no raw TCP | HTTPS URLs for up to 50 ports, token-protected by default; raw TCP; dedicated IPv4 or IPv6 |
| Outbound rules | Allow, deny, rewrite and header rules by host, path and method; VNet integration | Allow all, deny all, or allow and deny by domain and CIDR, changeable on a running box | Open internet, no provider-side allowlist |
| Coding agents | Copilot CLI and Claude Code images, run through the exec API | Claude Code, Codex and OpenCode built in, with run and stream APIs, webhooks and scheduled prompts | Seven agents preinstalled, with a prompt, steer and events API |
| Keeping API keys out of the sandbox | Group secrets usable in egress header transforms; Copilot and Anthropic tokens are injected into the sandbox at startup | Host proxy injects headers into outbound HTTPS on port 443; set when the box is created | Credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Regions | 40 Azure regions, 9 of them in the EU | US only (AWS us-east-1) | EU only (Germany, Finland, France) |
Every feature Battleships tracks (43)
| Feature | Azure Container Apps Sandboxes | Upstash Box | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | No | Yes |
| Docker inside | Yes | No | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Not published | Yes |
| Systemd | Yes | Not published | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | Yes | Yes |
| Computer-use API | No | No | Yes |
| SSH | No | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | Yes | No | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | Yes | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | Yes | 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 | Yes | Yes | Yes |
| Secret proxy for any API | Yes | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | No | Yes | Yes |
| MCP server | No | Yes | No |
| GPU | No | No | No |
| Windows | No | No | No |
| Arm64 | No | Yes | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Not published | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | No | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
Neither Azure Container Apps Sandboxes nor Upstash Box has a result on the hpc-sandbox-benchmarks CPU test, so there is no comparable speed measurement between them. bochka did 26.69 runs per second on that Node.js build-and-test loop at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts. This page makes no speed claim about Azure or Upstash.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Azure Container Apps Sandboxes and Upstash Box 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 | Azure Container Apps Sandboxes, a month | Upstash Box, a month | bochka, 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 | $68 · Pay-as-you-go | $21 · Pay as You Go | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $262 · Pay-as-you-go · with limits | $21 · Pay as You Go | $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,421 · Pay-as-you-go | $900 · Pay as You Go · with limits | $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 | $989 · Pay-as-you-go | $306 · 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 | $2,148 · Pay-as-you-go | $1,822 · Pay as You Go | $2,000 · $2000/mo · with limits |
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, stopped sandboxes pay no CPU or memory, and some regions such as West Europe and UK South charge more.
Upstash Box: A standard box is billed for the CPU it actually uses, at $0.10, $0.20 or $0.40 per active CPU hour for Small, Medium and Large, plus $0.10 per GB-month of storage, and RAM is free. A keep-alive box costs a flat $8, $16 or $32 a month whether it is busy or not.
Limits in those scenarios
Azure bills a running sandbox every second until it suspends, so one agent that never stops costs $262 a month and only gets close with a 3-year commitment. A default quota of 500 active cores also caps an Azure fleet until support raises it. Upstash has no Docker inside a box, so the 50-agent scenario does not fit there, its disks stop at 5, 10 or 20 GB by size, and its egress price is not published.
| Scenario | Azure Container Apps Sandboxes | Upstash Box | bochka |
|---|---|---|---|
| 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 Azure Container Apps Sandboxes when
your team already runs on Azure and wants sandboxes that suspend with their memory, sit behind strict egress rules and VNets, or run in many regions.
- Memory suspend in under a second. Good for stateful jobs that sleep between requests: a sandbox suspends with its memory and resumes with its processes running.
- Fine-grained outbound rules. Its egress policy can allow, deny or rewrite outbound requests by host, path and method, and reach your private Azure networks.
- Inside Azure, in 40 regions. Teams already on Azure get Entra ID, Azure billing and VNets, with sandboxes in 40 regions including 9 in the EU.
Use Upstash Box when
your agents mostly wait, should wake on an incoming request, need coding agents ready to drive from an SDK, and can run in the US.
- Idle costs no CPU. Good for agents that wait a lot: Upstash bills only the CPU a box uses, RAM is free, and a request wakes a paused box.
- Coding agents ready to drive. Claude Code, Codex and OpenCode come built in, with run and stream APIs, webhooks and scheduled prompts.
- 1,000 boxes at once by default. Pay as You Go allows 1,000 boxes at once without a support request, in AWS us-east-1 close to US services.
Where bochka fits
Azure and Upstash are both built for code that runs, sleeps and wakes up. If your agents do longer real work, like building containers, booting emulators or using a desktop, they need a whole machine. bochka gives every agent a full VM with Docker, /dev/kvm, a desktop and coding agents built in.
Docker and /dev/kvm on every sandbox
Upstash boxes cannot run Docker, so the 50-agent scenario does not fit there. Azure has Docker only on images like azure-dev, and neither documents /dev/kvm for Android emulators or nested VMs.
A screen the agent can see
Both are headless. Upstash offers a headless Chromium over CDP, and on Azure you build a browser, a virtual display and streaming into your own image. bochka streams a Linux desktop at 60fps with computer-use tools.
Keys that never enter the sandbox
Azure injects Copilot and Anthropic tokens into the sandbox at start, where a prompt-injected agent can read them. Upstash's header proxy is fixed at creation. bochka's credentials proxy keeps keys outside and can switch accounts when credits run out.
Use bochka when your agents need a whole computer: Docker, emulators, a desktop and a browser, SSH and raw TCP, with coding agents and a credentials proxy built in. Compare it one to one: bochka vs Azure Container Apps Sandboxes and bochka vs Upstash Box.
Questions people ask
Is Azure Container Apps Sandboxes cheaper than Upstash Box?
No. Upstash costs less in all five scenarios on this page: $21 against $68 for one coding agent on workdays, and $306 against $989 for sandboxes for your users. Upstash's 50-agent price does not fit, though, because it has no Docker inside.
Which is faster, Azure Container Apps Sandboxes or Upstash Box?
Neither has been measured on the same CPU test, so there is no fair answer yet. bochka did 26.69 runs per second on the hpc-sandbox-benchmarks Node.js loop at 4 vCPU / 8 GB.
Can Azure Container Apps Sandboxes or Upstash Box run Docker?
On Azure, the azure-dev image ships Docker on systemd, while the default ubuntu image has only Buildah. Upstash does not offer Docker inside a box, since each box is itself a Docker container. bochka runs Docker on every sandbox.
Can I SSH into them?
Upstash gives SSH through a gateway. Azure has no SSH and gives an interactive shell through the aca CLI, the SDK or the portal. Every bochka sandbox has an SSH endpoint.
Which one keeps memory when it sleeps?
Azure suspends a sandbox with its memory and disk and resumes it in under a second with processes running. Upstash pauses an idle box and keeps its files. bochka saves the disk every minute and on stop, and resuming boots the machine again.
Where do they run?
Azure Container Apps Sandboxes runs in 40 Azure regions, 9 of them in the EU. Upstash Box runs only in AWS us-east-1. bochka runs in the EU, in Germany, Finland and France.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Azure Container Apps Sandboxes
- bochka vs Upstash Box
- E2B vs Azure Container Apps Sandboxes
- Daytona vs Azure Container Apps Sandboxes
- Modal vs Azure Container Apps Sandboxes
- Vercel Sandbox vs Azure Container Apps Sandboxes
- Cloudflare Sandbox vs Azure Container Apps Sandboxes
- Blaxel vs Azure Container Apps Sandboxes
- Runloop vs Azure Container Apps Sandboxes
- Tensorlake vs Azure Container Apps Sandboxes
- Morph Cloud vs Azure Container Apps Sandboxes
- CodeSandbox SDK vs Azure Container Apps Sandboxes