Azure Virtual Machines vs Linode
Azure Virtual Machines is a huge cloud with Linux, Windows and Arm sizes, billed per minute, that stops charging for compute once you deallocate a VM. Linode is a plain Linux server on Akamai Cloud, billed by the hour with a monthly cap on most plans, and billed until you delete it.
The companies and products
Azure Virtual Machines
Azure Virtual Machines is Microsoft's general-purpose cloud VM service: you rent Linux or Windows machines by the minute in Azure regions worldwide.
It is a hyperscaler IaaS product, not a sandbox API. Each VM runs on Microsoft's Hyper-V hypervisor with its own kernel, root and SSH, and you pick from hundreds of sizes, including Arm, burstable and GPU families. Networking, disks, images, firewalls and any agent tooling are separate pieces you set up yourself, so it suits teams that already run on Azure and want full control.
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. “3rd cheapest of 364” means 2 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 | Azure Virtual Machines: 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 can host a software factory on full VMs, but you build the images, HTTPS and agent driver yourself on each; boat ships those on every machine. | 83rd of 367, with limits $730 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 | 113th of 366, with limits $644 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 | 114th of 345, with limits $222 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 Linode bills each 10-minute user session as a full hour, while Azure bills per minute, so Azure comes out far ahead here; boat adds the sandbox API on top. | 63rd of 361, with limits $500 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 Azure fits RL fleets much better because Spot VMs sell spare capacity cheaply, as long as rollouts survive eviction with 30 seconds of notice. | 19th of 360, with limits $1,039 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 All three fit; Azure's per-minute billing suits eval batches, while Linode's hourly rounding makes short runs cost more. | 3rd cheapest of 364 $173 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 full VMs, but on Linode every short job is billed as a full hour, and on both you run the runner software yourself. | 35th cheapest of 377 $335 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 Linode suits a 24/7 dev box well: a flat hourly price with a monthly cap and no commitment, where Azure's low always-on price needs a reservation. | 72nd cheapest of 368 $94 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 has a desktop stream built in: on Azure you install VNC or RDP, on Linode you reach your own desktop through the Glish console; boat streams a 60fps desktop. | 100th of 369, with limits $192 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 | 168th of 367, with limits $107 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 | 194th 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 | 81st of 338, with limits $2,044 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 | 110th of 360, with limits $46 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 Only Linode is ranked here with priced GPU instances by the hour; Azure also has GPU families such as NC with Nvidia H100 and A100, and boat has no GPUs. | Can't run it | 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 | Azure Virtual Machines | Linode | boat |
|---|---|---|---|
| What you get | A general cloud VM in a hyperscaler, with hundreds of sizes | A general Linux server on Akamai Cloud that you set up yourself | A sandbox API for agents, on full VMs |
| Isolation | Full Hyper-V VM with its own kernel | Full VM with its own kernel, isolated at the hypervisor | Full VM with its own kernel |
| Docker and nested virtualization | Root and Docker; nested virtualization on Intel and AMD D and F sizes, not on Arm or B-series | Root and Docker; Linode staff say nested virtualization is not supported | Docker, root, systemd and /dev/kvm on every machine |
| Billing | Per full minute while running; no plan fee | Hourly, rounded up to the next hour; monthly cap on most plans | Monthly plan from $20, all of it usage credit spent per second |
| Stopping | A deallocated VM stops compute billing; disks and static IPs keep billing | A powered-off Linode is still billed; you delete it to stop paying | A stopped sandbox costs nothing and keeps its disk |
| Snapshots and pause | Manual disk snapshots; scheduled ones need Azure Backup; hibernation keeps memory on supported sizes | Paid Backups add-on: scheduled backups plus one manual snapshot per Linode | Automatic snapshots every minute and on stop; resume reboots from disk |
| Fork and clone | Capture an image with the VM stopped, then boot new VMs cold | Clone copies the disks to a new Linode; docs say to power off first | Fork a running sandbox in one call |
| Desktop and computer use | None built in; you install your own VNC or RDP server | None in the images; you install one and reach it through the Glish console | 60fps desktop and Chromium, computer use and browser control |
| Reaching the machine | Public IPv4 and ports through security groups; HTTPS is yours, or a load balancer or gateway | Public IPv4 on any port; HTTPS needs your own certificates or a NodeBalancer | HTTPS URLs for up to 50 ports, token-protected; raw TCP; own IP |
| Outbound rules | Security group rules by IP; domain allowlists with the paid Azure Firewall | Free Cloud Firewall with outbound rules by protocol, port and IP range | Open internet on every plan; no provider-side allowlist |
| Coding agents and keys | No agents built in; Key Vault secrets are fetched into the VM | No agents built in; secrets reach the server through user data or files | Claude Code, Codex, OpenCode and more, driven by API; AI credentials proxy keeps keys out |
| Operating systems and CPUs | Linux and Windows on Intel, AMD and Arm sizes, including burstable B-series | Linux on shared or dedicated CPU plans | Linux on dedicated AMD Ryzen 9 9950X (Zen 5) hosts |
| GPUs | GPU families such as NC with Nvidia H100 and A100 | Nvidia RTX 4000 Ada, RTX PRO 6000 Blackwell and Quadro RTX 6000 by the hour | None |
| Regions | 77 regions worldwide, available or coming soon | 33 regions in 15 countries | EU only: Germany, Finland, France |
Every feature Battleships tracks (43)
| Feature | Azure Virtual Machines | 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 | No | No | Yes |
| Fork/clone | Yes | 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 | Yes | 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 | No | No | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | 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 Azure Virtual Machines or Linode: neither was part of the public StarSling benchmark run we use. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that run of 2026-09-29. Speed on Azure and Linode depends on the CPU family or plan you pick, such as Azure's burstable B-series or Linode's shared and dedicated plans.
Node.js build-and-test loop at 4 vCPU / 8 GB, higher is better. Measured with the open hpc-sandbox-benchmarks suite. Azure Virtual Machines 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 | Azure Virtual Machines, 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 | $26 · Pay-as-you-go subscription (no plan fee) | $13 · Usage account | $20 · $20/mo |
| One agent that never stops 4 vCPU / 8 GB, 50 GB disk, running 24/7 all month | $48 · Pay-as-you-go subscription (no plan 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 | $1,168 · Pay-as-you-go subscription (no plan 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 | $225 · Pay-as-you-go subscription (no plan 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 | $483 · Pay-as-you-go subscription (no plan fee) · with limits | $7,200 · Usage account · with limits | $2,000 · $2000/mo · with limits |
Azure Virtual Machines: Azure bills each VM per full minute while it runs, with no plan fee; disks, public IPv4 addresses and egress are extra, and disks keep billing while the VM is deallocated. Its lowest always-on price needs a 3-year reservation, billed whether the VM runs or not.
Linode: Each Linode size has an hourly price, rounded up to the next full hour, billed from create to delete even while powered off. Most plans stop at a monthly cap; G8 dedicated and GPU plans have no cap since July 2026, and backups cost extra.
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
Azure caps how many vCPUs you can run per region and per VM family, stopped VMs still count, and new subscriptions raise the quota by request. Linode publishes no fixed instance limit, and a new account raises its limits by support ticket. For 1,000 short jobs at once neither fits: Azure's burstable B-series guarantees 30% of each vCPU and throttles above that, and Linode bills every 3-minute job as a full hour on shared vCPUs that other tenants can slow. boat does not fit that burst either, because starts per minute and per day are capped even on the $2,000 plan.
| Scenario | Azure Virtual Machines | 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 |
|
|
|
Which one should you use?
Use Azure Virtual Machines when
you need Windows, Arm, nested virtualization on x86 sizes, Spot pricing, per-minute billing, or your company already runs inside Azure.
- Windows, Arm and nested VMs. Useful if you need Windows guests, Arm sizes, or nested virtualization, which Azure offers on its Intel and AMD D and F sizes.
- Per-minute billing and real stops. Useful for short or bursty work: Azure bills per minute and stops compute billing once you deallocate a VM.
- Spot VMs and hibernation. Useful if big batches can survive eviction for a lower price, or a machine must resume with its memory.
Use Linode when
you want a plain Linux server that runs all month at a simple capped price, with a free outbound firewall, GPUs by the hour and regions around the world.
- Simple, capped server billing. Useful for a server that runs all month: one hourly price with a monthly cap on most plans, and no commitment.
- Free outbound firewall. Useful if outbound traffic must follow rules: Cloud Firewall limits it by protocol, port and IP range at no charge.
- Shared or dedicated CPU. Useful if you want to choose between low-cost shared CPU and competition-free dedicated CPU on the same simple plans.
Where boat fits
Azure Virtual Machines and Linode are clouds that rent you plain servers, and both leave the agent layer to you. If what you are really running is agents, boat gives each one a full VM that already has Docker, /dev/kvm, a desktop, HTTPS URLs and coding agents you drive by API. Keep Azure or Linode for GPUs, Windows or regions outside the EU.
Free stops and forks of live machines
A powered-off Linode keeps billing, and a deallocated Azure VM still bills its disks. Copying a busy agent on either means stopping it to capture an image or clone. boat forks a running sandbox and saves its disk every minute.
/dev/kvm on every machine
Linode does not support nested virtualization, and Azure only has it on some Intel and AMD sizes, not Arm or burstable ones. On boat, Android emulators, Firecracker and VMs inside work on every machine, next to Docker and systemd.
Agents, desktop and keys built in
On both clouds you install and supervise each coding agent, a VNC or RDP desktop and TLS yourself, and keys placed on the server are readable by agent code. boat ships agents, a 60fps desktop, HTTPS on 50 ports and an AI credentials proxy.
Use boat when what you are really running is agents: each one gets a full VM with Docker, /dev/kvm, forks of running sandboxes, snapshots every minute, a desktop, HTTPS URLs and coding agents driven by API, and stops that cost nothing. Compare it one to one: boat vs Azure Virtual Machines and boat vs Linode.
Questions people ask
Is Azure Virtual Machines cheaper than Linode?
It depends on how the machine runs. One coding agent on workdays comes to $13 a month on Linode against $26 on Azure, and 50 agents in parallel come to $634 on Linode against $1,168 on Azure. Short sessions flip it: 30,000 ten-minute user sandboxes come to $225 on Azure against $1,080 on Linode, because Linode bills each one as a full hour. boat is $20, $317 and $200 for those three.
Which is faster, Azure Virtual Machines or Linode?
We have no comparable measurement for either one, since neither was in the public benchmark we use. Speed depends on the size you pick: Azure has burstable B-series and many CPU families, and Linode has shared and dedicated CPU plans. boat did 26.69 runs per second at 4 vCPU / 8 GB in that benchmark.
Can Azure Virtual Machines or Linode run nested VMs and Docker?
Both run Docker with root. Azure supports nested virtualization on Intel and AMD D and F sizes, but not on Arm or B-series sizes. 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 VM on Azure or Linode?
On Linode, yes: a powered-off Linode is billed until you delete it. On Azure, a VM shut down from inside the OS keeps billing; a stop (deallocate) from the portal, CLI or API ends compute billing, but disks and static IPs still bill. A stopped boat sandbox costs nothing and keeps its disk.
Does Linode have Windows or Arm like Azure?
No. Linode runs Linux only on x86, while Azure has Windows guests and Arm sizes on Cobalt 100 and Ampere Altra. boat also runs Linux only, on dedicated AMD Ryzen 9 9950X hosts.
Where does my data run?
Azure lists 77 regions worldwide and Linode has 33 regions in 15 countries, and both have regions in the EU. 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
More comparisons
- boat vs Azure Virtual Machines
- boat vs Linode
- AWS EC2 vs Azure Virtual Machines
- Google Compute Engine vs Azure Virtual Machines
- Azure Virtual Machines vs Oracle Cloud
- Azure Virtual Machines vs DigitalOcean
- Azure Virtual Machines vs Hetzner Cloud
- Azure Virtual Machines vs Vultr
- Azure Virtual Machines vs Scaleway
- Azure Virtual Machines vs OVHcloud
- Azure Virtual Machines vs IONOS Cloud
- Azure Virtual Machines vs Contabo