O Azure Bicep é uma linguagem de domínio específico (DSL) criada pela Microsoft para facilitar a provisão de recursos no Azure. Ela é uma linguagem declarativa, como o ARM Template (Azure Resource Manager), mas muito mais simples, legível e fácil de escrever. O Bicep compila para ARM templates (JSON), mantendo a mesma segurança e integração com o Azure.
✅ Por que usar o Bicep?
- Mais limpo e legível que ARM templates em JSON
- Suporte nativo do Azure CLI e do Azure PowerShell
- Integração com VS Code (extensão Bicep)
- Permite reaproveitamento de código (módulos)
✅ Instalar o Azure Bicep
az bicep install
✅ Criar o arquivo .bicep do Resource Group
Vamos criar o arquivo abaixo e salvá-lo como rg.bicep
// resource-group.bicep
targetScope = ‘subscription’
param rgName string = ‘rg-bicep’
param rgLocation string = ‘eastus’
resource rg ‘Microsoft.Resources/resourceGroups@2021-04-01’ = {
name: rgName
location: rgLocation
}
✅ Criar o arquivo .bicep do Storage Account
Criar o arquivo abaixo e salvá-lo como StorageAccount.bicep
param storageAccountName string = ‘stoazureexplorer1’
param location string = resourceGroup().location
resource storageAccount ‘Microsoft.Storage/storageAccounts@2022-09-01’ = {
name: storageAccountName
location: location
sku: {
name: ‘Standard_LRS’
}
kind: ‘StorageV2’
properties: {
accessTier: ‘Hot’
}
}
✅ Criar o Resource Group
Vamos criar o resource group a partir do arquivo rg.bicep
Fazer o upload do arquivo para o Azure Cloud Shell

Executar o seguinte comando:
az deployment sub create –location eastus –template-file rg.bicep

✅ Criar o Storage Account
Vamos criar o storage account a partir do arquivo StorageAccount.bicep
Fazer o upload do arquivo para o Azure Cloud Shell

Executar o seguinte comando:
az deployment group create –resource-group rg-bicep –template-file StorageAccount.bicep

✅ Criar uma VM utilizando o Azure Bicep
Faça o Download do código no meu Git Hub
https://github.com/Fabio-Junio/Azure-Bicep—Create-Virtual-Machine
Faça o upload do código no Azure Cloud Shell
Execute esse comando:
az deployment group create –resource-group rg-bicep –template-file vm.bicep –parameters adminUsername=fabio adminPassword=MinhaSenhaSegura123!

✅ Benefícios do Azure Bicep em relação ao ARM Templates
- Sintaxe mais simples e legível: Bicep utiliza uma linguagem declarativa mais concisa e intuitiva, facilitando a escrita e leitura dos scripts, ao contrário dos ARM Templates que utilizam JSON verboso.
- Integração nativa com o Azure: Como é desenvolvido pela Microsoft, o Bicep possui integração direta com o Azure, permitindo acesso imediato a novos recursos e serviços assim que são disponibilizados.
- Melhor suporte a ferramentas de desenvolvimento: O Bicep oferece suporte aprimorado em ferramentas como o Visual Studio Code, incluindo IntelliSense, validação de sintaxe e sugestões de código.
- Modularidade e reutilização de código: Permite a criação de módulos reutilizáveis, facilitando a organização e manutenção do código.
✅ Benefícios do Azure Bicep em relação ao Terraform
- Foco exclusivo no Azure: Bicep é projetado especificamente para o Azure, proporcionando uma experiência mais integrada e otimizada para esse ambiente.
- Sem necessidade de gerenciamento de estado: Diferente do Terraform, que requer o gerenciamento de arquivos de estado, o Bicep utiliza o próprio Azure como fonte de verdade, simplificando o processo de implantação.
- Atualizações imediatas: Por ser mantido pela Microsoft, o Bicep oferece suporte imediato a novos recursos e serviços do Azure, enquanto o Terraform pode apresentar algum atraso na atualização de seus provedores.
- Licença gratuita e open-source: O Bicep é uma ferramenta gratuita e de código aberto, sem restrições de uso, ao contrário do Terraform, que adotou a licença Business Source License (BSL) a partir da versão 1.6.x.
⚖️ Comparativo entre Bicep, ARM Templates e Terraform
Característica | Azure Bicep | ARM Templates | Terraform |
---|---|---|---|
Suporte a múltiplas nuvens | ❌ Somente Azure | ❌ Somente Azure | ✅ Sim |
Sintaxe | ✅ Simples e legível | ❌ Verbosa (JSON) | ✅ Legível (HCL) |
Integração com o Azure | ✅ Nativa e imediata | ✅ Nativa | ✅ Boa, via provedor |
Gerenciamento de estado | ✅ Não requer gerenciamento | ✅ Não requer gerenciamento | ❌ Requer gerenciamento de estado |
Modularidade | ✅ Suporta módulos | ❌ Limitada | ✅ Suporta módulos |
Curva de aprendizado | ✅ Baixa | ❌ Alta | ✅ Média |
Licença | ✅ Gratuita e open-source | ✅ Gratuita | ⚠️ BSL a partir da versão 1.6.x |
🧠 Conclusão
- Azure Bicep: Ideal para equipes que trabalham exclusivamente com o Azure e buscam uma ferramenta integrada, simples e eficiente para gerenciar infraestrutura como código.
- ARM Templates: Apesar de serem a base do Bicep, os ARM Templates são mais complexos e menos legíveis, sendo recomendados apenas para casos específicos que exigem controle detalhado.
- Terraform: Recomendado para organizações que operam em ambientes multi-cloud ou que necessitam de uma ferramenta com amplo suporte a diferentes provedores e serviços