O que é o Bicep?

O Bicep é uma linguagem específica de domínio (DSL) que usa sintaxe declarativa para implantar recursos do Azure. Em um arquivo Bicep, você define a infraestrutura que deseja implantar no Azure e, em seguida, usa esse arquivo durante todo o ciclo de vida de desenvolvimento para implantar repetidamente a sua infraestrutura. Os seus recursos são implantados de maneira consistente.

O Bicep fornece sintaxe concisa, segurança de tipos confiável e suporte para reutilização de código. O Bicep uma experiência de criação de alto nível para suas soluções de infraestrutura como código no Azure.

Benefícios do Bicep

O Bicep oferece as seguintes vantagens:

  • Suporte para todos os tipos de recursos e versões de API: o Bicep dá suporte imediato a todas as versões de GA e de versão prévia dos serviços do Azure. Assim que um provedor de recursos introduzir novos tipos de recursos e versões de API, será possível usá-los no arquivo Bicep. Não é necessário aguardar as ferramentas serem atualizadas antes de usar os novos serviços.

  • Sintaxe simples: quando comparados ao modelo JSON equivalente, os arquivos Bicep são mais concisos e fáceis de ler. O Bicep não requer nenhum conhecimento anterior das linguagens de programação. A sintaxe Bicep é declarativa e especifica quais recursos e propriedades de recurso você deseja implantar.

    Os exemplos a seguir mostram a diferença entre um arquivo Bicep e o modelo JSON equivalente. Os dois exemplos implantam uma conta de armazenamento.

    param location string = resourceGroup().location
    param storageAccountName string = 'toylaunch${uniqueString(resourceGroup().id)}'
    
    resource storageAccount 'Microsoft.Storage/storageAccounts@2021-06-01' = {
      name: storageAccountName
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
      properties: {
        accessTier: 'Hot'
      }
    }
    

  • Experiência de criação: ao usar a Extensão Bicep para VS Code para criar os arquivos Bicep, você obtém uma experiência de criação de primeira classe. O editor fornece segurança de tipo avançada, IntelliSense e validação de sintaxe.

    Exemplo de criação do arquivo Bicep

    Você também pode criar arquivos Bicep no Visual Studio com a extensão Bicep para Visual Studio.

  • Resultados repetidos: Implante repetidamente sua infraestrutura em todo seu ciclo de vida de desenvolvimento e com a confiança de que seus recursos são implantados em um estado consistente. Os arquivos Bicep são idempotentes, o que significa que você pode implantar o mesmo arquivo muitas vezes e obter os mesmos tipos de recursos no mesmo estado. Você pode desenvolver um arquivo que represente o estado desejado, em vez de desenvolver vários arquivos separados para representar atualizações.

  • Orquestração: Você não precisa se preocupar com as complexidades das operações de ordenação. O Resource Manager orquestra a implantação dos recursos interdependentes para que eles sejam criados na ordem correta. Quando possível, o Resource Manager implanta recursos em paralelo para que suas implantações sejam concluídas mais rapidamente do que as implantações seriais. Você implanta o arquivo por meio de um comando, em vez de vários comandos imperativos.

    Comparação de implantação do Bicep

  • Modularidade: é possível interromper o código Bicep em partes gerenciáveis usando módulos. O módulo implementa um conjunto de recursos relacionados. Os módulos permitem reutilizar o código e simplificar o desenvolvimento. Adicione o módulo a um arquivo Bicep sempre que for necessário implantar esses recursos.

  • Integração com os serviços do Azure: o Bicep é integrado aos serviços do Azure, como Azure Policy, especificações de modelo e Blueprints.

  • Visualizar alterações: você pode usar a operação de teste de hipóteses para obter uma visualização das alterações antes de implantar o arquivo Bicep. Com o teste de hipóteses, você verá quais recursos serão criados, atualizados ou excluídos, e quaisquer propriedades de recurso que serão alteradas. A operação de teste de hipóteses verifica o estado atual do seu ambiente e elimina a necessidade de gerenciar o estado.

  • Nenhum arquivo de estado ou estado para gerenciar: todo o estado é armazenado no Azure. Os usuários podem colaborar e ter confiança de que suas atualizações são tratadas conforme o esperado.

  • Sem custo e software livre: o Bicep é completamente gratuito. Você não precisa pagar por recursos premium. Também é compatível com o suporte da Microsoft.

Introdução

Para começar a usar o Bicep:

  1. Instale as ferramentas. Confira Configurar ambientes de desenvolvimento e implantação do Bicep. Outra opção é usar o Repositório de Devcontainer/Codespaces do VS Code para obter um ambiente de criação pré-configurado.
  2. Conclua o guia de início rápido e os Módulos do Learn sobre o Bicep.

Para descompilar um modelo do ARM existente para o Bicep, confira Como descompilar o JSON do modelo do ARM para o Bicep. Você pode usar o Playground do Bicep para exibir o Bicep e o JSON equivalente lado a lado.

Para saber mais sobre os recursos disponíveis no arquivo do Bicep, confira Referência de recursos do Bicep

Exemplos de Bicep podem ser encontrados no Repositório do GitHub do Bicep

Sobre a linguagem de programação

O Bicep não tem a finalidade de ser uma linguagem de programação geral para gravar aplicativos. Um arquivo Bicep declara recursos e propriedades de recursos do Azure, sem escrever uma sequência de comandos de programação para criar recursos.

Para acompanhar o status do trabalho do Bicep, confira o Repositório do projeto Bicep.

Para saber mais sobre o Bicep, assista ao vídeo a seguir.

Você pode usar o Bicep em vez do JSON para desenvolver modelos do Azure Resource Manager (modelos do ARM). A sintaxe do JSON para criar um modelo do ARM pode ser detalhada e exigir expressões complicadas. A sintaxe do Bicep reduz essa complexidade e melhora a experiência de desenvolvimento. O Bicep é uma abstração transparente sobre o JSON do modelo do ARM e não perde nenhuma das funcionalidades do modelo JSON. Durante a implantação, a CLI do Bicep converte um arquivo Bicep em um JSON do modelo do ARM.

Tipos de recursos, versões de API e propriedades que são válidos em um modelo do ARM são válidos em um arquivo Bicep.

O Bicep oferece uma sintaxe mais fácil e concisa em comparação com o JSON equivalente. Você não usa expressões entre colchetes [...]. Em vez disso, você chama funções diretamente e recebe valores de parâmetros e variáveis. Você dá a cada recurso implantado um nome simbólico, facilitando a referência a esse recurso em seu modelo.

Para uma comparação completa da sintaxe, confira Comparando JSON e Bicep para modelos.

O Bicep gerencia automaticamente as dependências entre os recursos. Você pode evitar configurar dependsOn quando o nome simbólico de um recurso é usado na declaração de outro recurso.

A estrutura do arquivo Bicep é mais flexível do que o modelo JSON. Você pode declarar parâmetros, variáveis e saídas em qualquer parte do arquivo. Em JSON, você precisa declarar todos os parâmetros, variáveis e saídas dentro das seções correspondentes do modelo.

Próximas etapas

Comece com o Início Rápido.

Para obter respostas a perguntas comuns, confira Perguntas frequentes sobre o Bicep.