Azure Virtual Machines vs Contabo
Azure Virtual Machines bills full Hyper-V machines per minute, with hundreds of sizes and quotas you raise by request. Contabo rents a KVM server by the month with shared cores, and you keep it until you cancel.
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.
Contabo
Contabo is a German hosting company, founded in Munich in 2003, that rents VPS, dedicated-core VDS, GPU and dedicated servers by the month.
A Contabo Cloud VPS is a KVM virtual machine with shared vCPU cores, a fixed RAM allocation, a static IPv4 and root access, which you order, pay for and then manage yourself. It is a VPS host, not a sandbox product: there is no per-second billing, no agent tooling and no managed HTTPS in front of the server. It fits people who want one cheap server that runs all month in a region of their choice.
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 | Contabo: price rank | bochka: price rank |
|---|---|---|---|
| Software factory 100 at once · 4 vCPU / 8 GB · 2,200 sessions of 8 h a month A software factory starts and stops many machines a day, which Azure handles per minute and Contabo only by renting each server for a month; bochka does it per second by API. | 83rd of 367, with limits $730 a month | 79th of 367, with limits $660 a month | 3rd cheapest of 367 $634 a month |
| Always-on AI employees 50 machines 24/7 · 2 vCPU / 4 GB Both can keep an assistant running for months; Contabo's flat rent is lower, and bochka adds snapshots every minute, a desktop and an agent API. | 113th of 366, with limits $644 a month | 95th of 366, with limits $330 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 | 159th of 345, with limits $660 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 Azure can start a VM per user and bill it per minute, but you build the sandbox layer yourself; Contabo would need hundreds of servers rented for the month, and bochka gives you the layer through its API. | 63rd of 361, with limits $500 a month | 153rd of 361, with limits $1,980 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 large RL fleets cheap if rollouts survive eviction with 30 seconds of notice; Contabo bills every parallel machine for a full month. | 19th of 360, with limits $1,039 a month | 108th of 360, with limits $6,600 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's per-minute billing fits eval batches well, and bochka fits too; on Contabo each parallel machine is a month of rent. | 3rd cheapest of 364 $173 a month | 177th of 364, with limits $1,650 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 Azure and bochka bill only while runners are up, while a Contabo runner is rented for the month whether it is busy or not. | 35th cheapest of 377 $335 a month | 133rd cheapest of 377 $2,980 a month | 4th cheapest of 377 $86 a month |
| 24/7 dev boxes 1 machine 24/7 · 4 vCPU / 8 GB Contabo is the cheapest fit of all for one box that runs all month, while Azure needs a long reservation to get close; bochka sits between them per second. | 72nd cheapest of 368 $94 a month | Cheapest of 368 $6.6 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 Contabo has a built-in desktop stream, so you install VNC or RDP yourself; bochka ships a 60fps desktop with Chromium. | 100th of 369, with limits $192 a month | 140th of 369, with limits $330 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 | 232nd of 367, with limits $330 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 | 258th of 346, with limits $330 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 | 184th of 338, with limits $6,600 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 | 321st of 360, with limits $1,320 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 it | 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 | Azure Virtual Machines | Contabo | bochka |
|---|---|---|---|
| What you get | A general cloud VM per minute; images, networking and tooling are yours to set up | A monthly-rented VPS or VDS server you set up yourself | An agent sandbox: a full VM per sandbox, created and driven by API |
| Isolation | Full Hyper-V VM with its own kernel | KVM VM; Cloud VPS shares vCPU cores, Cloud VDS has dedicated cores | Full VM with its own kernel on dedicated AMD Ryzen 9 9950X hosts |
| Billing | Per full minute while running; disks and static IPs bill while deallocated | Flat monthly rent, minimum first term of one month; listed prices assume a 24-month term | Monthly plan from $20 that becomes usage credit, spent per second; a stopped sandbox costs nothing |
| Starting a machine | Create by API or CLI within your per-region, per-family vCPU quota | Order and pay, then provisioning takes a few minutes; orders can need identity checks | A new sandbox from the API in seconds |
| Nested virtualization | On Intel and AMD D and F sizes, not on Arm or B-series burstable sizes | Not supported on any VPS plan; supported on Cloud VDS | /dev/kvm on every machine, with Docker, root and systemd ready |
| Saved state | Manual disk snapshots; scheduled ones need Azure Backup, a separate paid service | 1 to 5 manual disk snapshots by plan, kept 30 days, restored in place; none on Cloud VDS | Snapshots every minute and on stop |
| Pause with memory | Hibernation on supported sizes up to 64 GB of RAM, triggered by API | None | Resume reboots from disk (no memory snapshots) |
| Fork and clone | Capture an image or disk snapshot, then boot new VMs cold; image capture needs the VM stopped | No fork; custom images upload as ISO or QCOW2 | Fork a running sandbox in one call; named snapshots as templates |
| Desktop and computer use | None built in; you install your own VNC or RDP server | Headless server; a VNC console for setup and rescue | 60fps desktop and Chromium, computer use and browser control, embeddable stream |
| Coding agents and keys | None built in; Key Vault secrets are fetched into the VM where code can read them | None built in; secrets live inside the server | Claude Code, Codex, OpenCode and more preinstalled with a prompt, steer and events API; AI credentials proxy keeps keys out |
| Reaching the machine | Public IPv4 and any port through security group rules; HTTPS is yours to run | Static public IPv4 and /64 IPv6, all ports; domains and TLS are yours to set up | HTTPS URLs with TLS for up to 50 ports, token-protected; raw TCP; dedicated IP |
| Outbound rules | Security group rules by IP, and domain allowlists with the paid Azure Firewall | Firewall rules by IP and port; no domain allowlist | Open internet on every plan; no provider-side allowlist |
| GPUs, Windows and Arm | GPU families such as NC with Nvidia H100 and A100, Windows guests, Arm Cobalt 100 and Ampere Altra | GPU VPS with an Nvidia RTX PRO 6000 Blackwell; Windows Server as a licensed add-on; no Arm | Linux on x86 only, no GPUs; Wine for Windows apps |
| Regions | 77 regions worldwide, available or coming soon | 11 locations: EU, UK, three US sites, Singapore, Japan, India, Australia | EU only: Germany, Finland, France, with EU data residency |
Every feature Battleships tracks (43)
| Feature | Azure Virtual Machines | Contabo | bochka |
|---|---|---|---|
| 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 | No | 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 | No | 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 | Yes | No |
| Arm64 | Yes | No | 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 | No | Not published | Yes |
| Usage per sandbox (API) | Yes | No | Yes |
| Audit logs | Yes | Not published | No |
| SSO | Yes | No | No |
| SOC 2 | Yes | No | No |
| HIPAA | Yes | No | No |
| EU data residency | Yes | Yes | Yes |
| Zero data retention | Not published | Not published | Yes |
Performance
Neither Azure Virtual Machines nor Contabo is in the hpc-sandbox-benchmarks run, so there is no comparable CPU measurement for either. bochka did 26.69 Node.js build-and-test runs per second at 4 vCPU / 8 GB in StarSling's run of 2026-09-29. Azure's speed depends on which CPU family you pick, and Contabo's Cloud VPS shares vCPU cores; we don't guess how either would score.
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 Contabo 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 | Contabo, a month | bochka, 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) | $7 · 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 | $7 · 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) | $330 · 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,980 · 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 | $483 · Pay-as-you-go subscription (no plan fee) · with limits | $6,600 · 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 and egress are extra, and disks keep billing while the VM is deallocated. The cheapest always-on price needs a 3-year reservation billed whether the VM runs or not.
Contabo: Contabo charges a flat monthly rent per server, busy or idle, with a one-month minimum and lower rates for longer terms. Each machine you need at the same time is a full month of rent.
Contabo: 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 vCPUs per region and per VM family, stopped VMs still count, and new subscriptions start low until you request more. Its always-on price only works with a 3-year commitment, and its cheap burst figure uses B-series VMs that guarantee 30% of each vCPU. Contabo publishes no limit on how many servers you can run, and 300 user sandboxes or 1,000 short jobs at once mean renting that many servers for a month on shared cores. On bochka the 1,000-job burst is held back by start limits, even on the $2,000 plan.
| Scenario | Azure Virtual Machines | Contabo | bochka |
|---|---|---|---|
| One coding agent, workdays | 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 |
| Sandboxes for your users | None that bite |
| None that bite |
| 1,000 short jobs at once |
|
|
|
Which one should you use?
Use Azure Virtual Machines when
machines come and go during the day, you need GPUs, Windows, Arm or Spot pricing, or your company already runs on Azure.
- Per-minute billing and Spot. Useful if machines run in bursts: Azure bills per minute, and Spot VMs sell spare capacity cheaply with 30 seconds of eviction notice.
- GPUs, Windows and Arm. Useful if agents train models or need Windows or Arm: Azure rents H100 and A100 GPUs, Windows guests and Cobalt 100 sizes.
- Regions and network controls. Useful if data must stay in a given country, or outbound traffic must follow a domain allowlist through Azure Firewall.
Use Contabo when
you want one cheap server that runs all month with a flat bill, a monthly GPU box, or a server near users outside Europe.
- One server that runs all month. Useful for one always-on box: a flat monthly rent buys a 4 vCPU / 8 GB VPS with a static IPv4.
- Simple, flat bills. Useful if you want no meters: Contabo charges one rent per server with unmetered inbound traffic, busy or idle.
- A GPU server by the month. Useful if you need one GPU box all month: Contabo rents an RTX PRO 6000 Blackwell VPS in Europe and US Central.
Where bochka fits
Azure and Contabo both rent plain servers, not agent sandboxes. If what you are really running is agents that start, stop and fork machines all day, bochka gives each one a full VM by API in seconds, already set up with Docker, /dev/kvm, a desktop, HTTPS URLs and coding agents you drive from outside.
State saved every minute, and forks
Agents break installs. Azure has only manual snapshots unless you add paid Azure Backup, and copies boot cold from a captured image; Contabo has 1 manual snapshot slot on Cloud VPS 4 and no fork. bochka saves every minute and forks a running sandbox.
Coding agents and keys handled for you
On both, you install agents, write the code that prompts and watches them over SSH, and the API keys sit inside the machine. bochka preinstalls Claude Code, Codex and OpenCode with an API, and its credentials proxy keeps real keys out.
Desktop, KVM and HTTPS ready
Neither ships a desktop stream or managed HTTPS, so you set up VNC and TLS per image. Contabo VPS has no nested virtualization, and Azure lacks it on Arm and B-series. Every bochka sandbox has a 60fps desktop, /dev/kvm and HTTPS on 50 ports.
Use bochka when agents start, stop and fork machines all day: each sandbox is a full VM from an API in seconds, saved every minute, with Docker, /dev/kvm, a desktop, HTTPS URLs and coding agents you drive from outside. Compare it one to one: bochka vs Azure Virtual Machines and bochka vs Contabo.
Questions people ask
Is Azure cheaper than Contabo?
For machines that run all the time, no: one 4 vCPU / 8 GB agent on workdays is $7 a month on Contabo against $26 on Azure, and one that never stops is $7 against $48 with a 3-year reservation. For work that starts and stops, Azure wins: 300 sandboxes for your users come to $225 on Azure against $1,980 on Contabo. On bochka those are $20, $26 and $200.
Which is faster, Azure or Contabo?
We have no comparable CPU measurement for either; neither is in the benchmark run we use. Azure lets you pick from many CPU families, while Contabo's Cloud VPS shares vCPU cores and only Cloud VDS gives dedicated cores. bochka scored 26.69 runs per second on that benchmark.
Does Contabo have hourly billing like Azure?
No. Contabo rents servers by the month with a minimum first term of one month. Azure bills per full minute while a VM runs, and bochka bills per second, with nothing charged while a sandbox is stopped.
Can Azure VMs and Contabo servers run Docker?
Yes, both give you root, so you install Docker yourself. Nested virtualization is different: Azure supports it on Intel and AMD D and F sizes, Contabo only on Cloud VDS, not on any VPS plan. Every bochka sandbox has Docker and /dev/kvm ready.
Can I run coding agents like Claude Code on them?
Yes on both, by installing them and running them over SSH with your API key on the machine. bochka preinstalls Claude Code, Codex, OpenCode and others, drives them through an API, and keeps real keys out of the sandbox with its credentials proxy.
Where do Azure, Contabo and bochka run?
Azure lists 77 regions worldwide. Contabo has 11 locations in the EU, the UK, the US, Singapore, Japan, India and Australia. bochka runs only in the EU, in Germany, Finland and France, with EU data residency.
Try bochka
Install the CLI, then run bochka new.
Product preview
More comparisons
- bochka vs Azure Virtual Machines
- bochka vs Contabo
- 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 Linode
- Azure Virtual Machines vs Scaleway
- Azure Virtual Machines vs OVHcloud
- Azure Virtual Machines vs IONOS Cloud