Oracle Cloud vs Hetzner Cloud

Oracle Cloud is a big general cloud with GPUs, Windows, Mac servers, nested KVM on some shapes and regions on every continent. Hetzner Cloud rents simple Linux servers by the hour from Germany, Finland, the US and Singapore, with no nested virtualization and a server that bills until you delete it.

The companies and products

Oracle Cloud

Oracle Cloud Infrastructure (OCI) is Oracle's general-purpose cloud: compute, storage, networking, databases and AI services in regions around the world.

OCI Compute rents virtual machines and bare metal servers on x86 (AMD, Intel) and Arm (Ampere), plus GPU machines and Mac servers. You pick a shape, an OS image, a network and a disk, and then install and run everything inside the VM yourself. It is not a sandbox product, so this page compares the part that overlaps: running agent code on a VM.

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.

Certifications
ISO/IEC 27001:2022

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. “Cheapest of 364” means no 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 workloadOracle Cloud: price rankHetzner Cloud: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Oracle Cloud can run Android emulators and VMs inside the agent's machine on E5 and Standard3 Flex shapes, Hetzner cannot at all; bochka has /dev/kvm, Docker and coding agents ready.
58th of 367, with limits
$413 a month
46th of 367, with limits
$287 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
100th of 366, with limits
$376 a month
94th of 366, with limits
$325 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
Oracle's burstable VMs make tiny code runs cheap, while Hetzner bills each started hour in full; on both, every run waits for a full VM boot.
51st of 345, with limits
$16 a month
156th of 345, with limits
$649 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
Neither gives you a sandbox layer for your users, so you build URLs, cleanup and limits yourself on both; bochka ranks 1st with a sandbox and HTTPS URL per user by API.
31st of 361, with limits
$115 a month
46th of 361, with limits
$314 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
Oracle Cloud ranks 7th for rollout fleets on price, as long as your tenancy limits are raised; Hetzner's hourly rounding makes short rollouts cost far more.
7th of 360, with limits
$679 a month
104th of 360, with limits
$6,490 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
Oracle Cloud ranks 1st here at $136 a month against $1,010 on Hetzner, because Hetzner bills every started hour of a short eval in full; bochka ranks 10th at $200 a month.
Cheapest of 364
$136 a month
51st cheapest of 364
$1,010 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
Short CI jobs favor Oracle Cloud over Hetzner, which bills a ten-minute job as a full hour; bochka ranks 4th and ships Docker and /dev/kvm on every machine.
6th cheapest of 377
$102 a month
83rd cheapest of 377
$788 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
Both fit a 24/7 dev box: Oracle Cloud ranks 2nd, partly thanks to its Always Free Arm allowance, and Hetzner Cloud is a classic always-on server with a monthly price cap.
2nd cheapest of 368
$12 a month
32nd cheapest of 368
$42 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 Oracle nor Hetzner servers come with a desktop stream, so you install and expose one yourself; bochka streams a 60fps desktop with Chromium and computer use.
75th of 369, with limits
$97 a month
134th of 369, with limits
$320 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
154th of 367, with limits
$49 a month
227th of 367, with limits
$312 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
150th of 346, with limits
$32 a month
157th of 346, with limits
$62 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
35th of 338, with limits
$642 a month
45th of 338, with limits
$1,248 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
102nd of 360, with limits
$26 a month
114th of 360, with limits
$52 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

FeatureOracle CloudHetzner Cloudbochka
What you getA general cloud VM or bare metal server that you set up yourselfA general Linux VM that you set up and run yourselfA sandbox VM made for agents, created and driven by API
IsolationEvery VM has its own kernel on a KVM hypervisor; bare metal also availableEvery server is a full VM with its own kernelEvery sandbox is a full VM with its own kernel
CPU speed (Node.js build-and-test, 4 vCPU / 8 GB)Not measured8.88 runs/s on a shared CX33; CPX and CCX not measured26.69 runs/s on dedicated AMD Ryzen 9 9950X (Zen 5) hosts
Docker and nested virtualizationRoot on every VM, Docker is yours to install; nested KVM documented on E5 and Standard3 Flex VMs, not on Ampere Arm VMsRoot and Docker; nested virtualization is "not possible on cloud server"Docker, root, systemd and /dev/kvm ready on every machine
StoppingStopping a standard VM pauses compute billing; the boot volume is billed until you delete itA powered-off server bills at the full rate until you delete itA stopped sandbox costs nothing and keeps its disk
Snapshots and backupsBackups run by hand or on a scheduleSnapshots you take yourself, or daily backups in 7 slots for 20% of the server priceAutomatic snapshots every minute and on stop
ForkMake a custom image of the boot disk; imaging a running VM shuts it down for several minutesTake a snapshot, then create a new server from itFork a running sandbox while it keeps running
Desktop and computer useNo desktop on Compute VMs; OCI Secure Desktops is a separate productNone built in; a VNC console for admin60fps desktop and Chromium, computer use and browser control, embeddable stream
Coding agentsNone preinstalledNone; you install and drive agents yourself, for example over SSHClaude Code, Codex, OpenCode and more preinstalled, with a prompt, steer and events API
Keeping keys out of the machineSecrets live in OCI Secret Management and the VM fetches them, so the key ends up insideNo credentials proxy; secrets go on the server through cloud-init, files or env varsAI credentials proxy for model providers and any HTTPS API you register; switch a credential to another account when credits run out
Reaching the machinePublic IPv4 and any port you open; HTTPS through your own server or a load balancerPublic IPv4 and IPv6 on any port; HTTPS needs your own certificates or a paid load balancerHTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP
Network rulesSecurity lists and network security groups by IP range, protocol and port; domain filtering through OCI Network FirewallFree Cloud Firewalls with inbound and outbound rules by IP, port and protocolOpen internet on every plan; no provider-side allowlist
GPUs, Windows, macOS and ArmNvidia and AMD GPUs, Windows Server images, Mac servers and Ampere Arm VMsLinux only, with Arm CAX servers; no GPUsLinux x86 only; Wine for Windows apps; no GPUs
RegionsAmericas, Europe, the UK, Asia, the Middle East, Africa and Australia, plus government cloudsGermany and Finland, plus Ashburn, Hillsboro and SingaporeEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureOracle CloudHetzner Cloudbochka
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationYesNoYes
RootYesYesYes
SystemdYesYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsNoNoYes
Fork/cloneYesYesYes
Live fork (no pause)NoYesYes
Memory forkNoNoNo
Custom image (Docker or snapshot)YesYesYes
≥24 h sessionsYesYesYes
Idle auto-stopNoNoNo
Wake on requestNoNoNo
HTTPS preview URLsNoNoYes
Raw TCP inboundYesYesYes
Public IPv4YesYesNo
Egress allowlistYesYesNo
Secret proxyNoNoYes
Secret proxy for any APINoNoYes
Preinstalled agentsNoNoYes
Agent harness APINoNoYes
MCP serverYesNoNo
GPUYesNoNo
WindowsYesNoNo
Arm64YesYesNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNoYes
Usage per sandbox (API)YesNoYes
Audit logsNot publishedNot publishedNo
SSOYesNoNo
SOC 2YesNoNo
HIPAAYesNoNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

Oracle CloudNot measured
Hetzner Cloud8.88 runs/s
bochka26.69 runs/s

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 is 8.88 runs per second on a shared CX33, about a third of bochka's speed; CPX and CCX servers were not measured. Oracle Cloud has no comparable measurement, and its burstable shapes guarantee only part of each vCPU.

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. Oracle Cloud 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.

ScenarioOracle Cloud, a monthHetzner Cloud, a monthbochka, 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 · Usage account · with limits$3 · Pay-as-you-go (postpaid) · with limits$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$15 · Usage account · with limits$10 · Pay-as-you-go (postpaid) · 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
$203 · Usage account · with limits$141 · Pay-as-you-go (postpaid) · 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
$49 · Usage account · with limits$312 · Pay-as-you-go (postpaid) · 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
$97 · Usage account · with limits$2,080 · Pay-as-you-go (postpaid) · with limits$2,000 · $2000/mo · with limits

Oracle Cloud: Oracle bills per OCPU hour and per GB hour of memory while a VM runs, plus the boot disk until you delete it, and the first 10 TB of outbound data each month is free. The prices here use burstable E4 VMs billed at a 12.5% CPU baseline, so they sit far below a full-speed VM.

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 cheapest CX servers, which are out of stock; CPX and CCX cost more per hour.

Hetzner Cloud: 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

No Oracle or Hetzner row fits as priced. Oracle's prices use burstable VMs guaranteed only 12.5% of each vCPU, so a busy agent gets throttled, and a new tenancy starts with default or trial service limits that need an approved increase for 50 agents or 1,000 jobs. Hetzner's prices use the CX line, which its site marks as currently unavailable, its per-project server limits are raised by a request reviewed by hand, and short jobs are billed a full hour each. On bochka the 1,000-job burst needs more starts per day than the $2,000 plan allows, and starts above 90 a minute are queued.

ScenarioOracle CloudHetzner Cloudbochka
One coding agent, workdays
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
  • stock-limited: all CX types "currently unavailable" on hetzner.com (2,026-09-28)
None that bite
One agent that never stops
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
  • stock-limited: all CX types "currently unavailable" on hetzner.com (2,026-09-28)
None that bite
50 agents in parallel
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
  • stock-limited: all CX types "currently unavailable" on hetzner.com (2,026-09-28)
None that bite
Sandboxes for your users
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
  • stock-limited: all CX types "currently unavailable" on hetzner.com (2,026-09-28)
None that bite
1,000 short jobs at once
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
  • stock-limited: all CX types "currently unavailable" on hetzner.com (2,026-09-28)
  • 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 Oracle Cloud when

you need GPUs, Windows, macOS, nested KVM on x86 shapes, regions outside Europe and the US, or a free Arm box, and you are ready to build the sandbox layer yourself.

  • GPUs, Windows, Mac and nested KVM. Useful if agents need GPUs, Windows, macOS or VMs inside their machine: Oracle rents all of these, Hetzner Cloud none.
  • Stops that pause compute billing. Useful for machines that sit idle: a stopped standard Oracle VM pays only for its disk, while Hetzner bills a powered-off server in full.
  • A free always-on Arm box. Useful for one small personal box: Oracle's Always Free tier covers a modest Arm VM every month, which Hetzner does not offer.

Use Hetzner Cloud when

you want plain long-lived Linux servers with a simple hourly price and monthly cap, big dedicated machines or free outbound firewalls, and you run everything yourself.

  • Simple servers, simple bills. Useful if you want a plain Linux server: one hourly price with a monthly cap and up to 20 TB of EU traffic included.
  • Big dedicated machines. Useful for heavy single machines: dedicated CCX servers go up to 48 vCPU and 192 GB of memory.
  • Free outbound firewalls. Useful if a machine must reach only a few addresses: free Cloud Firewalls drop all other outbound traffic once you add a rule.

Where bochka fits

Oracle Cloud and Hetzner Cloud both rent general VMs, and neither is an agent sandbox. If what you are really running is agents, bochka gives each one a full VM that is ready to work: /dev/kvm, coding agents, a desktop, HTTPS ports, snapshots every minute and forks, with no sandbox layer for you to build.

VMs inside every machine

Hetzner says nested virtualization is not possible on its cloud servers, and Oracle documents it only on E5 and Standard3 Flex VMs, not Arm. bochka has /dev/kvm on every machine, so emulators and Firecracker just run.

Idle agents keep every minute of work

A powered-off Hetzner server bills in full, and an Oracle VM keeps billing its boot disk; both back up by hand or on a schedule. bochka saves the disk every minute, stops for free and forks a running sandbox.

Agents ready to drive from outside

Both start as an empty OS, so you install each agent, a desktop stream and the API key, which the agent's code can then read. bochka ships coding agents, a 60fps desktop and a credentials proxy, on CPUs about three times faster than Hetzner's CX33.

Use bochka when what you are really running is agents and you want each one on a full VM that already has /dev/kvm, Docker, coding agents, a desktop, HTTPS ports, snapshots every minute, forks and free stops. Compare it one to one: bochka vs Oracle Cloud and bochka vs Hetzner Cloud.

Questions people ask

Is Oracle Cloud cheaper than Hetzner Cloud?

It depends on how long machines run. For long sessions Hetzner is lower: one agent on workdays is $3 a month against $5, and 50 agents in parallel $141 against $203. For short jobs Oracle wins by far, because Hetzner bills every started hour: 1,000 short jobs at once come to $97 on Oracle against $2,080 a month on Hetzner. As priced, Oracle's VMs are throttled burstable shapes and Hetzner's CX servers are out of stock.

Which is faster, Oracle Cloud or Hetzner Cloud?

There is no comparable measurement for Oracle Cloud. Hetzner's shared CX33 did 8.88 Node.js build-and-test runs per second at 4 vCPU / 8 GB, against 26.69 for bochka. Oracle's speed depends on the shape you pick, and burstable shapes guarantee only part of each vCPU.

Can Oracle Cloud and Hetzner Cloud run Docker and nested virtualization?

Both give you root on a full VM, so Docker works once you install it. Oracle documents nested KVM on E5 and Standard3 Flex VMs, not on Ampere Arm VMs; Hetzner says nested virtualization is not possible on its cloud servers. bochka has Docker, systemd and /dev/kvm on every machine.

Do I pay for a stopped server?

On Hetzner, yes: a server bills at the full rate until you delete it, even when it is off. On Oracle, stopping a standard VM pauses compute billing, but the boot volume is billed until you delete it. On bochka, a stopped sandbox costs nothing and keeps its disk.

Which has GPUs, Windows or macOS?

Oracle Cloud rents Nvidia and AMD GPUs, Windows Server VMs, Mac servers and Ampere Arm VMs. Hetzner Cloud runs Linux only, with Arm CAX servers and no GPUs. bochka runs Linux on x86 only, with no GPUs.

Where does my data run?

Oracle Cloud has regions across the Americas, Europe, Asia, the Middle East, Africa and Australia. Hetzner Cloud runs in Germany and Finland, plus Ashburn, Hillsboro and Singapore. 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 product preview · Pricing, benchmarks and commands are illustrative. Sandbox provisioning is not connected.