AWS EC2 vs OVHcloud

AWS EC2 and OVHcloud Public Cloud both rent general VMs by the second that you install and run yourself. EC2 has more regions, chip types, GPUs and macOS; OVHcloud is a French cloud with simpler, lower list prices on its shared Discovery instances.

The companies and products

AWS EC2

AWS EC2 is Amazon's general-purpose cloud VM service, not a sandbox product: you rent virtual servers by the second and set them up yourself.

You pick an instance type (Intel, AMD, Graviton Arm, GPU or Mac), a machine image and a network, and EC2 boots a Nitro VM with its own kernel and root access. Disks are EBS volumes, inbound traffic goes through security groups, and anything agent-specific (agents, desktops, HTTPS URLs, key handling) is yours to build. It is built for every kind of server workload, from websites to GPU training, across AWS's worldwide regions.

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. “5th cheapest of 364” means 4 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 workloadAWS EC2: price rankOVHcloud: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Both rent a plain VM, so on either one you build the agent setup, preview URLs and cloning yourself; boat ships them on every machine.
87th of 367, with limits
$775 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
An always-on assistant fits both, but a stopped EC2 instance still bills its disk and IPv4, and a turned-off OVHcloud instance bills its full rate until deleted.
114th of 366, with limits
$646 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
Both bill by the second after a 1-minute minimum, so short runs suit them better than boat's start limits allow.
102nd of 345, with limits
$165 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
300 user sandboxes need EC2's default quota of 5 vCPUs per region raised, and go past OVHcloud's largest self-serve quota of 512 vCPU, so both need a request first.
70th of 361, with limits
$607 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
EC2 fits large RL rollouts better: it can launch big fleets once your quota is raised, while OVHcloud quotas grow in steps and boat caps starts per day.
13th of 360, with limits
$830 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
EC2 and boat both fit agent evals fully, while OVHcloud is a compromise here; on EC2 you still build the harness and clean-up yourself.
5th cheapest of 364
$177 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
21st cheapest of 377
$255 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
59th cheapest of 368
$76 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 has a desktop or a computer-use API on Linux, so you install and stream one yourself; boat streams a 60fps desktop out of the box.
103rd of 369, with limits
$195 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
165th of 367, with limits
$101 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
195th of 346, with limits
$116 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
82nd of 338, with limits
$2,046 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
108th of 360, with limits
$45 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
Only EC2 is ranked here, with Nvidia GPUs up to H100 and H200; OVHcloud also rents L4 and L40S GPUs, and boat has no GPUs.
25th cheapest of 98
$1,723 a month
Can'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

FeatureAWS EC2OVHcloudboat
What you getA general cloud VM on AWS; you install and wire everything elseA general OpenStack VM on OVHcloud; you install and wire everything elseAn agent sandbox: a full VM with agents, desktop, HTTPS URLs and snapshots set up
IsolationEvery instance is a Nitro VM with its own kernelEvery instance is a fully isolated VM with its own kernelEvery sandbox is a full VM with its own kernel
Docker and nested virtualizationDocker, root and systemd on any instance; /dev/kvm only on C8i, M8i, R8i and metal instancesRoot and Docker; the vmx flag is passed, but OVHcloud warns a live migration can make the guest kernel panicDocker, root, systemd and /dev/kvm on every machine, documented
StoppingStopping ends compute charges; EBS disks and public IPv4 keep billingTurned-off and paused instances bill at the same rate; shelving frees compute and bills only a disk snapshotA stopped sandbox costs nothing and keeps its disk
SnapshotsManual EBS snapshots, or scheduled with Data Lifecycle ManagerOn-demand instance backups, or a schedule such as daily backupsAutomatic snapshots every minute and on stop
Pause and forkHibernation keeps memory for the same instance; a copy means making an image and booting a new instanceNo memory pause; a copy means taking a backup and creating a new instance from itFork a running sandbox in one call (disk, no memory); resume reboots from disk
Coding agents and keysNone preinstalled; secrets and IAM role credentials are read from inside the instanceNone preinstalled; secrets live on the instance or are fetched from inside itClaude Code, Codex, OpenCode and more preinstalled with a prompt, steer and events API; credentials proxy for any HTTPS API
Desktop and computer useLinux images have no desktop; Windows instances have Remote Desktop; no computer-use APINone built in; you install a desktop and connect over SSH or RDP60fps desktop and Chromium, computer use and browser control, embeddable stream
Reaching the machinePublic IPv4 ($0.005 an hour) and any port through security groups; HTTPS needs your own domain and certificatePublic IPv4 on any port; HTTPS needs your own certificates or a load balancerHTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP
Outbound network rulesSecurity groups per instance; domain allowlists with AWS Network Firewall or DNS Firewall (paid)Security groups with outbound rules by IP range, port and protocolOpen internet on every plan; no provider-side allowlist
GPUsNvidia GPU instances from L4 and L40S up to H100 and H200Nvidia GPU instances such as L4 and L40SNone
Operating systems and CPUsLinux and Windows on Intel, AMD and Graviton Arm; macOS on Mac Dedicated HostsLinux and Windows Server (license included); no Arm or macOSLinux on dedicated AMD Ryzen 9 9950X (Zen 5) hosts; Wine for Windows apps
Regions39 regions worldwide, including several in the EUEurope, Canada, the US, Singapore and Sydney, plus Local ZonesEU only: Germany, Finland, France
Starting quota5 vCPUs of On-Demand standard instances per region by default; raised with usage or on requestRaised in steps of 20, 50, 100 and 200 VMs by buying prepaid credit; more through support100 to 2,000 sandboxes by plan, plus limits on starts per minute, hour and day
Every feature Battleships tracks (43)
FeatureAWS EC2OVHcloudboat
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationYesYesYes
RootYesYesYes
SystemdYesYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsYesYesYes
Fork/cloneNoYesYes
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 serverNoNoNo
GPUYesYesNo
WindowsYesYesNo
Arm64YesNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)YesNoYes
Audit logsNot publishedNot publishedNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

AWS EC2Not measured
OVHcloudNot measured
boat26.69 runs/s

There is no comparable measurement for AWS EC2 or OVHcloud: neither was part of the public StarSling benchmark run we use. In that run, on 2026-09-29, boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB. On EC2 speed depends on the instance family you pick, and OVHcloud's cheap Discovery (D2) instances share their CPU.

Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. AWS EC2 and OVHcloud 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.

ScenarioAWS EC2, a monthOVHcloud, a monthboat, 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
$21 · Pay-as-you-go (no platform fee)$8 · Usage account$20 · $20/mo
One agent that never stops
4 vCPU / 8 GB, 50 GB disk, running 24/7 all month
$51 · Pay-as-you-go (no platform fee) · 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
$944 · Pay-as-you-go (no platform fee)$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
$269 · Pay-as-you-go (no platform fee)$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
$502 · Pay-as-you-go (no platform fee)$256 · Usage account · with limits$2,000 · $2000/mo · with limits

AWS EC2: EC2 bills each instance per second (60 second minimum) at its list rate, here the Graviton c7g sizes on demand, with no platform fee. EBS disks and public IPv4 addresses bill on top, also while stopped, and lower rates need a 1-year or 3-year commitment.

OVHcloud: OVHcloud bills every second an instance exists, after a 1-minute minimum, until you delete it; turned-off instances bill at the same rate. The prices here use the shared Discovery d2 instances; since October 2026, dedicated B3, C3 and R3 instances also bill local storage and a public IPv4 on top.

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

A new AWS account can run only 5 vCPUs of standard On-Demand instances per region, one 4 vCPU machine, so 50 agents or 300 user sandboxes need the quota raised first. OVHcloud raises quotas in steps up to 200 VMs by buying prepaid credit, and 300 user sandboxes or 1,000 short jobs at once go past its 512 vCPU, so those need support. EC2's always-on price needs a 3-year commitment. On boat, the 1,000-job burst does not fit: the $2,000 plan allows 90 starts a minute, 600 an hour and 2,400 a day.

ScenarioAWS EC2OVHcloudboat
One coding agent, workdaysNone that biteNone that biteNone that bite
One agent that never stops
  • 3-year commitment
None that biteNone that bite
50 agents in parallelNone that bite
  • how many machines can run at once: limit not published, probably fine at 50 (the typical published limit is 50)
None that bite
Sandboxes for your usersNone that bite
  • not confirmed: how many machines can run at once (you need 300; the typical published limit is 50)
None that bite
1,000 short jobs at onceNone that bite
  • not confirmed: how many machines can run at once (you need 1,000; the typical published limit is 50)
  • shared vCPUs (no guaranteed share of a core): heavy, sustained CPU use can be slowed by other tenants
  • 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 AWS EC2 when

you need GPUs up to H100, macOS or Arm, regions all over the world, or very large fleets once your quota is raised, and you have the people to build on a blank VM.

  • Every chip, GPU and operating system. Useful if your work needs Arm, macOS or big GPUs: EC2 rents Graviton, Mac hosts and Nvidia H100 and H200 cards.
  • Regions all over the world. Useful if your users are spread out: EC2 runs in 39 regions, many more places than OVHcloud reaches.
  • Domain rules and memory hibernation. Useful if code may only reach chosen domains, or a machine must resume with its memory: EC2 does both.

Use OVHcloud when

you want lower list prices from a European provider, GPUs such as L4 and L40S, Windows servers, or long-lived servers next to Kubernetes and private networks in one cloud.

  • Lower list prices. Useful if budget leads: OVHcloud came in below EC2 in every scenario we priced, using its shared Discovery instances.
  • A European company with a wide cloud. Useful if you want a French provider with Kubernetes, private networks and object storage next to your servers.
  • No commitment for an always-on server. Useful for a server that runs all month: OVHcloud's price needs no term, while EC2's lowest one needs three years.

Where boat fits

EC2 and OVHcloud are general clouds, and boat is not trying to be one: it has no GPUs, no Windows guests and runs only in the EU. If what you are really running is agents, each on its own Linux machine, boat gives you that machine ready, with agents, a desktop, HTTPS URLs and snapshots, instead of a blank VM you build on.

Reliable /dev/kvm on every machine

Agents that run emulators or their own VMs need KVM. On EC2 that means picking C8i, M8i, R8i or metal instances, and on OVHcloud a live migration you do not control can crash the guest kernel mid-run.

Free stops, and fork while running

Agents sit idle and branch often. A stopped EC2 instance still bills its disk and IPv4, a turned-off OVHcloud instance bills its full rate, and a copy on either means an image or backup plus a fresh boot.

Agents, desktop and keys handled from outside

On both clouds you install, prompt and watch every agent over SSH, add a desktop yourself, and the AI keys sit inside the machine. boat has agents with an API, a 60fps desktop and a credentials proxy built in.

Use boat when what you run is agents, each on its own full VM that is ready to work: coding agents with an API, keys kept outside, a desktop, HTTPS URLs, snapshots every minute, reliable /dev/kvm, fork while running and stops that cost nothing. Compare it one to one: boat vs AWS EC2 and boat vs OVHcloud.

Questions people ask

Is AWS EC2 cheaper than OVHcloud?

No, not in the scenarios we priced. One coding agent on workdays comes to $8 a month on OVHcloud against $21 on EC2, and 50 agents in parallel to $406 against $944. OVHcloud's numbers use shared Discovery instances, and its quota for 300 or 1,000 machines at once is not confirmed.

Which is faster, EC2 or OVHcloud?

We have no comparable measurement for either one. Speed depends on the family you pick: EC2 offers Graviton Arm and recent Intel and AMD chips, and OVHcloud's B3 and C3 have dedicated resources while Discovery instances share theirs. boat did 26.69 runs per second in the StarSling benchmark at 4 vCPU / 8 GB.

Can EC2 and OVHcloud run Docker and nested VMs?

Both run Docker, since each instance is a full VM with root. EC2 supports KVM inside virtual C8i, M8i and R8i instances and on metal, and OVHcloud passes the vmx flag but warns a live migration can make the guest kernel panic. On boat, /dev/kvm is on every machine.

Do I pay for a stopped instance?

On EC2, stopping ends compute charges, but the EBS disk and any public IPv4 keep billing. On OVHcloud, a turned-off instance bills at the same rate until you delete or shelve it. On boat, a stopped sandbox costs nothing and keeps its disk.

Which has more regions?

EC2 runs in 39 regions worldwide. OVHcloud runs in Europe, Canada, the US, Singapore and Sydney, plus Local Zones. boat runs only in the EU, in Germany, Finland and France, with EU data residency.

Is boat SOC 2 compliant?

SOC 2 is in progress. We're open about where we stand: live status at status.ascii.dev and our data retention policy at docs.boat.dev/data-retention.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons