Azure Bicep

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ísticaAzure BicepARM TemplatesTerraform
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

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *