Alta disponibilidade no Azure não é automática. Você precisa projetar para isso, e as escolhas que faz no momento de criar a VM definem o SLA que vai conseguir.
Avalability Sets, Availability Zones, Scale Sets: cada um resolve um tipo diferente de falha. O AZ-104 testa se você sabe qual usar para cada cenário, e por que colocar duas VMs no mesmo Availability Set não é o mesmo que colocar em zonas diferentes.
Availability Sets
Protege contra falhas de hardware dentro de um datacenter. Distribui VMs em Fault Domains (racks diferentes) e Update Domains (grupos de atualização).
# Criar Availability Set
az vm availability-set create \
--resource-group meu-rg \
--name meu-as \
--platform-fault-domain-count 2 \
--platform-update-domain-count 5
# Criar VM dentro do AS
az vm create \
--resource-group meu-rg \
--name vm-web-01 \
--availability-set meu-as \
--image Win2022Datacenter \
--size Standard_D2s_v3
SLA: 99,95% com 2+ VMs no mesmo Availability Set.
Availability Zones
Protege contra falha de datacenter inteiro. Distribui VMs em datacenters fisicamente separados na mesma região.
az vm create \
--resource-group meu-rg \
--name vm-web-zone1 \
--zone 1 \
--image Ubuntu2204 \
--size Standard_D2s_v3
az vm create \
--resource-group meu-rg \
--name vm-web-zone2 \
--zone 2 \
--image Ubuntu2204 \
--size Standard_D2s_v3
SLA: 99,99% com 2+ VMs em zonas diferentes.
Virtual Machine Scale Sets (VMSS)
VMSS cria e gerencia um grupo de VMs idênticas com auto-scaling:
az vmss create \
--resource-group meu-rg \
--name meu-vmss \
--image Ubuntu2204 \
--vm-sku Standard_D2s_v3 \
--instance-count 2 \
--admin-username azureuser \
--ssh-key-values ~/.ssh/id_rsa.pub \
--zones 1 2 3 \
--upgrade-policy-mode automatic
# Configurar autoscaling
az monitor autoscale create \
--resource-group meu-rg \
--resource meu-vmss \
--resource-type Microsoft.Compute/virtualMachineScaleSets \
--name autoscale-cpu \
--min-count 2 \
--max-count 10 \
--count 2
# Regra: escalar para cima quando CPU > 70%
az monitor autoscale rule create \
--resource-group meu-rg \
--autoscale-name autoscale-cpu \
--condition "Percentage CPU > 70 avg 5m" \
--scale out 2
# Regra: escalar para baixo quando CPU < 30%
az monitor autoscale rule create \
--resource-group meu-rg \
--autoscale-name autoscale-cpu \
--condition "Percentage CPU < 30 avg 5m" \
--scale in 1
Política de upgrade do VMSS
| Modo | Comportamento |
|---|---|
| Automatic | Atualiza instâncias automaticamente |
| Rolling | Atualiza em lotes, mantendo capacidade |
| Manual | Você controla quando atualizar cada instância |
Azure Dedicated Hosts
Para requisitos de isolamento de hardware (compliance, licenciamento):
az vm host group create \
--name meu-host-group \
--resource-group meu-rg \
--location brazilsouth \
--platform-fault-domain-count 2 \
--zone 1
az vm host create \
--name meu-host \
--host-group meu-host-group \
--resource-group meu-rg \
--sku DSv3-Type1
O que cai no exame
- Fault Domains vs Update Domains em Availability Sets
- SLA: 99,95% (AS) vs 99,99% (AZ)
- Que AS e AZ são mutuamente exclusivos
- Modos de upgrade do VMSS (Automatic, Rolling, Manual)
- Quando usar Dedicated Hosts