Partilhar via


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.

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.