O que é o Bicep?

O Bicep é uma linguagem específica do domínio que utiliza sintaxe declarativa para implementar 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 sua infraestrutura. Seus recursos são implantados de maneira consistente.

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

Benefícios do Bíceps

O bíceps oferece as seguintes vantagens:

  • Suporte para todos os tipos de recursos e versões de API: o Bicep suporta imediatamente todas as versões de visualização e GA para serviços do Azure. Assim que um provedor de recursos introduzir novos tipos de recursos e versões de API, você poderá usá-los em seu arquivo Bicep. Você não precisa esperar que as ferramentas sejam 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. Bicep não requer conhecimento prévio de linguagens de programação. A sintaxe do bíceps é declarativa e especifica quais recursos e propriedades de recursos você deseja implantar.

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

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

  • Experiência de criação: Quando você usa a extensão Bicep para VS Code para criar seus 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 de arquivo Bicep

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

  • Resultados repetíveis: implante repetidamente sua infraestrutura durante todo o ciclo de vida de desenvolvimento e tenha confiança de que seus recursos serão implantados de maneira 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 representa o estado desejado, em vez de desenvolver muitos arquivos separados para representar atualizações. Por exemplo, o arquivo a seguir cria uma conta de armazenamento. Se você implantar esse modelo e a conta de armazenamento com as propriedades especificadas já existir, nenhuma alteração será feita.

    param location string = resourceGroup().location
    
    resource mystore 'Microsoft.Storage/storageAccounts@2023-04-01' = {
      name: 'mystorageaccount'
      location: location
      sku: {
        name: 'Standard_LRS'
      }
      kind: 'StorageV2'
    }
    

  • Orquestração: Você não precisa se preocupar com as complexidades das operações de ordenação. O Resource Manager orquestra a implantação de 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 Bíceps

  • Modularidade: Você pode dividir seu código Bicep em partes gerenciáveis usando módulos. O módulo implanta 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 precisar implantar esses recursos.

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

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

  • Nenhum estado ou arquivos de 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 custos e código aberto: O Bicep é totalmente gratuito. Você não precisa pagar por recursos premium. Também é suportado pelo suporte da Microsoft.

Começar agora

Para começar a utilizar o Bicep:

  1. Instale as ferramentas. Veja Configurar ambientes de desenvolvimento e de implementação do Bicep. Ou, você pode usar o repositório VS Code Devcontainer/Codespaces para obter um ambiente de criação pré-configurado.
  2. Conclua os módulos de início rápido e Aprenda para Bicep.

Para descompilar um modelo do ARM existente em Bicep, veja Descompilar um modelo do ARM JSON em Bicep. Você pode usar o Bicep Playground para visualizar o Bicep e o JSON equivalente lado a lado.

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

Exemplos de bíceps podem ser encontrados no repositório Bicep GitHub

Sobre a língua

O Bicep não se destina a ser uma linguagem de programação geral para escrever aplicações. Um arquivo Bicep declara recursos do Azure e propriedades de recursos, sem escrever uma sequência de comandos de programação para criar recursos.

Para acompanhar o status do trabalho do Bicep, consulte o repositório do projeto Bicep.

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

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

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

O bíceps oferece uma sintaxe mais fácil e concisa quando comparado ao JSON equivalente. Você não usa expressões [...]entre colchetes. Em vez disso, você chama funções diretamente e obtém valores de parâmetros e variáveis. Você dá a cada recurso implantado um nome simbólico, o que facilita a referência a esse recurso em seu modelo.

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

O Bicep gerencia automaticamente as dependências entre recursos. Você pode evitar a configuração dependsOn quando o nome simbólico de um recurso é usado em outra declaração de 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 lugar do arquivo. Em JSON, você precisa declarar todos os parâmetros, variáveis e saídas dentro das seções correspondentes do modelo.

Obter suporte

Aqui estão as etapas para abrir um tíquete de suporte para problemas relacionados ao modelo do Azure Resource Manager (ARM):

  1. Abra o portal do Azure.

  2. Selecione o ícone Suporte + Solução de problemas no canto superior direito.

  3. Em Descreva brevemente o problema, insira o modelo ARM e selecione Ir.

  4. Em Qual serviço você está tendo um problema?, selecione Portal em Monitoramento & Gerenciamento e, em seguida, selecione Avançar.

  5. Selecione uma subscrição e, em seguida, selecione Seguinte.

  6. Selecione Problema com modelos ARM e, em seguida, selecione Avançar.

    Captura de tela da solicitação de suporte a modelos ARM.

Próximos passos

Comece a usar o Guia de início rápido.

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