Microsoft Docs

Documentation for Azure, Microsoft 365, and more.

Azure Virtual Machines Overview

Discover the flexibility and power of Azure Virtual Machines for your diverse workload needs.

What are Azure Virtual Machines?

Azure Virtual Machines (VMs) are on-demand, scalable computing resources that you can access immediately. They provide the same compute capabilities as a physical computer, but with the added benefits of flexibility, scalability, and manageability that come with cloud computing.

VMs are ideal for:

  • Running applications that can't be moved to the cloud without modification.
  • Developing and testing applications in a flexible environment.
  • Extending your datacenter to the cloud.
  • Running high-performance computing (HPC) workloads.

Key Features and Benefits

Azure VMs offer a robust set of features:

  • Scalability: Easily scale up or down your compute resources as needed.
  • High Availability: Leverage Azure's resilient infrastructure for your applications.
  • Cost-Effectiveness: Pay only for what you use with flexible pricing models.
  • Security: Benefit from Azure's comprehensive security measures.
  • Variety of OS: Deploy Windows Server, Linux distributions, and more.

Learn more about the benefits of using Azure VMs.

Getting Started

Deploying your first VM is straightforward. You can choose from:

  • Azure Portal: A user-friendly web interface for managing resources.
  • Azure CLI: A powerful command-line tool for automation.
  • Azure PowerShell: For Windows-centric scripting and automation.
  • ARM Templates/Bicep: For infrastructure-as-code deployments.

See our quickstart guide to create your first Linux VM or create your first Windows VM.

VM Sizes and Configurations

Azure offers a wide range of VM sizes optimized for different workloads, from general-purpose to memory-intensive and compute-intensive. Each series offers specific CPU, memory, storage, and networking capabilities.

  • General Purpose: Balanced CPU-to-memory ratio.
  • Compute Optimized: High CPU performance.
  • Memory Optimized: High memory-to-CPU ratio.
  • Storage Optimized: High disk throughput and IOPS.
  • GPU Optimized: For graphics and visualization workloads.

Explore available VM sizes and performance tiers.

Managing your VMs

Once deployed, you can manage your VMs through various tools:

  • Monitoring: Track performance and health with Azure Monitor.
  • Networking: Configure virtual networks, load balancers, and firewalls.
  • Storage: Attach and manage disks (managed disks, unmanaged disks).
  • Backups: Protect your data with Azure Backup.
  • Updates: Keep your operating systems and applications patched.

Read about best practices for VM management.

Example Deployment (Azure CLI)

Here's a basic example of how to create a Linux VM using the Azure CLI:


az vm create \
  --resource-group MyResourceGroup \
  --name MyVM \
  --image UbuntuLTS \
  --admin-username azureuser \
  --generate-ssh-keys
                        

This command creates a resource group, a VM named 'MyVM' using the UbuntuLTS image, and configures SSH access for 'azureuser'.