Azure Virtual Machines vs DigitalOcean

Azure Virtual Machines is a huge menu of Linux, Windows, Arm and GPU machines in 77 regions, with quotas, reservations and Spot. DigitalOcean Droplets are simpler Linux servers with a fixed hourly price and a monthly cap, but a new team can only run 3 at once.

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.

DigitalOcean

DigitalOcean is a general-purpose cloud, and Droplets are its Linux virtual machines.

A Droplet is a Linux VM you rent by size, with root, a public IP, local SSD and a monthly transfer allowance. You pick an image, then install and run your own software on it, next to DigitalOcean products like Kubernetes, managed databases, load balancers 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. DigitalOcean also sells two separate products in preview, Harness Runtime for agents and MicroVMs, which are not Droplets.

Founded
2012

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 workloadAzure Virtual Machines: price rankDigitalOcean: price rankboat: price rank
Software factory
100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month
Both give a full Linux VM with root and Docker that you set up yourself; boat ships agents, snapshots, HTTPS URLs and free stops on every machine.
83rd of 367, with limits
$730 a month
134th of 367, with limits
$1,187 a month
3rd cheapest of 367
$634 a month
Always-on AI employees
50 machines 24/7 · 2 vCPU / 4 GB
A Droplet is the simpler always-on server and Azure is cheapest only on a 3-year reservation; boat runs it month to month with snapshots and a desktop.
113th of 366, with limits
$644 a month
35th of 366, with limits
$1,429 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
DigitalOcean bills per second with a 60 second minimum and Azure per full minute, so both suit short runs better than boat, whose start limits make big bursts a compromise.
114th of 345, with limits
$222 a month
63rd of 345, with limits
$60 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
A new DigitalOcean team can run 3 Droplets at once, and Azure caps vCPUs per region and family; boat allows 100 to 2,000 sandboxes by plan.
63rd of 361, with limits
$500 a month
54th of 361, with limits
$421 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 Spot VMs make big RL fleets cheap if rollouts survive eviction with 30 seconds of notice; DigitalOcean sells spot only for GPU Droplets.
19th of 360, with limits
$1,039 a month
31st of 360, with limits
$1,786 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
Azure fits eval batches well with per-minute billing and many sizes; on DigitalOcean the 3 Droplet limit of a new team gets in the way first.
3rd cheapest of 364
$173 a month
106th of 364, with limits
$357 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
35th cheapest of 377
$335 a month
146th of 377, with limits
$171 a month
4th cheapest of 377
$86 a month
24/7 dev boxes
1 machine 24/7 · 4 vCPU / 8 GB
All three fit a 24/7 dev box: a Droplet or an Azure VM is a classic always-on server, and a boat machine keeps its disk with snapshots every minute.
72nd cheapest of 368
$94 a month
39th 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 Azure nor DigitalOcean has a desktop stream built in, so you install a desktop and VNC yourself; boat streams a 60fps desktop with Chromium.
100th of 369, with limits
$192 a month
117th of 369, with limits
$263 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
56th of 367, with limits
$147 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
88th of 346, with limits
$175 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
69th of 338, with limits
$1,786 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
22nd of 360, with limits
$199 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
Can't run itCan'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

FeatureAzure Virtual MachinesDigitalOceanboat
What you getA general cloud VM from hundreds of sizes; images, networking and tooling are yours to set upA general Linux server you set up and run yourselfAn agent sandbox: a full VM per sandbox, created and driven by API
IsolationFull Hyper-V VM with its own kernelFull VM with its own kernelFull VM with its own kernel
Operating systems and CPUsLinux and Windows guests on Intel, AMD and Arm sizes, plus burstable B-seriesLinux only on x86; Basic plans share hyper-threads, dedicated CPU plans cost moreLinux on dedicated AMD Ryzen 9 9950X (Zen 5) hosts; Wine for Windows apps
Docker and nested virtualizationRoot and Docker on any size; nested virtualization on Intel and AMD D and F sizes, not on Arm or B-seriesRoot and Docker; nested VMs are mentioned in the live migration docs but not listed as a featureDocker, root, systemd and /dev/kvm on every machine, documented
StoppingA deallocated VM stops compute billing, but disks and static IPs keep billing; a shutdown from inside the OS keeps billingA powered-off Droplet is billed in full; you destroy it to stop payingA stopped sandbox costs nothing and keeps its disk
SnapshotsOn-demand disk snapshots; scheduled ones need Azure Backup, a separate paid serviceOn-demand disk snapshots, billed by size; paid scheduled backups from every 4 hours to weeklyAutomatic snapshots every minute and on stop
Pause with memoryHibernation saves memory on supported sizes up to 64 GB of RAM; you trigger it by APINone; recreating from a snapshot restores the disk onlyResume reboots from disk (no memory snapshots)
Fork and cloneCapture an image or disk snapshot, then boot new VMs cold; image capture needs the VM stoppedTake a live snapshot, then create new Droplets from it (disk, no memory)Fork a running sandbox in one call (disk, no memory)
Reaching the machinePublic IPv4 and any port through security group rules; HTTPS is yours to run, or you add a gatewayPublic IPv4 and IPv6 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 rulesSecurity group rules by IP, and domain allowlists with the paid Azure FirewallFree cloud firewalls with outbound rules by IP range, Droplet or tagOpen internet on every plan; no provider-side allowlist
Desktop and computer useNone built in; you install your own VNC or RDP serverHeadless Linux; you install a desktop and VNC yourself60fps desktop and Chromium, computer use and browser control, embeddable stream
Coding agents and keysNo agents built in; Key Vault fetches secrets into the VM, where code inside can read themNo agents on Droplets (Harness Runtime is a separate product); you put secrets on the server yourselfClaude Code, Codex, OpenCode and more preinstalled with a prompt, steer and events API; AI credentials proxy for any HTTPS API
GPUsGPU families such as NC with Nvidia H100 and A100Nvidia and AMD GPU Droplets, on demand, reserved or spotNone
Regions77 regions worldwide, available or coming soon13 regions in the US, Canada, Europe, Asia and AustraliaEU only: Germany, Finland, France
Every feature Battleships tracks (43)
FeatureAzure Virtual MachinesDigitalOceanboat
Full VM (own kernel)YesYesYes
Docker insideYesYesYes
Nested virtualizationYesYesYes
RootYesYesYes
SystemdYesYesYes
Desktop GUINoNoYes
BrowserNoNoYes
Computer-use APINoNoYes
SSHYesYesYes
Persistent diskYesYesYes
Pause/resumeYesNoYes
Automatic snapshotsNoNoYes
Fork/cloneYesYesYes
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 serverYesYesNo
GPUYesYesNo
WindowsYesNoNo
Arm64YesNoNo
Self-hostingNoNoNo
BYOCNoNoNo
Open sourceNoNoNo
Scoped API keysNot publishedNot publishedYes
Spend limitsNoNoYes
Usage per sandbox (API)YesYesYes
Audit logsYesNot publishedNo
SSOYesYesNo
SOC 2YesYesNo
HIPAAYesYesNo
EU data residencyYesYesYes
Zero data retentionNot publishedNot publishedYes

Performance

Azure Virtual MachinesNot measured
DigitalOceanNot measured
boat26.69 runs/s

There is no comparable measurement for Azure Virtual Machines or DigitalOcean: neither was in the public StarSling benchmark run. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in that run of 2026-09-29. On both clouds, speed depends on the plan: Azure has many CPU families and burstable sizes, and DigitalOcean's Basic plans share hyper-threads with other Droplets.

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 DigitalOcean 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.

ScenarioAzure Virtual Machines, a monthDigitalOcean, 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
$26 · Pay-as-you-go subscription (no plan fee)$13 · Pay as you go$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 · Pay as you go$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)$629 · Pay as you go · 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
$225 · Pay-as-you-go subscription (no plan fee)$179 · Pay as you go · 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
$483 · Pay-as-you-go subscription (no plan fee) · with limits$357 · Pay as you go · 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 and egress are billed on top, and disks keep billing while the VM is deallocated. The cheapest machine that never stops needs a 3-year reservation, billed whether it runs or not.

DigitalOcean: Each Droplet size has a fixed hourly price, billed per second with a 60 second minimum and capped at 672 hours a month. Billing runs from create to destroy, including while powered off, and snapshots and backups cost extra.

DigitalOcean: 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 DigitalOcean team is on Tier 1: 3 Droplets at once, Basic shared plans only, so 50 agents in parallel and sandboxes for your users do not fit until you reach a higher tier. Azure fits both, within vCPU quotas per region and per family that start low and rise by request. Azure's $48 a month for one agent that never stops needs a 3-year commitment, while DigitalOcean's $48 is month to month. For 1,000 short jobs at once nothing fits: Azure's burstable VMs throttle above 30% of each vCPU, DigitalOcean caps at 3 Droplets, and boat queues starts above its per-minute and per-day limits.

ScenarioAzure Virtual MachinesDigitalOceanboat
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
  • Pay as you go: max 3 concurrent
None that bite
Sandboxes for your usersNone that bite
  • Pay as you go: max 3 concurrent
None that bite
1,000 short jobs at once
  • burstable CPU: 30% of each vCPU guaranteed, throttled above that
  • Pay as you go: max 3 concurrent
  • shared vCPUs on this tier, per-second with 672 h cap”): 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 Azure Virtual Machines when

you need Windows, Arm, hibernation, Spot pricing or a region in almost any country, or your company already runs on Azure.

  • Windows, Arm and many sizes. Useful if agents need Windows or Arm machines, or a very specific size: Azure rents all of these, DigitalOcean is Linux on x86.
  • Regions almost everywhere. Useful if data must stay in a given country: Azure lists 77 regions worldwide against DigitalOcean's 13.
  • Hibernation, Spot and reservations. Useful if a VM must resume with its memory, or big batches can survive eviction or commit for years to pay less.

Use DigitalOcean when

you want simple Linux servers with one predictable price, free firewalls and GPUs, and you only need a few machines at first.

  • One simple price per Droplet. Useful if you want a bill you can predict: a fixed hourly price, billed per second and capped at 672 hours a month.
  • Free firewalls and a small cloud around it. Useful if a server must sit next to managed databases and Kubernetes, behind free firewalls with outbound rules.
  • Nvidia and AMD GPUs. Useful if agents train or serve models: DigitalOcean rents Nvidia and AMD GPU Droplets, including AMD MI300X and newer cards.

Where boat fits

Azure and DigitalOcean both rent plain servers you build on. 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, forks and coding agents you drive by API. It is a sandbox product, not a cloud, so GPUs, Windows and regions outside the EU stay with Azure or DigitalOcean.

Idle agents stop billing, files stay

A powered-off Droplet bills in full, and a deallocated Azure VM still bills its disks and counts against your vCPU quota. boat saves the disk every minute and on stop, and a stopped sandbox costs nothing.

Fork a running machine in one call

On Azure a copy means stopping the VM, capturing an image and booting new VMs cold. On DigitalOcean you snapshot, then create Droplets one by one, and a new team can only run 3.

Agents, desktop and HTTPS built in

On both clouds you install the agents, a desktop and VNC, then run TLS or a load balancer for every preview link, and keys land inside the machine. boat ships these with a credentials proxy that keeps keys out.

Use boat when the machines are for agents: full VMs with Docker and /dev/kvm, forks of running sandboxes, snapshots every minute, free stops, a desktop, HTTPS URLs and coding agents you drive by API. Compare it one to one: boat vs Azure Virtual Machines and boat vs DigitalOcean.

Questions people ask

Is Azure cheaper than DigitalOcean?

Usually not in our scenarios. One coding agent on workdays is $13 a month on DigitalOcean against $26 on Azure, and one agent that never stops is $48 on both, but Azure needs a 3-year commitment for that price. boat comes to $20 and $26 for the same two.

Which can run 50 agents at once?

Azure fits 50 agents in parallel at $1,168 a month, within your vCPU quota. DigitalOcean would cost $629 but a new team can only run 3 Droplets, so you need a higher tier first. boat fits it at $317 a month.

Which is faster?

Neither Azure nor DigitalOcean has a comparable measurement in the benchmark we use. boat did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB. On both clouds the speed depends on the CPU family or plan you pick.

Can Azure VMs and Droplets run Docker and nested VMs?

Both run Docker with root. Azure documents nested virtualization on Intel and AMD D and F sizes, not on Arm or B-series; DigitalOcean only mentions nested VMs in its live migration docs. boat documents Docker, systemd and /dev/kvm on every machine.

Do I pay for a stopped machine?

On DigitalOcean, yes: a powered-off Droplet is billed in full until you destroy it. On Azure, a deallocated VM stops compute billing but its disks and static IPs keep billing. A stopped boat sandbox costs nothing and keeps its disk.

Which has Windows, GPUs and more regions?

Azure has Windows, Arm and Nvidia GPUs in 77 regions. DigitalOcean is Linux only, with Nvidia and AMD GPU Droplets in 13 regions. boat runs Linux only in the EU, with no GPUs.

Try boat

Install the CLI, then run boat new.

7-day free trial

More comparisons