Ona vs Azure Container Apps Sandboxes
Ona, formerly Gitpod and now part of OpenAI, runs cloud dev environments for engineers and its Codex agent, and new customers buy it through sales. Azure Container Apps Sandboxes are microVMs you create from an SDK inside your Azure account, built for short stateful jobs that suspend with their memory and wake on traffic.
The companies and products
Ona
Ona, formerly Gitpod, is a platform for cloud dev environments and background coding agents, and is now part of OpenAI.
Ona is a different kind of product from boat: a dev-environment platform, not a sandbox API. Each task or developer gets an isolated VM built from a Dev Container config, which people open in a browser IDE, VS Code or JetBrains, and where Ona's Codex Agent can plan, code, test and open pull requests. It is built for engineering teams who want the same governed environment for every developer and agent; new customers run it in their own AWS or GCP account on an Enterprise contract.
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. “324th cheapest of 367” means 323 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 workload | Ona: price rank | Azure Container Apps Sandboxes: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Neither fits fully: Ona's SDK to start machines from code is Enterprise only, and Azure has no SSH or /dev/kvm, while boat gives each agent both. | 324th of 367, with limits $7,315 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 On Ona an always-on assistant stops after 30 idle minutes unless auto-stop is set to Never, and Azure bills every running second until it suspends; boat runs until you stop it. | 83rd of 366, with limits $8,504 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 this best of the three: short code runs suspend with their memory and resume in under a second, while Ona is built for engineers, not bursts. | 335th of 345, with limits $5,320 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, suspending idle user sandboxes with their memory; Ona is built for your own engineers and its per-user policy defaults to 10 running environments. | 330th of 361, with limits $5,988 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 | 283rd of 360, with limits $9,773 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 | 334th of 364, with limits $5,768 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 fits short CI jobs, and Ona starts each run from a prebuild with no fork; neither documents the nested virtualization that Android or VM builds need, which boat has. | 365th of 377, with limits $5,461 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 Ona is a full cloud IDE with Dev Containers, prebuilds and SSH, while Azure gives a shell through its own CLI; boat is a full VM you reach over SSH, HTTPS or a desktop. | 368th of 368, with limits $5,140 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 Both Ona and Azure are headless, so a computer-use agent has no screen to look at; boat streams a 60fps desktop with Chromium. | 353rd of 369, with limits $5,691 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 | 150th of 367, with limits $5,346 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 | 146th of 346, with limits $5,468 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 | 261st of 338, with limits $14,360 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 | 93rd of 360, with limits $5,228 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 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 | Ona | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| Isolation | Isolated VM per environment, with dedicated compute, built from a Dev Container config | MicroVM per sandbox with its own kernel | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Docker and nested virtualization | Docker and root inside the Dev Container; /dev/kvm not documented | Docker on images like azure-dev; the default ubuntu image has only Buildah; /dev/kvm not documented | Docker, root, systemd and /dev/kvm on every machine |
| Getting in | Browser IDE, VS Code and JetBrains, plus SSH | Interactive shell through the aca CLI, SDK or portal; no SSH | SSH, plus CLI and API exec |
| Desktop and computer use | No graphical desktop inside the environment | Headless; no desktop or managed browser | 60fps Linux desktop, Chromium and computer-use tools preinstalled |
| Driving it from code | Python, TypeScript and Go SDK on the Enterprise plan only | SDK on pay-as-you-go, with an Azure subscription and a Microsoft Entra ID account | API and SDK on every plan, including the trial |
| Suspend and resume | Disk persists across stops; Core archives a stopped environment after 3 days | Suspend with memory and disk; resume in under a second with processes running | Disk saved every minute and on stop; resume boots the machine again |
| Idle handling | Stops after 30 minutes without SSH, IDE or agent activity by default; background work does not count; can be set to Never | Auto-suspends after an idle timeout (5 minutes by default); traffic or a start command wakes it | Runs until you stop it or an auto-stop timer you set; no session cap on paid plans |
| Fork | No environment copy; you can create a project from an environment's config | Snapshot a running sandbox with its memory and start new sandboxes from it | Fork a running sandbox into copies with its disk |
| Outbound rules | No provider-side egress rules documented | Egress policy with allow, deny, rewrite and header rules by host, path and method; VNet integration | Open internet, no provider-side allowlist |
| Inbound access | HTTPS URL per port for you, your organization or everyone; no raw TCP or public IP documented | Public HTTPS routes per published port; private endpoint from your VNet at extra cost; no public IP | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv4 or IPv6 |
| Coding agents | Codex Agent started from chat, a Linear issue or an automation; Claude Code you run yourself | Copilot CLI and Claude Code images, run through the exec API | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping keys out of the sandbox | Secrets are injected into the environment as environment variables or files | Group secrets usable in egress header rules; Copilot and Anthropic tokens are injected into the sandbox at startup | AI credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| GPUs | GPU instance types on Enterprise runners in your own cloud, such as one NVIDIA A10G with 16 vCPU and 64 GB | None | None |
| Where it runs | Enterprise runners in your own AWS or GCP account, in many regions | Your Azure subscription, in 40 Azure regions, 9 of them in the EU | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Ona | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | No | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Not published | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | Yes | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | No | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | Yes | Yes |
| Memory fork | No | Yes | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | Yes | Yes | No |
| Wake on request | No | Yes | No |
| HTTPS preview URLs | Yes | Yes | Yes |
| Raw TCP inbound | No | No | Yes |
| Public IPv4 | No | No | No |
| Egress allowlist | No | Yes | No |
| Secret proxy | No | Yes | Yes |
| Secret proxy for any API | No | Yes | Yes |
| Preinstalled agents | Yes | Yes | Yes |
| Agent harness API | Yes | No | Yes |
| MCP server | No | No | No |
| GPU | Yes | No | No |
| Windows | No | No | No |
| Arm64 | No | No | No |
| Self-hosting | No | No | No |
| BYOC | Yes | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Not published | Yes |
| Spend limits | Yes | Yes | Yes |
| Usage per sandbox (API) | No | Yes | Yes |
| Audit logs | No | Yes | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
There is no comparable measurement for Ona 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. This page makes no speed claim between them.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Ona 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.
| Scenario | Ona, a month | Azure Container Apps Sandboxes, a month | boat, 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,030 · Enterprise (AWS Marketplace 12-month contract) · 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 | $5,140 · Enterprise (AWS Marketplace 12-month contract) · 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 | $6,521 · Enterprise (AWS Marketplace 12-month contract) · 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 | $5,432 · Enterprise (AWS Marketplace 12-month contract) · 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 | $5,955 · Enterprise (AWS Marketplace 12-month contract) · with limits | $2,148 · Pay-as-you-go | $2,000 · $2000/mo · with limits |
Ona: New Core subscriptions are closed, so Ona's prices here use its Enterprise listing on AWS Marketplace: a 12-month, $60,000 contract, plus compute on your own AWS bill. Real Enterprise prices are negotiated with sales.
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 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
No Ona scenario fits as published, because a new customer can only buy Enterprise through sales, and Ona publishes no Enterprise concurrency limit, so the table assumes 3 environments at once. Azure fits every scenario except the always-on agent, which only gets close with a 3-year commitment because it bills every running second. Azure's default quota of 500 active cores also caps a fleet until support raises it. boat's start limits bite on the 1,000-job burst, where the $2,000 plan queues starts.
| Scenario | Ona | Azure Container Apps Sandboxes | boat |
|---|---|---|---|
| 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 Ona when
your engineers want a governed cloud IDE shared with a Codex agent, inside your own AWS or GCP account or with a GPU.
- A full cloud IDE for your team. Useful if your engineers work beside their agents: Ona has browser, VS Code and JetBrains IDEs with Dev Containers and prebuilds.
- Runs in your own cloud. Useful if environments must run inside your own AWS or GCP account: Ona's Enterprise runners provision them there.
- GPU environments. Useful if your agents need a GPU: Ona's Enterprise runners can use GPU instance types such as an A10G VM.
Use Azure Container Apps Sandboxes when
your team already runs on Azure and wants short stateful sandboxes that suspend with their memory, wake on traffic and sit behind strict egress rules.
- 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.
- Self-serve, with no plan fee. Teams already on Azure can start today on pay-as-you-go, billed per second, while new Ona customers go through sales.
Where boat fits
If your code starts and drives the agents, Ona is a dev platform for people and Azure is a short-job sandbox inside an Azure account. boat sits between them: a whole VM per agent with an API on every plan, a desktop, open ports, and coding agents built in.
A whole computer for each agent
Neither Ona nor Azure documents /dev/kvm, so Android emulators and nested VMs will not start, and both are headless. Azure also has no SSH. boat gives every machine root, systemd, Docker, /dev/kvm, SSH and a 60fps desktop.
Agents and keys handled outside
Ona manages only its Codex agent and puts secrets in the environment; Azure runs Claude Code through raw exec and injects its tokens at startup, where a hijacked agent can read them. boat drives seven agents from outside and keeps keys in a proxy.
Start and scale without a sales call
New Ona customers need an Enterprise contract through sales for the SDK. Azure needs a subscription and Entra ID, and its 500-core default quota is raised by support request. boat is self-serve with an API from the trial, up to 2,000 sandboxes by plan.
Use boat when your code starts and drives the agents: full VMs with SSH, /dev/kvm, a desktop and open ports, coding agents and a credentials proxy built in, and an API on every plan. Compare it one to one: boat vs Ona and boat vs Azure Container Apps Sandboxes.
Questions people ask
Is Ona cheaper than Azure Container Apps Sandboxes?
No. In every scenario we priced, Azure costs less: one coding agent on workdays is $68 a month on Azure against $5,030 on Ona, using Ona's Enterprise listing on AWS Marketplace since Core is closed. boat is $20 a month for the same agent. Ona's real price is a sales quote, so yours may differ.
Which is faster, Ona or Azure Container Apps Sandboxes?
We can't say: neither has a comparable measurement in the public benchmark runs we use. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB, on dedicated AMD Ryzen 9 9950X hosts.
Can Ona and Azure Container Apps Sandboxes run Docker?
Ona runs Docker with root inside the Dev Container. On Azure it depends on the image: azure-dev ships Docker on systemd, and the default ubuntu image has only Buildah. Neither documents /dev/kvm, which boat has on every machine.
Can I SSH into them?
Ona, yes: you can connect over SSH, VS Code or JetBrains, or use its browser IDE. Azure, no: you get an interactive shell through the aca CLI, the SDK or the portal. Every boat sandbox has an SSH endpoint.
Can I sign up for Ona the way I can for Azure?
No. Ona's billing docs say new Core subscriptions are no longer available, so new customers go through sales. Azure is pay-as-you-go but needs an Azure subscription, a Microsoft Entra ID account and the Container Apps SandboxGroup Data Owner role. boat's plans are self-serve, from a free trial up.
Is Ona the same as Gitpod?
Yes. Gitpod renamed itself Ona in 2025 and moved toward background coding agents, and Ona is now part of OpenAI.
Try boat
Install the CLI, then run boat new.
7-day free trial