Skip to main content
InfraGap.com Logo
Home
Getting Started
Core Concept What is a CDE? How It Works Benefits CDE Assessment Getting Started Guide Inner Loop vs Outer Loop Environment Drift Local vs Cloud CDEs for Startups
AI & Automation
AI Coding Assistants Agentic AI AI-Native IDEs Agentic Engineering AI Agent Orchestration AI Governance AI-Assisted Architecture Shift-Left AI LLMOps Autonomous Development AI/ML Workloads CDEs for Data Science GPU Computing
Agent Infrastructure
Agent Experience (AX) Agent Egress Control Computer Use Agents Agent Evals Agent Runbooks Agent Client Protocol AGENTS.md MCP Servers Git Worktrees Kubernetes Agent Sandbox Agent Fleets Agent Identity Prompt Injection Defense Agent Observability Context Engineering AI Code Review Bottleneck Headless Agents in CI Spec-Driven Development Agent Readiness Code Provenance
Implementation
Architecture Patterns DevContainers Advanced DevContainers Language Quickstarts IDE Integration CI/CD Integration Platform Engineering Developer Portals Container Registry Multi-CDE Strategies Remote Dev Protocols Nix Environments Hermetic Builds OpenTofu for CDEs Kubernetes Development
Operations
Performance Optimization High Availability & DR Disaster Recovery Monitoring Capacity Planning Multi-Cluster Development Troubleshooting Runbooks Ephemeral Environments Sandbox Environments Workspace Snapshots Database Branching
Security
Security Deep Dive Zero Trust Architecture Secrets Management Vulnerability Management Network Security IAM Guide Supply Chain Security Air-Gapped Environments AI Agent Security MicroVM Isolation Compliance Guide EU AI Act Cyber Resilience Act Data Residency Governance
Planning
Pilot Program Design Stakeholder Communication Risk Management Migration Guide Cost Analysis FinOps GreenOps Vendor Evaluation Training Resources Developer Onboarding Team Structure Platform Maturity Model Open Source CDEs AI Productivity Paradox Build vs Buy DevEx Metrics Productivity Engineering Industry Guides CDEs for Healthcare CDEs for Financial Services CDEs for Government Edge Development WebAssembly in CDEs
Resources
Tools Comparison State of CDEs 2026 Isolation Decision Tool Template Library
Learning Paths
All Paths Platform Engineer Security and Compliance Engineering Manager
Vendor Reviews
GitHub Codespaces Coder Ona Google Workstations Microsoft Dev Box Okteto Eclipse Che DevPod Daytona E2B
Head to Head
Coder vs Codespaces Coder vs Ona Ona vs Codespaces Coder vs Okteto Self-Hosted vs Managed E2B vs Daytona CDE Market Guide CDE vs Alternatives Case Studies Lessons Learned Glossary FAQ Sources & Citations

Coder vs Ona

Both are sold to buyers who said "we need self-hosting". They mean two completely different things by it, and only one of them survives the question "could you keep running without the vendor".

Checked against both vendors' own documentation, pricing pages, and repositories as of July 2026

The Word Doing Two Jobs

Procurement documents bundle two requirements into one phrase, and those requirements eliminate different vendors

With Coder, both halves are yours. You install and operate the control plane, its PostgreSQL database, and the provisioner that runs Terraform, and every workspace runs on compute you own. Coder Technologies operates nothing in the serving path. The platform is AGPL-3.0, so if the company changed direction tomorrow your installation keeps running until you decide otherwise.

With Ona, formerly Gitpod, the split is different. On the Enterprise plan, runners deploy into your own AWS or GCP account and VPC, so source code is cloned and executed inside your network on compute you pay your cloud provider for directly. But the orchestration plane that schedules, authenticates, and manages all of it stays with Ona, and there is no customer-operable version of it at any tier.

That distinction is the whole page. Ona's runner model is a genuine answer to "our code cannot leave our network", and a security reviewer will accept it. It is not an answer to "we need to still be running this if the vendor changes course", because nothing in the Ona relationship survives Ona. Those two requirements arrive stapled together in most procurement documents, and separating them early saves an entire evaluation cycle.

No winner is declared here. Ona wins outright for teams that want a network boundary without hiring an operator, and Coder wins outright for teams whose requirement is continuity or non-container workloads. The conditions are the deliverable. Full reviews: Coder and Ona.

At a Glance

The Ona column below describes the Enterprise runner model, which is the only configuration worth comparing to Coder

DimensionCoderOna (Enterprise runners)
Control planeYours. You install and run it.Ona's. No customer-operated option exists.
Where code executesYour cloud, your cluster, or your own hardwareYour own AWS or GCP VPC, on the Enterprise plan
Who operates the runtimeYou, unambiguouslyDisputed by Ona's own materials. See the section below.
Workspace shapeAnything Terraform can provision - containers, pods, VMs, bare metalEphemeral Linux VMs provisioned from a Dev Container configuration. No Windows or macOS environments are documented, and you do not choose the hardware.
Air-gapped or on-premisesSupportedNo. The runner model requires a supported public cloud account.
Published entry priceCommunity free. Premium not published - billed annually per user, quote only.Core from $20 per month. Enterprise not published.
Billing unitPer user annually, plus your own cloud billOCUs, a blended unit covering agent tokens and environment runtime, plus your own cloud bill on Enterprise
Open source positionAGPL-3.0 platform, actively released; Premium features under a separate commercial licenseProduct is proprietary. gitpod-io/gitpod is AGPL-3.0 and public, with a README stating it is no longer recommended.
If the vendor stopsYour installation keeps running. It becomes a support problem.Service ends. Your VPC keeps the compute; nothing orchestrates it.
Ownership statusIndependent, private, venture-backedAgreement to join OpenAI announced 06-11-2026, not closed as of July 2026, subject to regulatory approval

Sources: coder.com/pricing, github.com/coder/coder, ona.com/pricing, and Ona's own announcement of the OpenAI agreement, all checked in July 2026. See sources for the citation standard this site publishes against.

A Question Neither Page Answers Consistently

On Coder the operator is obvious. On Ona the vendor's own materials disagree.

Ona's pricing page and its runners documentation do not agree on who manages an AWS or GCP runner. The pricing page describes the Enterprise deployment as running in your own VPC and managed by Ona. The runners documentation places AWS and GCP runners in a "managed by you" column, against Ona Cloud's "managed by Ona", and the AWS overview describes running inside your AWS environment rather than on Ona-managed infrastructure.

This page does not resolve that, because it cannot be resolved from a web page. Ask Ona in writing who patches, upgrades, and responds to an incident on the runner in your account, and get the answer into the contract. The two published answers imply different headcount, and headcount is the thing you are actually comparing against Coder.

That matters because the usual argument for Ona over Coder is "you get the boundary without the operational burden". If the runner in your account turns out to be yours to operate, a meaningful part of that argument moves. You would still avoid running a control plane, which is real, but you would be running compute infrastructure in your own VPC on a vendor's schedule - which is a narrower saving than the pitch implies.

On the Coder side the equivalent question has an unambiguous answer, and it is not the flattering one: everything is yours. The server, the database, the ingress, the upgrade cadence, and the Terraform templates all need a named owner. Coder does not pretend otherwise, and a buyer who cannot name that person should treat that as disqualifying rather than as something to solve later. Vendor evaluation turns "who actually operates this" into a written question.

Cost, and Two Different Kinds of Uncertainty

Neither side can be modeled end to end from public information, but they are unmodelable for different reasons

Ona: a published entry price in an unfamiliar unit

Ona's Core plan starts at $20 per month as of July 2026, covering 80 to 2,200 OCUs and up to 100 members, with additional OCUs from $10 per 40. Having a number at all is an advantage over Coder for procurement. The complication is the unit: Ona's documentation describes an OCU as a normalized measure covering both agent token usage and the infrastructure consumed while environments run. Your bill therefore moves with how much your agents talk, not only with how long an environment is up, which is harder to forecast than a machine-hour and can move without anyone changing a machine size. Enterprise, which is the tier that unlocks runners in your own VPC, is not published at all - and on that tier your cloud bill is separate and additional.

Coder: a free edition with an unpriced tier above it

Coder Community is free and open source, with unlimited workspaces, templates, and members inside a single organization, limited to one platform integration and one external authentication integration. Premium adds multi-organization access control, audit logging, quotas, high availability, workspace proxies, custom roles, and an SLA, and Coder publishes no price for it. Underneath either edition sits your own cloud bill for every workspace, plus the engineering time to own the platform - which on a small team routinely exceeds every license figure in this comparison.

What to do about it

Run a metered pilot on Ona and measure OCU consumption against real workloads rather than extrapolating from the plan description. On Coder, price the cloud footprint of your actual workspace sizes and auto-stop policy first, and only then ask for a Premium quote - the license is usually the smaller number.

The line item nobody budgets

On Coder it is the person who owns the control plane. On Ona Enterprise it is the cloud spend the runners generate, which is invoiced by AWS or GCP rather than by Ona and therefore lands in a different budget from the one the decision was approved against. FinOps covers both.

Who Should Choose Which

Concrete conditions. Each of these decides the question on its own.

Choose Coder when

  • The requirement is continuity, not just a boundary - you must be able to keep operating if the vendor's direction changes.
  • You are air-gapped, on-premises, or in a data center rather than a supported public cloud.
  • Workspaces must run on hardware you choose - bare metal, specific GPU nodes, ARM, or a non-Linux operating system.
  • You have a funded platform team already operating Kubernetes, Terraform, and PostgreSQL.
  • An unresolved acquisition is unacceptable in a multi-year standardization decision your timeline cannot revisit.

Choose Ona when

  • The requirement is a network boundary and a data-jurisdiction story, and a vendor-run control plane clears your security review.
  • You have no platform team and no intention of acquiring one, but still cannot let code leave your account.
  • Your work is Linux multi-repository development that a Dev Container configuration already describes, where prebuilds pay for themselves daily.
  • You want to start against a published entry price this week rather than open a sales process.
  • Your horizon is a pilot or a one-year term you are willing to re-evaluate, rather than a five-year commitment.

The single question that sorts most teams

Ask why you wanted self-hosting in the first place, and insist on one answer rather than two. If it is "our code cannot leave our network", Ona's runner model satisfies you and is one of the few products in this category that still does without handing you a control plane. If it is "we need to still be running this in three years regardless of what happens to the company", Ona does not satisfy you at all and no contract term fixes that. Writing the real answer down before the first demo is the highest-value hour in this evaluation.

What Cannot Be Compared

Nobody has measured these, and no comparison that claims to has shown its method

Cost at scale

Coder Premium is unpublished and Ona Enterprise is unpublished. The two configurations a large organization would actually buy therefore have no comparable public prices, and any table that shows them side by side is showing estimates.

Environment startup time

Ona's prebuild mechanism has a strong reputation and Coder's start time depends entirely on your template and provider. No independent benchmark comparing them was found, and the comparison would not generalize across repositories anyway.

Runner operational load

Because Ona's own materials disagree on who manages an in-VPC runner, the operational cost of the Ona side is not knowable from public sources. That is a genuine unknown, not a rounding error, and it is the exact figure the comparison hinges on.

What the acquisition does and does not tell you

On 06-11-2026 Ona announced it had entered into an agreement to join OpenAI as part of the Codex team, subject to customary closing conditions including regulatory approvals, and it had not closed as of July 2026. Nobody has said Ona is being discontinued and this page does not predict that. What is genuinely unaddressed is the future of the Core plan, the runner model, and support commitments after close - and unanswered is different from bad.

What an open repository is worth here

Both products have AGPL-3.0 code on GitHub, and the two situations are not equivalent. Coder's repository is the platform, actively released. The gitpod-io/gitpod repository is public and not archived, but its README says the project was renamed and is no longer recommended, and gitpod-io/self-hosted, already carrying a deprecation notice since Gitpod 0.5.0, was archived read-only on 04-24-2026. A license badge is not a fallback plan; a maintained release line is.