Simplifique suas implantações de recursos no Azure com o Azure Bicep

A postagem do blog de hoje é sobre infraestrutura básica como princípios de código, sobre a linguagem Azure Bicep e como e quando usá-la para simplificar as implantações de recursos do Azure.

A implantação de recursos no Azure geralmente é rápida e fácil. Podemos fazer isso manualmente por meio do Portal do Azure. A solução para provisionar recurso de forma rápida e automatizada é utilizar a prática da infraestrutura como código.

Infraestrutura como um código

Podemos usá-lo para descrever a infraestrutura de que precisamos na forma de um código e salvá-lo em um sistema de controle de origem. O verdadeiro poder disso é que podemos fazer implantações de infraestruturas inteiras de maneira automatizada, consistente e repetível. Também podemos aplicar as práticas de engenharia de software e DevOps ao nosso código-fonte para garantir que ele seja versionado, testado e funcione à medida que nosso ambiente cresce. Podemos usá-lo para reconstruir a infraestrutura em caso de um desastre ou criar um ambiente de teste idêntico ao de nossa produção.

Podemos escrever esse código em ferramentas IaaC, como modelos ARM, Terraform ou CLI.

Modelos ARM

Os Modelos do Azure Resource Manager são soluções IaaC incorporadas ao Azure. Podemos usá-los para implantar, atualizar, excluir e gerenciar recursos no Azure.

A vantagem de usar modelos ARM sobre CLI do Azure e PowerShell é que os modelos ARM são uma descrição declarativa, onde não precisamos pensar sobre a ação, apenas sobre como definir o que queremos. Os recursos são então implantados na ordem correta com base nas dependências. E se o recurso com a mesma configuração já existir, ele não será alterado ou implantado novamente.

Aqui está o esquema básico dos modelos AR

AQUI você pode encontrar um exemplo de um modelo completo para a criação de uma Máquina Virtual Windows simples no Azure.

Você pode ver que a sintaxe JSON é fácil e repetível, mas pode se tornar muito complexa e longa rapidamente. Descobrir os nomes das propriedades, seus parâmetros e valores é onde os usuários se esforçam ao escrever esses modelos.

Azure Bicep

É aí que o Bicep vem para fortalecer a ARM. O Project Bicep é uma linguagem de domínio específico (DSL) feita pela equipe de modelos ARM e está aqui para simplificar a escrita de modelos ARM. Ele se afasta da sintaxe JSON e é muito mais fácil de ler e escrever.

Embora a maior parte da sintaxe do modelo ARM tenha sido alterada, o Bicep não é uma linguagem inteiramente nova. Ele funciona como uma camada de abstração transparente sobre os modelos ARM. O objetivo não era substituir os modelos ARM, mas fazer uma experiência melhor para o uso de modelos ARM. O que tudo isso significa, você pode perguntar? Significa que temos uma nova linguagem com uma sintaxe mais simples, fácil de ler e escrever e com validação de código. Também podemos converter modelos ARM existentes para Azure Bicep, isso é um tema para um próximo post. 

Os benefícios dessa abordagem em relação à criação de uma linguagem totalmente nova são que o Azure Bicep pode ser usado imediatamente para fazer tudo o que podemos fazer com os modelos ARM e temos a possibilidade de trabalhar com os modelos ARM existentes sem a necessidade de reescrevê-los todos.

Instalar o Azure Bicep no Windows

O script abaixo instala o Bicep no Windows e instala a extensão do Bicep no Visual Studio Code.

01 – Abra o PowerShell como Administrator.

02 – Execute as linhas do script.

# Crie a pasta de instalação
$installPath = “$env:USERPROFILE\.bicep”
$installDir = New-Item -ItemType Directory -Path $installPath -Force
$installDir.Attributes += ‘Hidden’

# Busque o binário Bicep CLI mais recente
(New-Object Net.WebClient).DownloadFile(“https://github.com/Azure/bicep/releases/latest/download/bicep-win-x64.exe”, “$installPath\bicep.exe”)

# Adicione Bicep ao seu PATH
$currentPath = (Get-Item -path “HKCU:\Environment” ).GetValue(‘Path’, ”, ‘DoNotExpandEnvironmentNames’)
if (-not $currentPath.Contains(“%USERPROFILE%\.bicep”)) { setx PATH ($currentPath + “;%USERPROFILE%\.bicep”) }
if (-not $env:path.Contains($installPath)) { $env:path += “;$installPath” }

# Verifique se você agora pode acessar o comando ‘bicep –help’
bicep –help

# Busque a extensão Bicep VSCode mais recente
$vsixPath = “$env:TEMP\vscode-bicep.vsix”
(New-Object Net.WebClient).DownloadFile(“https://github.com/Azure/bicep/releases/latest/download/vscode-bicep.vsix”, $vsixPath)

# Instale a extensão
code –install-extension $vsixPath

O script de instalação está disponível para download em meu GitHub.

 

 

 

 

 

Para maiores informações sobre como instalar o Bicep acesse o link abaixo.

https://docs.microsoft.com/en-us/azure/azure-resource-manager/bicep/install

03 – No vídeo abaixo mostro como instalar o Bicep.

Aguardem os próximos posts sobre Azure Bicep aqui no site.

Comente suas sugestões e observações! 

Forte abraço, obrigado e até o próximo post.

One Reply to “Simplifique suas implantações de recursos no Azure com o Azure Bicep”

Deixe uma resposta

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