O que é o Bicep?
O Bicep é uma linguagem específica de domínio que usa a 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 essa infraestrutura. Os seus recursos são implantados de maneira consistente.
O Bicep fornece sintaxe concisa, segurança de tipo confiável e suporte para reutilizar 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 prévio 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. 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-05-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.
Você também pode criar arquivos Bicep no Visual Studio com a extensão Bicep para Visual Studio.
Resultados reproduzíveis: implante sua infraestrutura em todo seu ciclo de vida de desenvolvimento com a confiança de que seus recursos são implantados de forma 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 vários 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 quando as propriedades especificadas já existirem, as alterações não serão feitas:
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, o que ajuda suas implantações serem concluídas mais rapidamente do que as implantações em série. Você implanta o arquivo através de um comando, em vez de vários comandos imperativos.
Modularidade: use módulos para segmentar seu código Bicep em partes gerenciáveis. Os módulos ajudam a reutilizar o código e simplificar o desenvolvimento. Um módulo implementa um conjunto de recursos relacionados. Adicione um módulo a um arquivo Bicep quando você precisar implantar esses recursos.
Integração com serviços do Azure: o Bicep é integrado aos serviços do Azure, como Azure Policy, especificações de modelo e o Azure Blueprints.
Pré-visualizar alterações: você pode usar a operação what-if para pré-visualizar as alterações antes de implantar o arquivo Bicep. A operação what-if mostra quais recursos criar, atualizar ou excluir e quaisquer propriedades de recurso a serem alteradas. Ela também verifica o estado atual do seu ambiente e elimina a necessidade de gerenciar esse estado.
Nenhum arquivo de estado ou estado para gerenciar: o Azure armazena todo o estado. Você pode colaborar com outras pessoas e ter certeza de que suas atualizações serão tratadas conforme o esperado.
Sem custo e de código aberto: como o Bicep é gratuito, você não precisa pagar por recursos premium. Tem o Suporte da Microsoft.
Introdução
Para começar a usar o Bicep:
- Instale as ferramentas. Para obter mais informações, consulte Configurar ambientes de desenvolvimento e de implantação do Bicep ou usar o repositório de desenvolvimento/codespaces do VS Code para obter um ambiente de criação pré-configurado.
- Conclua o Início Rápido e os Módulos do Learn sobre o Bicep.
Para descompilar um modelo do Resource Manager 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 seu equivalente, JSON, lado a lado.
Para saber mais sobre os recursos disponíveis no arquivo do Bicep, confira Referência de recursos do Bicep.
Você encontra exemplos do Bicep 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 criá-los.
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 Resource Manager. A sintaxe JSON para criar um modelo do Resource Manager 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 em relação a um modelo JSON do Resource Manager que não perde os recursos de um modelo JSON. Durante a implantação, a CLI do Bicep converte um arquivo Bicep em um modelo JSON do Resource Manager.
Tipos de recursos, versões de API e propriedades que são válidos em um modelo do Resource Manager são válidos em um arquivo Bicep.
O Bicep oferece uma sintaxe mais fácil e concisa em comparação com seu equivalente, JSON. 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 um 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.
Obtenha suporte
Estas sã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 o problema brevemente, insira modelo do ARM e selecione Ir.
Em Com qual serviço você está tendo o problema?, selecione Portal em Monitoramento e gerenciamento e selecione Avançar.
Escolha uma assinatura e selecione Avançar.
Selecione Problema com modelos do ARM e selecione Avançar.
Próximas etapas
Para começar, consulte o Início Rápido.
Para obter respostas a perguntas comuns, confira Perguntas frequentes sobre o Bicep.