AWS EC2 vs Oracle Cloud

AWS EC2 and Oracle Cloud both rent general cloud VMs that you set up yourself. EC2 has more regions and newer nested virtualization; Oracle gives a free Arm box, 10 TB of free outbound data and low burstable rates that only guarantee an eighth of each vCPU.

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.

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.

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 rankOracle Cloud: price rankbochka: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
A software factory on either cloud means building the agent setup, preview URLs and machine copies yourself; bochka ships them on every machine.
87th of 367, with limits
$775 a month
58th of 367, with limits
$413 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
114th of 366, with limits
$646 a month
100th of 366, with limits
$376 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
102nd of 345, with limits
$165 a month
51st of 345, with limits
$16 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
On both clouds you build HTTPS access, per-user isolation and cleanup yourself; bochka creates each user a sandbox with an HTTPS URL by API.
70th of 361, with limits
$607 a month
31st of 361, with limits
$115 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
Both suit large rollout fleets once quotas are raised; Oracle's low rates come from burstable VMs, so heavy rollouts on it need full-speed shapes.
13th of 360, with limits
$830 a month
7th of 360, with limits
$679 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
Agent evals fit both clouds well, as long as the account's vCPU quota or tenancy limits are raised for the fleet you need.
5th cheapest of 364
$177 a month
Cheapest of 364
$136 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 CI runners on plain VMs you manage; bochka gives each job a full VM with Docker and /dev/kvm ready and nothing to maintain.
21st cheapest of 377
$255 a month
6th cheapest of 377
$102 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
One small dev box can run on Oracle's Always Free Arm allowance, though Oracle may reclaim free VMs it judges idle; on EC2 the disk and public IPv4 bill all month.
59th cheapest of 368
$76 a month
2nd cheapest of 368
$12 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 cloud has a desktop stream or computer-use API on its Linux VMs, so you install one yourself; bochka streams a 60fps desktop with Chromium.
103rd of 369, with limits
$195 a month
75th of 369, with limits
$97 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
154th of 367, with limits
$49 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
150th of 346, with limits
$32 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
35th of 338, with limits
$642 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
102nd of 360, with limits
$26 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
EC2 rents Nvidia GPU instances such as H100s for GPU eval jobs; bochka 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 EC2Oracle Cloudbochka
What you getA general cloud VM on the Nitro system that you set up yourselfA general cloud VM or bare metal server that you set up yourselfA sandbox VM made for agents, created and driven by API, with agents, desktop, URLs and snapshots set up
IsolationEvery instance is a Nitro VM with its own kernelEvery VM has its own kernel on a KVM hypervisor; bare metal also offeredEvery sandbox is a full VM with its own kernel
Docker and nested virtualizationRoot and systemd on any instance; /dev/kvm only on C8i, M8i, R8i and metal instancesRoot on every VM, Docker is yours to install; nested KVM documented on E5 and Standard3 Flex VMs, not on Ampere Arm VMsDocker, root, systemd and /dev/kvm ready on every machine
CPU you pay forFull vCPUs on the Graviton c7g sizes priced hereLow prices here come from burstable E4 VMs that guarantee 12.5% of each vCPU4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X (Zen 5) hosts, 26.69 runs/s measured
Coding agentsNone preinstalled; you install agents and drive them over SSH or Systems ManagerNone preinstalled; Oracle's AI agent service builds business agents, not coding agents in a VMClaude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API
Keeping keys out of the machineNo credential proxy; IAM role credentials and secrets are read from inside the instanceSecrets live in OCI Secret Management and the VM fetches them, so the key ends up insideAI credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out
Desktop and computer useLinux images have no desktop; Windows instances have Remote DesktopNo desktop on Compute VMs; OCI Secure Desktops is a separate product60fps desktop and Chromium, computer use and browser control, embeddable stream
Files after a stopEBS disk and public IPv4 kept and billed while stopped; snapshots manual or scheduledCompute billing pauses; boot volume billed until deleted; backups by hand or on a scheduleSnapshots every minute and on stop; a stopped sandbox costs nothing
Pause and forkHibernation keeps memory; a copy means making an image and booting a new instanceMake a custom image; imaging a running VM shuts it down for several minutesFork a running sandbox while it keeps running; resume reboots from disk
Reaching the machinePublic IPv4 ($0.005 an hour) and any port via security groups; HTTPS needs your own setupPublic IPv4 and any port via security rules; HTTPS through your own server or a load balancerHTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4
Outbound network rulesSecurity groups; domain allowlists with AWS Network Firewall or DNS Firewall (paid)Security lists and network security groups; domain filtering through OCI Network FirewallOpen internet on every plan; no provider-side allowlist
Free tierNew-account credit only; no lasting free computeUS$300 credit for 30 days plus Always Free Arm compute of 1,500 OCPU hours and 9,000 GB hours a monthPlans from $20 a month, all of it usage credit
GPUs, Windows and macOSNvidia GPUs from L4 up to H100 and H200; Windows; macOS on Mac Dedicated HostsNvidia B200, H200, H100, A100 and AMD MI300X; Windows; Mac servers; Ampere ArmLinux x86 only, no GPUs; Wine for Windows apps
Regions39 regions and 124 availability zones worldwidePublic regions on every inhabited continent, plus government and sovereign cloudsEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureAWS EC2Oracle Cloudbochka
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationYesYesYes
RootYesYesYes
SystemdYesYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesYesYes
Automatic snapshotsYesNoYes
Fork/cloneNoYesYes
Live fork (no pause)NoNoYes
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 serverNoYesNo
GPUYesYesNo
WindowsYesYesNo
Arm64YesYesNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNot publishedNot publishedYes
Usage per sandbox (API)YesYesYes
Audit logsNot publishedNot publishedNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

AWS EC2Not measured
Oracle CloudNot measured
bochka26.69 runs/s

There is no comparable measurement for AWS EC2 or Oracle Cloud: neither was part of StarSling's public sandbox benchmark run of 2026-09-29. In that run bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB. On both clouds speed depends on the shape you pick, and Oracle's burstable shapes guarantee only 12.5% 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. AWS EC2 and Oracle Cloud 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 monthOracle 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
$21 · Pay-as-you-go (no platform fee)$5 · Usage account · with limits$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$15 · Usage account · 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
$944 · Pay-as-you-go (no platform fee)$203 · Usage account · 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
$269 · Pay-as-you-go (no platform fee)$49 · 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)$97 · Usage account · with limits$2,000 · $2000/mo · with limits

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

Oracle Cloud: Oracle bills per OCPU hour (one x86 OCPU is two vCPUs) and per GB hour of memory while a VM runs, plus the boot disk until deleted. The Oracle prices here use burstable E4 VMs billed at a 12.5% CPU baseline, so they are far below a full-speed VM.

Oracle 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

Every Oracle row is marked as not fitting because its prices come from burstable VMs that guarantee an eighth of each vCPU, and an agent that builds all day gets throttled. A new AWS account can run only 5 vCPUs of standard On-Demand instances per region, and a new Oracle tenancy starts with default or trial service limits, so 50 agents or 300 user sandboxes need an approved increase on either. EC2's one agent that never stops reaches the price shown only with a 3-year commitment. On bochka 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 EC2Oracle Cloudbochka
One coding agent, workdaysNone that bite
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
None that bite
One agent that never stops
  • 3-year commitment
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
None that bite
50 agents in parallelNone that bite
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
None that bite
Sandboxes for your usersNone that bite
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
None that bite
1,000 short jobs at onceNone that bite
  • burstable CPU: 12.5% of each vCPU guaranteed, throttled above that
  • 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 full-speed VMs in many regions, nested virtualization on newer shapes, memory hibernation, or very large bursts of short jobs, and you have the people to build the agent tooling.

  • Nested virtualization on newer shapes. Useful if agents run VMs or emulators: EC2 offers /dev/kvm on virtual C8i, M8i and R8i instances, not only metal.
  • Memory hibernation. Useful if a machine must resume with its running processes intact: EC2 hibernation saves memory to disk.
  • Regions and availability zones. Useful if you need machines close to users worldwide: EC2 runs 39 regions with 124 availability zones.

Use Oracle Cloud when

you want a free Arm box, cheap outbound data, Nvidia B200 or AMD GPUs, or low burstable rates for light workloads, and you will build the sandbox layer yourself.

  • A free always-on Arm box. Useful for one small personal box: Oracle's Always Free tier covers a modest Arm VM every month.
  • Cheaper outbound data. Useful if agents move a lot of data out: Oracle's first 10 TB of outbound data each month is free.
  • Wider GPU choice. Useful if you need newer or AMD GPUs: Oracle rents Nvidia B200 and AMD MI300X alongside H100 and H200.

Where bochka fits

EC2 and Oracle Cloud are general clouds, and bochka is not one: it has no GPUs, Windows or regions outside the EU. If what you are really running is agents, though, both clouds hand you a bare VM and leave the sandbox layer to you, while bochka gives every agent a full VM that already has it.

Docker and /dev/kvm on every machine

On EC2, nested virtualization works only on C8i, M8i, R8i and metal instances. On Oracle it is documented only on E5 and Standard3 Flex VMs, not Arm. On bochka every sandbox has Docker, systemd and /dev/kvm ready.

Saved every minute, forked while running

When an agent breaks its machine, both clouds offer backups by hand or on a schedule. A copy needs a new image, and imaging a running Oracle VM shuts it down for minutes. bochka snapshots every minute and forks a running sandbox.

Agents, keys and a desktop built in

On either cloud you install the agent, build a way to prompt and watch it, add a desktop stream, and put the API key inside the VM. bochka drives preinstalled agents from outside and keeps real keys in its credentials proxy.

Use bochka when you want each agent on a ready full VM with Docker, /dev/kvm, a desktop, coding agents, keys kept outside, snapshots every minute and forks, with nothing to assemble. Compare it one to one: bochka vs AWS EC2 and bochka vs Oracle Cloud.

Questions people ask

Is AWS EC2 cheaper than Oracle Cloud?

On list price, no. In our table 50 agents in parallel come to $944 a month on EC2 and $203 on Oracle, and bochka to $317. But Oracle's numbers use burstable VMs throttled above 12.5% of each vCPU, so they do not fit a busy agent, and full-speed Oracle shapes cost more.

Which is faster, EC2 or Oracle Cloud?

Neither was part of the public benchmark run we use, so there is no fair number. Speed on both depends on the instance or shape you choose. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that run.

Can AWS EC2 and Oracle Cloud run Docker and nested VMs?

Both give you root, so you can install Docker on any VM. Nested KVM works on EC2's C8i, M8i, R8i and metal instances, and on Oracle's E5 and Standard3 Flex VMs, not its Ampere Arm VMs. On bochka, Docker and /dev/kvm are ready on every machine.

Can Oracle's Always Free tier run an agent?

A small one. Every tenancy gets 1,500 Arm OCPU hours and 9,000 GB hours of memory a month free, which covers a modest Arm VM. Oracle may reclaim free VMs that look idle, and the free capacity is not enough for a fleet.

Do EC2 or Oracle Cloud have a desktop for computer-use agents?

Not on their Linux VMs. EC2 Windows instances have Remote Desktop and Oracle sells Secure Desktops separately, but neither has a computer-use API. bochka streams a 60fps desktop with Chromium and computer use in every sandbox.

Where does my data run?

EC2 runs in 39 regions worldwide and Oracle Cloud has regions across the Americas, Europe, Asia, the Middle East, Africa and Australia. 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.