AWS EC2 vs Linode
AWS EC2 is a huge cloud that bills VMs by the second and offers Linux, Windows, macOS, Arm and big GPUs. Linode, now Akamai Cloud, rents plain Linux servers by the hour, rounded up, with simple flat rates.
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.
Linode
Linode is a general-purpose cloud, now sold as Akamai Cloud, and a Linode is one of its Linux virtual machines.
A Linode is a Linux VM you rent by size, with root, a public IP, local disk and, on older plans, a monthly transfer allowance. You pick a distribution, then install and run your own software on it, next to Akamai Cloud products like Kubernetes, block storage, NodeBalancers, VPCs and cloud firewalls. It is a server host, 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 workload | AWS EC2: price rank | Linode: price rank | boat: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month Both give you an empty Linux VM where you build the agent setup, preview URLs and copies yourself; boat ships those on every machine. | 87th of 367, with limits $775 a month | 145th of 367, with limits $1,292 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 | 164th of 366, with limits $1,200 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 AWS EC2 bills per second while Linode bills every short run as a full hour, so EC2 fits bursts better; boat's start limits queue big bursts. | 102nd of 345, with limits $165 a month | 174th of 345, with limits $1,200 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 Sandboxes for your users come to $269 a month on AWS EC2 against $1,080 on Linode, because Linode bills each 10-minute session as an hour; boat fits fully at $200 a month. | 70th of 361, with limits $607 a month | 114th of 361, with limits $1,090 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 AWS EC2 can launch big fleets of short rollouts once your quota is raised, while Linode bills each one as a full hour. | 13th of 360, with limits $830 a month | 186th of 360, with limits $24,000 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 | 5th cheapest of 364 $177 a month | 55th cheapest of 364 $1,080 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, but short jobs cost less on AWS EC2 with per-second billing than on Linode's hourly rounding. | 21st cheapest of 377 $255 a month | 137th cheapest of 377 $4,320 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB A 24/7 dev box comes to $48 a month on Linode against $76 on AWS EC2, and boat keeps its disk with snapshots every minute. | 59th cheapest of 368 $76 a month | 40th cheapest of 368 $48 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 ships a desktop on Linux: on EC2 or a Linode you install and stream one yourself, while boat streams a 60fps desktop with Chromium. | 103rd of 369, with limits $195 a month | 272nd of 369, with limits $1,440 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 | 311th of 367, with limits $1,080 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 | 190th of 346, with limits $108 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 | 89th of 338, with limits $2,160 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 | 189th of 360, with limits $182 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 Both rent Nvidia GPUs: EC2 goes up to H100 and H200, Linode offers RTX cards by the hour, and boat has no GPUs. | 25th cheapest of 98 $1,723 a month | 78th of 98, with limits $1,500 a month | 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 | Linode | boat |
|---|---|---|---|
| What you get | A general cloud VM on the Nitro system with its own kernel; you set up the rest | A general Linux VM with its own kernel; you set up the rest | A full VM with its own kernel, with agents, desktop, URLs and snapshots set up |
| Billing unit | Per second, 60 second minimum | Per hour, rounded up to the next hour; most plans have a monthly cap | Per second from monthly usage credit |
| Stopped machines | Compute stops billing; the EBS disk and public IPv4 keep billing | A powered-off Linode is still billed; you delete it to stop paying | A stopped sandbox costs nothing and keeps its disk |
| Docker and nested virtualization | Docker, root and systemd; /dev/kvm only on C8i, M8i, R8i and metal instances | Docker and root; Linode staff say nested virtualization is not supported | Docker, root, systemd and /dev/kvm on every machine |
| Snapshots | EBS snapshots, manual or scheduled with Data Lifecycle Manager | Paid Backups add-on with one manual snapshot per Linode | Automatic snapshots every minute and on stop |
| Copying a machine | Make an image, then boot a new instance from it | Clone copies the disks to a new Linode; the docs say to power off first | Fork a running sandbox in one call (disk, no memory) |
| Desktop and computer use | Linux images have no desktop; Windows has Remote Desktop; no computer-use API | No desktop in the images; you install one and reach it through the Glish console | 60fps desktop with Chromium, computer use and browser control |
| Coding agents | None preinstalled; you drive them over SSH or Systems Manager | None; StackScripts and Marketplace apps install general software | Claude Code, Codex, OpenCode and more, driven from outside with a prompt, steer and events API |
| Keeping keys out of the machine | No credentials proxy; IAM role credentials are read inside the instance | No credentials proxy; secrets reach the server through user data or files | AI credentials proxy for model providers and any HTTPS API |
| Reaching the machine | Public IPv4 ($0.005 an hour); HTTPS needs your own domain, certificate and load balancer or web server | Public IPv4 on any port; HTTPS needs your own certificates or a NodeBalancer | HTTPS URLs on up to 50 ports, token-protected; raw TCP; own IP |
| Outbound rules | Security groups; domain allowlists with paid Network Firewall or DNS Firewall | Free Cloud Firewall with outbound rules by protocol, port and IP range | Open internet on every plan; no provider-side allowlist |
| Operating systems and CPUs | Linux and Windows on Intel, AMD and Graviton Arm; macOS on Mac Dedicated Hosts | Linux only, on shared or dedicated CPU plans | Linux on dedicated AMD Ryzen 9 9950X (Zen 5) hosts |
| GPUs | Nvidia L4 and L40S up to H100 and H200 | Nvidia RTX 4000 Ada, RTX PRO 6000 Blackwell and Quadro RTX 6000 by the hour; HGX B300 through sales | None |
| Regions | 39 regions worldwide | 33 regions in 15 countries | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | AWS EC2 | Linode | boat |
|---|---|---|---|
| Full VM (own kernel) | Yes | Yes | Yes |
| Docker inside | Yes | Yes | Yes |
| Nested virtualization | Yes | No | 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 | No | 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 | No | No |
| GPU | Yes | Yes | No |
| Windows | Yes | No | No |
| Arm64 | Yes | No | No |
| Self-hosting | No | No | No |
| BYOC | No | No | No |
| Open source | No | No | No |
| Scoped API keys | Not published | Yes | Yes |
| Spend limits | Not published | No | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Not published | Yes | 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 Linode: 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 both clouds, speed depends on the instance family or plan you pick.
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 Linode 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 | Linode, 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) | $13 · 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 | $48 · 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) | $634 · 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) | $1,080 · Usage account | $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) | $7,200 · 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 bill on top, also while stopped, and lower rates need a 1-year or 3-year commitment.
Linode: Each Linode size has an hourly price, rounded up to the next full hour, billed from create to delete, including while powered off. Most plans stop at a monthly cap, but G8 and GPU plans have no cap since July 2026.
Linode: 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, so 50 agents in parallel or 300 user sandboxes need a quota raise first, and the always-on price on EC2 needs a 3-year commitment. Linode raises account limits by support ticket, rounds each short session up to an hour, and runs the 1,000-job burst on shared vCPUs that other tenants can slow, so that burst does not fit. On boat the same burst is queued by start limits: 90 a minute, 600 an hour and 2,400 a day on the $2,000 plan.
| Scenario | AWS EC2 | Linode | boat |
|---|---|---|---|
| One coding agent, workdays | None that bite | None that bite | None that bite |
| One agent that never stops |
| None that bite | None that bite |
| 50 agents in parallel | None that bite | None that bite | None that bite |
| Sandboxes for your users | None that bite | None that bite | None that bite |
| 1,000 short jobs at once | None that bite |
|
|
Which one should you use?
Use AWS EC2 when
machines live for minutes, you need Windows, macOS, Arm or large GPUs, or you need domain allowlists and regions on every continent.
- Per-second billing for short jobs. Useful if machines live for minutes: EC2 bills per second, while Linode bills every instance as at least a full hour.
- Windows, macOS, Arm and bigger GPUs. Useful if you need more than Linux: EC2 runs Windows, Graviton Arm, Mac hosts and Nvidia H100 or H200 GPUs.
- Domain allowlists and nested virtualization. Useful if code may only reach chosen domains, or needs /dev/kvm: EC2 offers both on chosen services and instance families.
Use Linode when
you want plain Linux servers that run for days or months at simple flat rates with a monthly cap, next to a free firewall.
- Lower flat rates for steady servers. Useful for a machine that runs all month: a 4 vCPU Linode costs less than EC2 on demand, with no commitment.
- A monthly cap on most plans. Useful if you want a bill you can predict: most Linode plans stop charging at a monthly cap.
- A free firewall with outbound rules. Useful if you must limit where a server connects: Linode's Cloud Firewall filters outbound traffic by protocol, port and IP at no charge.
Where boat fits
AWS EC2 and Linode are general clouds, not agent sandboxes. If what you are really running is coding agents, each on its own machine, boat gives every agent a full VM that is ready to work, so you skip building the tooling on either cloud.
Nested virtualization on every machine
Agents that run Android emulators or their own VMs need /dev/kvm. Linode does not support nested virtualization, and EC2 offers it only on C8i, M8i, R8i and metal instances, so you are tied to those families.
Free stops and forks of a running machine
A powered-off Linode still bills in full, and a stopped EC2 instance still bills its disk and IPv4. Copying a busy agent means an image and a fresh boot on EC2, or powering off first on Linode.
Agents, desktop and keys handled
Both start as empty servers, so you install and supervise each agent and desktop yourself, and the keys you place there can be read by the code the agent runs. boat's credentials proxy keeps real keys outside.
Use boat when each agent needs its own full VM that is ready to work: /dev/kvm, coding agents driven from outside, a desktop, HTTPS URLs, snapshots every minute, forks and free stops. Compare it one to one: boat vs AWS EC2 and boat vs Linode.
Questions people ask
Is AWS EC2 cheaper than Linode?
For long runs, Linode usually is: one coding agent on workdays comes to $13 a month on Linode against $21 on EC2, and 50 agents in parallel to $634 on Linode against $944 on EC2. For short sessions EC2 wins, because Linode bills each as a full hour: sandboxes for your users come to $269 on EC2 against $1,080 on Linode.
Which is faster, AWS EC2 or Linode?
We have no comparable measurement for either: neither was in the public benchmark run we use. Speed on both depends on the instance family or plan, and Linode sells shared and dedicated CPU plans. boat did 26.69 runs per second in that run at 4 vCPU / 8 GB.
Can AWS EC2 and Linode run Docker and nested VMs?
Both give you root and run Docker. EC2 supports KVM inside virtual C8i, M8i and R8i instances since February 2026, and on metal instances. Linode staff say nested virtualization is not supported because it breaks live migration. boat has /dev/kvm on every machine.
Do I pay for a stopped machine?
On EC2, a stopped instance stops billing compute but still bills its EBS disk and public IPv4. On Linode, a powered-off instance is billed in full until you delete it. On boat, a stopped sandbox costs nothing and keeps its disk.
Does Linode run Windows or macOS like EC2?
No. Linode sells Linux virtual machines only. EC2 runs Windows Server with Remote Desktop and macOS on Mac Dedicated Hosts with a 24-hour minimum. boat also runs only Linux.
Where do AWS EC2 and Linode run?
EC2 runs in 39 regions worldwide and Linode in 33 regions in 15 countries, and both include regions in Europe. boat runs only in the EU, in Germany, Finland and France, with EU data residency.
Try boat
Install the CLI, then run boat new.
7-day free trial