IaaS · Container-compatible

Azure Virtual Machines

Deploy and manage VMs inside an Azure virtual network with full OS-level control.

When to use it

Choose Virtual Machines when you need full control over the operating system, runtime, and installed software — lift-and-shift migrations of existing servers, applications with custom OS-level dependencies, or workloads that can't be containerized. VMs are also the fallback when a workload doesn't fit the constraints of any managed service.

When not to use it

Avoid VMs when a managed platform can run the workload with less operational burden. If you only need to host a web app, run event-driven code, or operate containers, then App Service, Functions, or Container Apps remove the OS patching, scaling, and security maintenance that VMs require.

Trade-offs at a glance

Hosting model IaaS
Container support Container-compatible
Minimum nodes 1 (2+ for a higher SLA)
State management Stateless or stateful
Web hosting Agnostic
Autoscaling Virtual machine scale sets
Load balancer Azure Load Balancer
Scale limit 1,000 nodes per scale set (platform image); 600 (custom image)
Multiregion Single region only — external router plus multiple VM deployments
Virtual network integration Supported
Hybrid connectivity Supported
GPU support Supported
TLS Set up in the VM
Architecture styles N-tier, big compute (HPC)
Required skills OS administration, networking, security patching
Operational overhead High — full infrastructure management
Best for teams Teams with traditional IT operations experience

Frequently asked questions

Do Azure Virtual Machines support autoscaling?

Not individually — a single VM doesn't autoscale. Use Virtual Machine Scale Sets to add or remove identical instances automatically based on metrics or a schedule.

What is the minimum number of VMs for a production SLA?

A single VM with premium or ultra disks qualifies for an SLA, but two or more VMs across an availability set or availability zones are required for the higher uptime SLA.

Can Virtual Machines run containers?

Yes — a VM can run a container runtime such as Docker, but it provides no orchestration. For managed container hosting, AKS, Container Apps, or Container Instances are purpose-built.

Starting point, not a verdict

This is one candidate from the Azure compute decision guide. The right choice depends on your full requirements — evaluate scaling, cost, and operational fit before committing.

Browse all tools →