Começando com o Azure Bicep (Passo a Passo)

Você precisa construir infraestrutura no Azure? Já deu uma olhada nos modelos ARM e pensou: “Nossa, parece complexo”? Porque muitas pessoas reclamaram da dificuldade em criar modelos ARM, a Microsoft desenvolveu uma camada de abstração chamada Azure Bicep.

Neste tutorial, você aprenderá como começar do zero. Vai descobrir como fazer tudo, desde configurar um ambiente de desenvolvimento até implantar seu primeiro modelo Bicep!

Vamos lá!

Pré-requisitos

Este tutorial será uma demonstração prática. Se quiser acompanhar, certifique-se de ter o seguinte:

  • Windows 10 – A maioria das demonstrações neste tutorial funcionará em outros sistemas operacionais, mas todas as demonstrações usarão o Windows 10.
  • Visual Studio Code – Este tutorial usará a versão 1.60.2.

O que é o Azure Bicep?

Bicep é uma linguagem específica de domínio que facilita a construção de modelos ARM. Você pode pensar em Bicep como uma camada de abstração sobre os modelos ARM. ARM utiliza JSON e pode se tornar complexo, especialmente para implantações grandes.

A Microsoft decidiu criar o Bicep para reduzir as complexidades e melhorar a experiência de desenvolvimento. Não é uma nova linguagem; pense nisso mais como uma melhoria nos modelos ARM em JSON.

Configurando um Ambiente de Desenvolvimento Bicep

Para começar a desenvolver modelos Bicep, é necessário configurar um ambiente que ajudará a obter os melhores resultados. Para fazer isso, você tem algumas ferramentas à sua disposição. Vamos primeiro configurar o ambiente necessário, incluindo a extensão Bicep para o VS Code, a CLI Bicep, e opcionalmente, os módulos Azure PowerShell.

Instalando a Extensão Bicep para o VS Code

O VS Code é uma excelente ferramenta de desenvolvimento para criar modelos Bicep. Como tal, a Microsoft disponibiliza uma extensão do VS Code para facilitar a criação de modelos Bicep. Vamos começar a construir um ambiente de desenvolvimento preparando o VS Code.

Abra o Visual Studio Code e clique no botão Extensões.

Opening extensions

Na barra de pesquisa, digite “bicep”. Você deverá ver uma única extensão Bicep aparecer. Quando isso acontecer, clique em Instalar. Após alguns momentos, o VS Code instalará a extensão Bicep.

Search and install bicep extension

Mesmo que a próxima seção forneça o modelo Bicep para copiar/colar, você certamente terá momentos em que precisará criar modelos Bicep do zero. A extensão Bicep no VS Code é especialmente útil aqui, principalmente devido aos seus recursos de Intellisense.

Observe que se você abrir um arquivo com a extensão .bicep no VS Code, o VS Code tentará fornecer atalhos para você. Por exemplo, você cria recursos do Azure com a palavra-chave resource em um modelo Bicep. Com a extensão Bicep instalada, o VS Code entende isso.

Typing the resource command

Selecionar uma das opções de menu fornecidas cria automaticamente um modelo para preencher, em vez de ter que lembrar a sintaxe exata toda vez.

Blank bicep template

O ponto (.) é outro atalho útil ao criar modelos Bicep. Ao digitar isso na seção properties, por exemplo, você verá todas as propriedades disponíveis para uma conta de armazenamento.

Properties available for a storage account

Instalando o Bicep CLI

Uma vez criado, você deve invocar os modelos Bicep por meio do Bicep CLI. Antes de tentar instalar o Bicep CLI, verifique primeiro se ele já está instalado. Dependendo da versão do Azure CLI que você tem instalada, você pode já ter o Bicep CLI. Para verificar, abra um console do PowerShell ou terminal e verifique a versão do Bicep CLI.

	az bicep version

Se você tiver o Bicep CLI instalado, verá uma declaração de versão, como mostrado abaixo.

Bicep CLI version

Se você receber uma mensagem de erro informando que o Bicep CLI não foi encontrado, execute o subcomando install para instalar o Bicep CLI.

az bicep install

Agora você verá a saída como abaixo. Isso confirma que o Bicep CLI foi instalado com sucesso e está pronto para uso.

Bicep installed successfully

Como método de instalação alternativo, você também pode instalar o Bicep CLI através do Instalador do Bicep para Windows.

Criando um Modelo Bicep para Implantar uma Conta de Armazenamento

Você pode implantar alguns recursos complexos do Azure com o Bicep, mas vamos começar devagar. Para o seu primeiro modelo Bicep, vamos criar uma conta de armazenamento simples no Azure, que você pode usar para implantar no Azure usando tanto a CLI do Azure quanto o PowerShell na próxima seção.

1. Abra o VS Code e crie um novo arquivo chamado main.bicep. Você não precisa nomear o arquivo exatamente como mostrado aqui, mas seguir a liderança do Terraform chamando o modelo de main com a extensão .bicep é comum.

2. Copie e cole o código abaixo do modelo Bicep no arquivo e salve-o. Este modelo contém vários atributos que compõem um modelo Bicep.

Você verá primeiro alguns atributos comuns a todos os modelos Bicep:

  • O identificador de recurso (resource myStorage) – Informa ao Bicep para criar um novo recurso chamado myStorage. Este nome identifica o recurso específico dentro do modelo Bicep. Este nome não é o nome do recurso criado no Azure.
  • Microsoft.Storage/storageAccounts@2019-06-01 – Define um tipo composto pelo provedor de recursos Microsoft.Storage, o tipo de recurso (storageAccounts) e a versão da API (2019-06-01) a ser usada.
  • name O nome do recurso como aparece no Azure (preste atenção nas regras e restrições para nomear recursos do Azure.)
  • location – A região do Azure para criar o recurso.

Você também verá alguns atributos específicos para o tipo de recurso storageAccounts:

  • SKU – O SKU da conta de armazenamento (Standard_LRS) conforme definido na propriedade name.
  • kind – O tipo de conta de armazenamento (StorageV2).
  • properties Várias propriedades específicas do recurso que não têm sua própria seção, como accessTier neste exemplo. Essas propriedades são as mesmas que você encontrará em modelos ARM.
resource myStorage 'Microsoft.Storage/storageAccounts@2019-06-01' = {
  name: 'ata2021bicepdiskstorage'
  location: 'uksouth'
  SKU: {
    name: 'Standard_LRS'
  }
  kind: 'StorageV2'
  properties: {
    accessTier: 'Hot'
        
  }
}

Implantando um Modelo Bicep com o PowerShell

Como mencionado anteriormente, você pode implantar modelos Bicep de duas maneiras: via Azure CLI e módulo Azure PowerShell. Vamos primeiro implantar um modelo Bicep com o PowerShell.

Certifique-se de ter o módulo Azure PowerShell instalado e estar autenticado no Azure antes de iniciar esta seção.

Implantar recursos do Azure com modelos Bicep é idêntico a implantar modelos ARM. A Microsoft basicamente adicionou suporte para a linguagem Bicep a muitos dos cmdlets ARM existentes do PowerShell, como New-AzResourceGroupDeployment.

Na sua console do PowerShell, invoque uma nova implantação de grupo de recursos via cmdlet New-AzResourceGroupDeployment fornecendo o caminho do modelo Bicep e o ResourceGroupName para implantar. Você notará que pode usar um modelo Bicep exatamente como poderia um modelo ARM.

New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName ATA

Se a implantação for bem-sucedida, você verá a seguinte saída em sua sessão do PowerShell com a propriedade ProvisioningState mostrando como bem-sucedida. É isso!

Deploying resource with Bicep

Para verificar se o recurso foi criado com sucesso, faça login no Portal do Azure, navegue até o seu grupo de recursos e você verá dentro desse grupo de recursos uma conta de armazenamento recém-criada.

Azure Portal

Se você está acompanhando e criou a conta de armazenamento como uma demonstração, não se esqueça de removê-la! Observe que o ResourceName coincide com o name fornecido no modelo Bicep.

Remove-AzResource -ResourceName ata2021bicepdiskstorage -ResourceGroupName ATA -ResourceType "Microsoft.Storage/storageAccounts"

Agora você verá a seguinte saída.

Removing an Azure storage account

Implantando um Modelo Bicep com o Azure CLI

Para complementar este tutorial, vamos agora abordar a implantação do seu modelo Bicep recentemente criado com o Azure CLI.

Verifique se você tem o Azure CLI v2.2.0+ instalado e logado antes de começar esta seção.

Com seu PowerShell ou outro terminal aberto, invoque uma implantação ARM com o comando az deployment group create. Este comando realiza uma implantação ARM assim como no PowerShell. Certifique-se de especificar o grupo-de-recursos para implantar juntamente com o modelo Bicep criado anteriormente via parâmetro template-file.

az deployment group create --resource-group ATA --template-file main.bicep

Se você ver o estado de provisionamento como Succeeded, conforme mostrado abaixo, o ARM leu o modelo Bicep e executou todas as instruções dentro dele!

provisioningState as Succeeded
Output in JSON from az deployment command

Não se esqueça de limpar o recurso com az resource delete -g ATA -n ata2021bicepdiskstorage --resource-type "Microsoft.Storage/storageAccounts"

Conclusão

Agora você criou um ambiente de desenvolvimento para o Azure Bicep e criou um recurso no Azure, qual é o seu próximo passo? Talvez dar uma olhada no que a Microsoft Learn oferece sobre o Bicep?

Talvez uma demonstração para seus colegas sobre como o Bicep pode ajudar sua organização?

Source:
https://adamtheautomator.com/azure-bicep/