Pular para o conteúdo principal

Desafio 22: Azure Arc e Templates ARM

Tempo Estimado

20-30 min | Custo: Gratuito | Domínio: Management & Governance (30-35%)

Habilidades do exame cobertas

  • Descrever o propósito do Azure Arc
  • Descrever o Azure Resource Manager (ARM) e ARM templates (incluindo Bicep)

Visão Geral

Azure Resource Manager (ARM) é a camada de gerenciamento que lida com todas as requisições ao Azure. Seja usando o Portal, CLI, PowerShell ou REST API — tudo passa pelo ARM. ARM templates permitem definir infraestrutura como código (JSON ou Bicep). Azure Arc estende o gerenciamento do Azure para recursos executando fora do Azure (on-premises, outras nuvens).

Explorar

Tarefa 1: Entender o Azure Resource Manager

ARM é o serviço de implantação e gerenciamento do Azure:

Azure Portal ──┐
Azure CLI ──┼──→ Azure Resource Manager ──→ Azure Services
PowerShell ──┤ (ARM)
REST API ──┘

Recursos principais do ARM:

  • Todas as requisições de gerenciamento passam pela mesma camada de API
  • Resultados consistentes independente da ferramenta usada
  • Controle de acesso (RBAC), tags e locks são aplicados na camada ARM
  • Recursos são implantados de forma declarativa (descreva o estado desejado)

Tarefa 2: Entender ARM templates

ARM templates definem infraestrutura como código em JSON:

{
"$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"resources": [
{
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2023-01-01",
"name": "mystorageaccount",
"location": "eastus",
"sku": { "name": "Standard_LRS" },
"kind": "StorageV2"
}
]
}

Benefícios dos ARM templates:

  • Declarativo: Descreva O QUE você quer, não COMO criar
  • Repetível: Implante o mesmo ambiente consistentemente
  • Idempotent: Implante novamente sem duplicar recursos
  • Versionado: Armazene templates no Git
  • Modular: Componha templates a partir de peças menores

Tarefa 3: Entender Bicep

Bicep é uma linguagem mais simples que compila para ARM JSON:

resource storage 'Microsoft.Storage/storageAccounts@2023-01-01' = {
name: 'mystorageaccount'
location: 'eastus'
sku: { name: 'Standard_LRS' }
kind: 'StorageV2'
}

Bicep vs ARM JSON:

AspectoARM JSONBicep
SintaxeJSON verbosoDSL concisa
LegibilidadeMais difícilMais fácil
FerramentasBoasExcelentes (extensão VS Code)
SaídaFormato nativoCompila para ARM JSON

Tarefa 4: Entender o Azure Arc

Azure Arc estende o gerenciamento do Azure para recursos FORA do Azure:

Recurso Arc-enabledO que faz
Arc-enabled serversGerenciar VMs on-premises ou multi-cloud a partir do Azure
Arc-enabled KubernetesGerenciar clusters K8s em qualquer lugar a partir do Azure
Arc-enabled SQL ServerGerenciar SQL Servers em qualquer lugar a partir do Azure
Arc-enabled data servicesExecutar serviços de dados Azure em qualquer infraestrutura

Por que Azure Arc?

  • Painel único: Gerenciar Azure + não-Azure em um só lugar
  • Aplicar Azure Policy em servidores on-premises
  • Usar Azure Monitor em recursos não-Azure
  • Governança consistente em ambientes híbridos

Tarefa 5: Explorar ARM templates no Cloud Shell

# In Azure Cloud Shell, export a resource group template
# (This shows the ARM template for existing resources)
az group export --name rg-az900-learning 2>/dev/null || echo "Create the RG first (Challenge 08)"

# View what an ARM deployment would create (what-if)
# az deployment group what-if --resource-group myRG --template-file template.json
Alternativa Azure CLI
# Check if Azure Arc is available (browse Arc in portal)
az connectedmachine list 2>/dev/null || echo "No Arc-enabled machines (expected for learning)"

# Validate a Bicep file (if you have one)
# az bicep build --file main.bicep

Conceitos-Chave

ConceitoDescrição
ARMAzure Resource Manager — camada de gerenciamento para todas as operações Azure
ARM templateArquivo JSON definindo infraestrutura Azure declarativamente
BicepLinguagem simplificada que compila para ARM templates
Infrastructure as Code (IaC)Gerenciar infraestrutura através de arquivos versionados
DeclarativeDefinir estado desejado; ARM descobre como alcançá-lo
IdempotentPode implantar múltiplas vezes sem duplicar recursos
Azure ArcEstender gerenciamento Azure para recursos não-Azure

Verificação de Conhecimento

1. O que é o Azure Resource Manager (ARM)?

2. Qual é um benefício principal do uso de ARM templates?

3. Qual é o propósito do Azure Arc?

4. Qual é a relação entre Bicep e ARM templates?

5. O que significa "idempotent" no contexto de implantações de ARM templates?

Saiba Mais