# VM Deployment Quick Reference

## Overview

The Besu network can be deployed on Azure Virtual Machines (VMs) or Virtual Machine Scale Sets (VMSS) with Docker Engine, as an alternative to AKS deployment.

## Quick Start

### 1. Enable VM Deployment

```bash
# Set VM deployment enabled in terraform.tfvars
vm_deployment_enabled = true
```

### 2. Configure Variables

```bash
# Copy example file
cp terraform/terraform.tfvars.vm.example terraform/terraform.tfvars.vm

# Edit with your values
nano terraform/terraform.tfvars.vm
```

### 3. Deploy

```bash
cd terraform
terraform init
terraform plan -var-file=terraform.tfvars.vm
terraform apply -var-file=terraform.tfvars.vm
```

## Features

- ✅ Individual VMs or VM Scale Sets
- ✅ Multi-region deployment
- ✅ Automatic Docker installation
- ✅ Automatic Besu configuration
- ✅ Cloud-init setup
- ✅ Managed Identity for Key Vault
- ✅ Boot diagnostics
- ✅ Network security groups

## Node Types

- **Validators**: Private subnets, no public IPs
- **Sentries**: Public IPs, P2P enabled
- **RPC Nodes**: Public IPs, RPC enabled

## Documentation

See [VM Deployment Guide](../deployment/VM_DEPLOYMENT.md) for detailed instructions.

## Comparison

See [Deployment Comparison](../deployment/DEPLOYMENT_COMPARISON.md) for AKS vs VM deployment comparison.
