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.
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.
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.
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:
- 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.
- 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):
Abra o portal do Azure.
Selecione o ícone Suporte + Solução de problemas no canto superior direito.
Em Descreva brevemente o problema, insira o modelo ARM e selecione Ir.
Em Qual serviço você está tendo um problema?, selecione Portal em Monitoramento & Gerenciamento e, em seguida, selecione Avançar.
Selecione uma subscrição e, em seguida, selecione Seguinte.
Selecione Problema com modelos ARM e, em seguida, selecione Avançar.
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.