Hetzner Cloud vs OVHcloud
Both rent plain Linux VMs that you set up and run yourself, and both bill until you delete them. Hetzner Cloud bills every started hour with a monthly cap and lists lower prices for small servers, while OVHcloud bills by the second after one minute and adds GPUs, Windows and more regions.
The companies and products
Hetzner Cloud
Hetzner is a German hosting company founded in 1997; Hetzner Cloud rents virtual servers, storage and networking by the hour.
A Hetzner Cloud server is a Linux VM picked from shared vCPU lines (cost-optimized CX and CAX, regular CPX) or dedicated vCPU (CCX), with local NVMe disk, a public IP and up to 20 TB of traffic in the EU. You add volumes, private networks, firewalls and load balancers, and run everything yourself through the Console, the Cloud API, the hcloud CLI or Terraform. It is general infrastructure, not an agent sandbox, so this page compares the two where they overlap: giving an agent its own Linux machine.
OVHcloud
OVHcloud is a French cloud provider; its Public Cloud rents OpenStack virtual machines, storage and networking by the second.
A Public Cloud instance is a Linux or Windows VM picked from families such as General Purpose (B3), Compute (C3), Memory (R3), GPU and the shared-resource Discovery range (D2). You run your own software on it, next to OVHcloud products like private networks, gateways, load balancers, Kubernetes and object storage, through a Control Panel, an API or OpenStack tools. It is general infrastructure, not an agent sandbox, so this page compares the two where they overlap: giving an agent its own Linux machine.
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. “51st cheapest of 364” means 50 of the other 363 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 | Hetzner Cloud: price rank | OVHcloud: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both give an agent a full Linux VM with root and Docker, but neither gives reliable nested virtualization, and both start as an empty OS image; bochka comes with /dev/kvm, coding agents and free stops. | 46th of 367, with limits $287 a month | 90th of 367, with limits $814 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB | 94th of 366, with limits $325 a month | 136th of 366, with limits $934 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 OVHcloud fits short runs much better than Hetzner Cloud, because it bills by the second after one minute while Hetzner bills every started hour in full. | 156th of 345, with limits $649 a month | 56th of 345, with limits $43 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 Both need a quota raise first for 300 user sandboxes: Hetzner reviews requests by hand, and 600 vCPU is past OVHcloud's largest self-serve quota of 512 vCPU; bochka allows 100 to 2,000 sandboxes by plan. | 46th of 361, with limits $314 a month | 43rd of 361, with limits $299 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 Many short rollouts suit OVHcloud's per-second billing far better than Hetzner's full-hour rounding. | 104th of 360, with limits $6,490 a month | 27th of 360, with limits $1,280 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 | 51st cheapest of 364 $1,010 a month | 99th of 364, with limits $231 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 Both run Docker builds on a full VM where you run the runner software yourself, and a ten-minute job on Hetzner is billed as a full hour. | 83rd cheapest of 377 $788 a month | 29th cheapest of 377 $300 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB All three fit a 24/7 dev box: Hetzner and OVHcloud are classic always-on servers, and a bochka machine keeps its disk with snapshots every minute. | 32nd cheapest of 368 $42 a month | 23rd cheapest of 368 $34 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 Neither Hetzner nor OVHcloud has a desktop built in, so you install the desktop, the browser and the control loop yourself; bochka streams a 60fps desktop with Chromium and computer use. | 134th of 369, with limits $320 a month | 108th of 369, with limits $231 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 clouds you install and run the browser stack yourself; bochka ships Chromium and browser control in every sandbox. | 227th of 367, with limits $312 a month | 174th of 367, with limits $128 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 | 157th of 346, with limits $62 a month | 159th of 346, with limits $65 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 | 45th of 338, with limits $1,248 a month | 47th of 338, with limits $1,290 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 | 114th of 360, with limits $52 a month | 120th of 360, with limits $64 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 | Hetzner Cloud | OVHcloud | bochka |
|---|---|---|---|
| What you get | A general Linux VM with its own kernel, set up and run by you | A general OpenStack VM with its own kernel, set up and run by you | A sandbox API for agents, on full VMs with their own kernel |
| CPU speed (Node.js build-and-test, 4 vCPU / 8 GB) | 8.88 runs/s on a shared CX33; CPX and CCX not measured | No comparable measurement | 26.69 runs/s on dedicated AMD Ryzen 9 9950X (Zen 5) hosts |
| Docker and nested virtualization | Root and Docker; nested virtualization is "not possible on cloud server" | Root and Docker; the vmx flag is passed, but a live migration can make the guest kernel panic | Docker, root, systemd and /dev/kvm on every machine, documented |
| Billing unit | Every started hour is billed in full, with a monthly cap | Every second, after a 1-minute minimum | Per second from a monthly plan's usage credit, from $20 |
| Stopping | A powered-off server bills at the full rate until you delete it | Turned-off and paused instances bill at the same rate; shelving bills only a disk snapshot | A stopped sandbox costs nothing and keeps its disk |
| Snapshots | Snapshots you take yourself, or daily backups in 7 slots for 20% of the server price | On-demand instance backups, or a schedule such as daily backups keeping the last 7 or 14 | Automatic snapshots every minute and on stop |
| Fork | Take a snapshot, then create a new server from it (disk, no memory) | Take an instance backup, then create a new instance from it (disk, no memory) | Fork a running sandbox in one call (disk, no memory) |
| Reaching the machine | Public IPv4 and IPv6 on any port; HTTPS needs your own certificates or a paid load balancer | Public IPv4 on any port; HTTPS needs your own certificates or a load balancer | HTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP |
| Desktop and computer use | None built in; a VNC console for admin | None built in; you install a desktop and connect over SSH or RDP | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Coding agents | None; you install and drive agents yourself, for example over SSH | None; you install and drive agents yourself, for example over SSH | Claude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API |
| Keeping keys out of the machine | No credentials proxy; secrets go on the server | No credentials proxy; secrets live on the instance | AI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out |
| Outbound rules | Free Cloud Firewalls with inbound and outbound rules by IP, port and protocol | Security groups with inbound and outbound rules by IP range, port and protocol | Open internet on every plan; no provider-side allowlist |
| GPUs and Windows | No GPU servers and no Windows images listed | Nvidia GPU instances such as L4 and L40S; Windows Server images with the license included | No GPUs; no Windows guests (Wine for Windows apps) |
| Regions | Germany and Finland, plus Ashburn, Hillsboro and Singapore | Europe, Canada, the US, Singapore and Sydney, plus Local Zones | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Hetzner Cloud | OVHcloud | bochka |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | No | Yes | Yes |
| Root | Yes | Yes | Yes |
| Systemd | Yes | Yes | Yes |
| Desktop GUI | No | No | Yes |
| Browser | No | No | Yes |
| Computer-use API | No | No | Yes |
| SSH | Yes | Yes | Yes |
| Persistent disk | Yes | Yes | Yes |
| Pause/resume | Yes | Yes | Yes |
| Automatic snapshots | No | Yes | Yes |
| Fork/clone | Yes | Yes | Yes |
| Live fork (no pause) | Yes | Yes | Yes |
| Memory fork | No | No | No |
| Custom image (Docker or snapshot) | Yes | Yes | Yes |
| ≥24 h sessions | Yes | Yes | Yes |
| Idle auto-stop | No | No | No |
| Wake on request | No | No | No |
| HTTPS preview URLs | No | No | Yes |
| Raw TCP inbound | Yes | Yes | Yes |
| Public IPv4 | Yes | Yes | No |
| Egress allowlist | Yes | Yes | No |
| Secret proxy | No | No | Yes |
| Secret proxy for any API | No | No | Yes |
| Preinstalled agents | No | No | Yes |
| Agent harness API | No | No | Yes |
| MCP server | No | No | No |
| GPU | No | Yes | No |
| Windows | No | Yes | No |
| Arm64 | Yes | No | 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 | No | Not published | Yes |
| Usage per sandbox (API) | No | No | Yes |
| Audit logs | Not published | Not published | No |
| SSO | No | Yes | No |
| SOC 2 | No | Yes | No |
| HIPAA | No | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
In StarSling's public benchmark at 4 vCPU / 8 GB, bochka did 26.69 Node.js build-and-test runs per second on dedicated AMD Ryzen 9 9950X hosts. The only Hetzner number comes from a 2026-08-24 run on a shared Hetzner CX33, which did 8.88 runs per second, about a third of bochka's speed; Hetzner's CPX and CCX servers were not measured. OVHcloud has no comparable measurement, and its results would depend on the family, since B3 and C3 have dedicated resources and Discovery (D2) instances share theirs.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Hetzner Cloud measured on: Shared vCPU, Cost-Optimized (CX, Intel/AMD), EU. OVHcloud has 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 | Hetzner Cloud, a month | OVHcloud, 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 | $3 · Pay-as-you-go (postpaid) · with limits | $8 · Usage account | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $10 · Pay-as-you-go (postpaid) · with limits | $34 · Usage account | $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 | $141 · Pay-as-you-go (postpaid) · with limits | $406 · Usage account | $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 | $312 · Pay-as-you-go (postpaid) · with limits | $128 · Usage account · with limits | $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,080 · Pay-as-you-go (postpaid) · with limits | $256 · Usage account · with limits | $2,000 · $2000/mo · with limits |
Hetzner Cloud: Hetzner bills each server by the hour, rounding every started hour up, with a monthly cap, and keeps billing until you delete it, even when it is off. The prices here use the shared CX line, which is currently out of stock, plus the public IPv4; there is no free tier and no reserved discount.
OVHcloud: OVHcloud bills every second an instance exists, after a 1-minute minimum, until you delete it; shelved instances bill only their snapshot. The prices here use the shared Discovery d2 instances; dedicated B3, C3 and R3 instances bill local storage and a public IPv4 on top since October 2026, and Savings Plans take 15% or 30% off them.
OVHcloud: You pick a monthly plan from $20, and all of it becomes usage credit spent per second on running sandboxes. A stopped sandbox costs nothing and keeps its disk.
Limits in those scenarios
Every Hetzner scenario here is priced on the CX line, which Hetzner's site marks as currently unavailable, so none of them fit as priced today, and its per-project server limits are not published and are raised by hand. OVHcloud raises quotas in steps of 20, 50, 100 and 200 VMs by buying prepaid credit, so 300 user sandboxes (600 vCPU) or 1,000 jobs at once go past its 512 vCPU self-serve limit and need support first. Its cheap Discovery instances also share their CPU, so heavy builds can slow down. On bochka the limit is a sandbox count (100 to 2,000 by plan) plus starts per minute, so the 1,000-job burst gets queued and needs more starts per day than the $2,000 plan allows.
| Scenario | Hetzner Cloud | OVHcloud | bochka |
|---|---|---|---|
| One coding agent, workdays |
| None that bite | None that bite |
| One agent that never stops |
| None that bite | None that bite |
| 50 agents in parallel |
|
| None that bite |
| Sandboxes for your users |
|
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Hetzner Cloud when
you want plain long-lived Linux servers at low list prices with a monthly cap, plenty of included EU traffic, or big dedicated machines up to 48 vCPU.
- Low list prices for steady servers. Useful for servers that run all month: a 4 vCPU / 8 GB CX server lists at $10 a month, when in stock.
- A monthly cap and lots of traffic. Useful for always-on servers: hourly billing stops at a monthly cap, and each EU server includes 20 TB of traffic.
- Big dedicated machines. Useful for heavy single machines: dedicated vCPU servers go up to 48 vCPU and 192 GB (CCX63).
Use OVHcloud when
you run many short jobs that suit per-second billing, or need GPUs, Windows servers, or regions in Canada, Singapore or Sydney.
- Billing by the second. Useful for short or bursty jobs: OVHcloud bills every second after a 1-minute minimum, not every started hour.
- GPUs and Windows. Useful if your agents need models or Windows: OVHcloud rents Nvidia L4 and L40S instances and Windows Server images.
- More regions. Useful if your users are spread out: OVHcloud also runs in Canada, the US, Singapore and Sydney, plus Local Zones.
Where bochka fits
Hetzner Cloud and OVHcloud are general clouds, not agent sandboxes. If what you are really running is agents, each on its own Linux machine, bochka gives every agent a full VM that is ready to work, with /dev/kvm, coding agents, a desktop and snapshots every minute built in. Pick one of the two clouds when you need GPUs, Windows, regions outside the EU or big long-lived servers.
Nested VMs that run and stay up
Agents that test Android apps or build VM images need KVM inside their machine. Hetzner says this is not possible on a cloud server, and on OVHcloud a live migration can crash the guest mid-run. bochka documents /dev/kvm on every machine.
Idle agents that do not keep billing
Agents sit idle between tasks. Hetzner bills an off server in full, so you script snapshot, delete and recreate; OVHcloud bills off instances too, or you shelve and wait to unshelve. bochka stops for free, snapshots every minute and forks while running.
Agents, desktop and keys built in
Both clouds start from an empty OS image, so you install and supervise every agent, desktop and key, and the agent can read any key you put on it. bochka ships coding agents with a prompt and steer API, a 60fps desktop and a credentials proxy.
Use bochka when you want each agent on its own full VM that is ready to work: /dev/kvm, coding agents, a desktop, HTTPS ports and minute-by-minute snapshots built in, fork while running, and stops that cost nothing. Compare it one to one: bochka vs Hetzner Cloud and bochka vs OVHcloud.
Questions people ask
Is Hetzner Cloud cheaper than OVHcloud?
For steady servers, on paper: one agent that never stops comes to $10 a month on Hetzner's CX line against $34 on OVHcloud, and 50 agents in parallel come to $141 against $406. For many short sessions OVHcloud wins thanks to per-second billing: 300 user sandboxes come to $128 against $312. The Hetzner prices use the CX line, which is currently out of stock, so the servers you can order today cost more.
Which is faster, Hetzner Cloud or OVHcloud?
There is no direct comparison. A shared Hetzner CX33 did 8.88 Node.js build-and-test runs per second in a 2026-08-24 benchmark run, and OVHcloud was not measured. bochka did 26.69 runs per second at the same 4 vCPU / 8 GB size.
Can Hetzner Cloud and OVHcloud run Docker and nested VMs?
Both run Docker, since every server is a full VM with root. Hetzner says nested virtualization is not possible on a cloud server, and OVHcloud passes the vmx flag but warns that a live migration can make the guest kernel panic. On bochka, Docker, systemd and /dev/kvm are documented on every machine.
Do I pay for a server that is turned off?
Yes, on both. Hetzner bills a server at the full rate until you delete it, and OVHcloud bills turned-off and paused instances at the same rate, though shelving bills only a disk snapshot. On bochka, a stopped sandbox costs nothing and keeps its disk.
Does Hetzner Cloud or OVHcloud have GPUs?
OVHcloud rents Nvidia GPU instances, such as L4 and L40S. Hetzner Cloud lists no GPU servers, and bochka has no GPUs either.
Where does my data run?
Hetzner Cloud runs in Germany and Finland, plus Ashburn, Hillsboro and Singapore. OVHcloud runs across Europe, plus Canada, the US, Singapore and Sydney. bochka runs only in the EU (Germany, Finland and France), with EU data residency.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Hetzner Cloud
- bochka vs OVHcloud
- AWS EC2 vs Hetzner Cloud
- Google Compute Engine vs Hetzner Cloud
- Azure Virtual Machines vs Hetzner Cloud
- Oracle Cloud vs Hetzner Cloud
- DigitalOcean vs Hetzner Cloud
- Hetzner Cloud vs Vultr
- Hetzner Cloud vs Linode
- Hetzner Cloud vs Scaleway
- Hetzner Cloud vs IONOS Cloud
- Hetzner Cloud vs Contabo