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 workload | AWS EC2: price rank | Oracle Cloud: price rank | boat: 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; boat 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; boat 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; boat 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; boat 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; boat has no GPUs. | 25th cheapest of 98 $1,723 a month | 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 | AWS EC2 | Oracle Cloud | boat |
|---|---|---|---|
| What you get | A general cloud VM on the Nitro system that you set up yourself | A general cloud VM or bare metal server that you set up yourself | A sandbox VM made for agents, created and driven by API, with agents, desktop, URLs and snapshots set up |
| Isolation | Every instance is a Nitro VM with its own kernel | Every VM has its own kernel on a KVM hypervisor; bare metal also offered | Every sandbox is a full VM with its own kernel |
| Docker and nested virtualization | Root and systemd on any instance; /dev/kvm only on C8i, M8i, R8i and metal instances | Root on every VM, Docker is yours to install; nested KVM documented on E5 and Standard3 Flex VMs, not on Ampere Arm VMs | Docker, root, systemd and /dev/kvm ready on every machine |
| CPU you pay for | Full vCPUs on the Graviton c7g sizes priced here | Low prices here come from burstable E4 VMs that guarantee 12.5% of each vCPU | 4 vCPU / 8 GB on dedicated AMD Ryzen 9 9950X (Zen 5) hosts, 26.69 runs/s measured |
| Coding agents | None preinstalled; you install agents and drive them over SSH or Systems Manager | None preinstalled; Oracle's AI agent service builds business agents, not coding agents in a VM | Claude Code, Codex, OpenCode and more preinstalled, driven from outside with a prompt, steer and events API |
| Keeping keys out of the machine | No credential proxy; IAM role credentials and secrets are read from inside the instance | Secrets live in OCI Secret Management and the VM fetches them, so the key ends up inside | AI credentials proxy for model providers and any HTTPS API; switch a credential to another account when credits run out |
| Desktop and computer use | Linux images have no desktop; Windows instances have Remote Desktop | No desktop on Compute VMs; OCI Secure Desktops is a separate product | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Files after a stop | EBS disk and public IPv4 kept and billed while stopped; snapshots manual or scheduled | Compute billing pauses; boot volume billed until deleted; backups by hand or on a schedule | Snapshots every minute and on stop; a stopped sandbox costs nothing |
| Pause and fork | Hibernation keeps memory; a copy means making an image and booting a new instance | Make a custom image; imaging a running VM shuts it down for several minutes | Fork a running sandbox while it keeps running; resume reboots from disk |
| Reaching the machine | Public IPv4 ($0.005 an hour) and any port via security groups; HTTPS needs your own setup | Public IPv4 and any port via security rules; HTTPS through your own server or a load balancer | HTTPS URLs for up to 50 ports, token-protected; raw TCP; dedicated IPv6 or IPv4 |
| Outbound network rules | Security groups; domain allowlists with AWS Network Firewall or DNS Firewall (paid) | Security lists and network security groups; domain filtering through OCI Network Firewall | Open internet on every plan; no provider-side allowlist |
| Free tier | New-account credit only; no lasting free compute | US$300 credit for 30 days plus Always Free Arm compute of 1,500 OCPU hours and 9,000 GB hours a month | Plans from $20 a month, all of it usage credit |
| GPUs, Windows and macOS | Nvidia GPUs from L4 up to H100 and H200; Windows; macOS on Mac Dedicated Hosts | Nvidia B200, H200, H100, A100 and AMD MI300X; Windows; Mac servers; Ampere Arm | Linux x86 only, no GPUs; Wine for Windows apps |
| Regions | 39 regions and 124 availability zones worldwide | Public regions on every inhabited continent, plus government and sovereign clouds | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | AWS EC2 | Oracle Cloud | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | 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 | Yes | No | Yes |
| Fork/clone | No | Yes | Yes |
| Live fork (no pause) | No | No | 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 | Yes | No |
| GPU | Yes | Yes | No |
| Windows | Yes | Yes | No |
| Arm64 | Yes | Yes | 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 | Not published | Not published | Yes |
| Usage per sandbox (API) | Yes | Yes | Yes |
| Audit logs | Not published | Not published | No |
| SSO | Yes | Yes | No |
| SOC 2 | Yes | Yes | No |
| HIPAA | Yes | Yes | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
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 boat 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.
| Scenario | AWS EC2, a month | Oracle Cloud, a month | boat, 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 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.
| Scenario | AWS EC2 | Oracle Cloud | boat |
|---|---|---|---|
| One coding agent, workdays | None that bite |
| None that bite |
| One agent that never stops |
|
| None that bite |
| 50 agents in parallel | None that bite |
| None that bite |
| Sandboxes for your users | None that bite |
| None that bite |
| 1,000 short jobs at once | None that bite |
|
|
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 boat fits
EC2 and Oracle Cloud are general clouds, and boat 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 boat 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 boat 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. boat 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. boat drives preinstalled agents from outside and keeps real keys in its credentials proxy.
Use boat 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: boat vs AWS EC2 and boat 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 boat 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. boat 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 boat, 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. boat 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. boat runs only in the EU (Germany, Finland and France), with EU data residency.
Try boat
Install the CLI, then run boat new.
7-day free trial