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

Precisa construir infraestrutura no Azure? Já deu uma olhada nos modelos ARM e pensou, nossa, parece complexo? Porque muitas pessoas reclamaram da dificuldade de construir modelos ARM, a Microsoft desenvolveu uma camada de abstração chamada Azure Bicep.

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

Vamos começar!

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 de domínio específico que facilita a construção de modelos ARM. Você pode pensar no Bicep como uma camada de abstração sobre os modelos ARM. O ARM usa 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 linguagem nova; pense nela mais como uma melhoria para os modelos ARM em JSON.

Configurando um Ambiente de Desenvolvimento Bicep

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

Instalando a Extensão Bicep para o VS Code

O VS Code é uma ótima ferramenta de desenvolvimento para construir modelos Bicep. Como tal, a Microsoft fornece uma extensão do VS Code para ajudar a 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 às suas funcionalidades 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 do 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 através do Bicep CLI. Antes de tentar instalar o Bicep CLI, verifique primeiro se 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 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 sobre o Bicep CLI não ser encontrado, execute o subcomando install para instalar o Bicep CLI.

az bicep install

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

Bicep installed successfully

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

Criando um Modelo Bicep para Implementar 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 do Azure simples que você pode usar para implantar no Azure usando tanto o Azure CLI 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 o exemplo do Terraform chamando o modelo principal com a extensão .bicep é comum.

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

Primeiro, você verá alguns atributos comuns a todos os modelos Bicep:

  • O identificador de recurso (resource myStorage) – Indica ao Bicep para criar um novo recurso chamado myStorage. Este nome identifica o recurso específico dentro do modelo Bicep. Esse 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 ele aparece no Azure (preste atenção nas regras e restrições para a nomenclatura de recursos do Azure.)
  • location – A região do Azure em que o recurso será criado.

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ê perceberá que pode usar um modelo Bicep exatamente como faria com um modelo ARM.

New-AzResourceGroupDeployment -TemplateFile main.bicep -ResourceGroupName ATA

Se a implantação for bem-sucedida, você verá a seguinte saída na 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 verá dentro desse grupo de recursos um novo armazenamento criado.

Azure Portal

Se você está seguindo 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 concluir este tutorial, vamos agora abordar a implantação do modelo Bicep recentemente criado com o Azure CLI.

Certifique-se de ter o Azure CLI v2.2.0+ instalado e estar logado antes de iniciar esta seção.

Com o PowerShell aberto ou outro terminal, invoque uma implantação da ARM com o comando az deployment group create. Este comando realiza uma implantação da ARM assim como com o PowerShell. Certifique-se de especificar o resource-group para implantar juntamente com o modelo Bicep criado anteriormente através do parâmetro template-file.

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

Se você ver o provisioningState como Succeeded, conforme mostrado abaixo, a 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 próximo passo? Talvez verificar o que o 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/